{"title":"Featured Towels","description":"","products":[{"product_id":"everyday-towel-ripple-flekz","title":"Ultimate Towel - Ripple","description":"\u003csection class=\"hf-ripple-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-ripple-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-ripple{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-ripple:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-ripple__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-ripple__hero-main,\n    .hf-ripple__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-ripple__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding:7px 12px;\n      border-radius:999px;\n      background:rgba(255,217,0,0.1);\n      border:1px solid rgba(255,217,0,0.28);\n      color:var(--hf-yellow);\n      font-size:12px;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-ripple__title{\n      margin:0 0 12px;\n      font-size:clamp(2rem, 3vw, 3.2rem);\n      line-height:0.96;\n      letter-spacing:-0.04em;\n      color:var(--hf-yellow);\n      text-transform:uppercase;\n    }\n\n    .hf-ripple__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-ripple__lead{\n      margin:0;\n      font-size:1.05rem;\n      line-height:1.7;\n      color:#fff;\n      max-width:60ch;\n    }\n\n    .hf-ripple__side-label{\n      margin:0 0 14px;\n      font-size:0.78rem;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n      color:var(--hf-muted);\n      font-weight:700;\n    }\n\n    .hf-ripple__side-quote{\n      margin:0 0 18px;\n      font-size:1.35rem;\n      line-height:1.12;\n      font-weight:800;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-ripple__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-ripple__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-ripple__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-ripple__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-ripple__pills{\n      position:relative;\n      z-index:1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin:0 0 20px;\n    }\n\n    .hf-ripple__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding:10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow:0 10px 20px rgba(0,0,0,0.22);\n      white-space:nowrap;\n    }\n\n    .hf-ripple__grid{\n      position:relative;\n      z-index:1;\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:16px;\n      margin-bottom:16px;\n    }\n\n    .hf-ripple__card{\n      background:linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius:var(--hf-radius);\n      padding:20px;\n      box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-ripple__card--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-ripple__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-ripple__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-ripple__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-ripple__feature-list{\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:12px;\n      margin:16px 0 0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-ripple__feature-list li{\n      background:rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-ripple__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-ripple__faq{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n      margin:16px 0;\n    }\n\n    .hf-ripple__faq h3,\n    .hf-ripple__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-ripple__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-ripple__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-ripple__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-ripple__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-ripple__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-ripple__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-ripple__faq-answer{\n      padding:0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-ripple__specs{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-ripple__spec-grid{\n      display:grid;\n      grid-template-columns:repeat(3, minmax(0, 1fr));\n      gap:12px;\n      margin:14px 0 16px;\n    }\n\n    .hf-ripple__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-ripple__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-ripple__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-ripple__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-ripple__spec-meta{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-ripple__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background:rgba(255,255,255,0.025);\n    }\n\n    .hf-ripple__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-ripple__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-ripple-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-ripple-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-ripple-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-ripple-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-ripple-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-ripple-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-ripple-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-ripple-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-ripple-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-ripple{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-ripple__hero,\n      .hf-ripple__grid,\n      .hf-ripple__feature-list,\n      .hf-ripple__spec-grid,\n      .hf-ripple__spec-meta{\n        grid-template-columns:1fr;\n      }\n\n      .hf-ripple__title{\n        font-size:clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-ripple__hero-main,\n      .hf-ripple__hero-side,\n      .hf-ripple__card,\n      .hf-ripple__faq,\n      .hf-ripple__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-ripple-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-ripple-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-ripple-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-ripple-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-ripple-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-ripple\"\u003e\n    \u003cheader class=\"hf-ripple__hero\"\u003e\n      \u003cdiv class=\"hf-ripple__hero-main\"\u003e\n        \u003cp class=\"hf-ripple__kicker\"\u003eRIPPLE BY FLEKZ\u003c\/p\u003e\n        \u003ch2 class=\"hf-ripple__title\"\u003e\n          SMALL WAVES. BIG EFFECT.\n          \u003cspan\u003eQuick-dry. Packable. Quietly loud.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-ripple__lead\"\u003e\n          Ultra-absorbent, fast-drying, sand-resistant, and artist-designed for people who know impact doesn’t always arrive with a bang.\n          \u003cbr\u003e\u003cbr\u003e\n          Some things move outward slowly. A good idea. A better mood. A tiny decision that changes the whole direction of the day. That’s the energy in this one.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-ripple__hero-side\"\u003e\n        \u003cp class=\"hf-ripple__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-ripple__side-quote\"\u003eClean, sharp, and built to do more than just sit there looking pretty.\u003c\/p\u003e\n        \u003cul class=\"hf-ripple__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-ripple__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after beach dips, pool sessions, gym showers, and early-morning resets.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-ripple__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for travel bags, beach totes, backpacks, and everyday life.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-ripple__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of dragging the whole shoreline back with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-ripple__pills\"\u003e\n      \u003cspan\u003eULTRA-ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY TECH\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eTRAVEL-READY\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE WEAVE\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-ripple__grid\"\u003e\n      \u003cdiv class=\"hf-ripple__card hf-ripple__card--full\"\u003e\n        \u003cspan class=\"hf-ripple__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eA performance towel with a little more depth to it.\u003c\/h3\u003e\n        \u003cp\u003e\n          It dries fast, packs small, and does everything you need a towel to do — but the real pull is the feeling behind it. This one doesn’t scream. It lingers.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-ripple__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry \u0026amp; ultra-absorbent\u003c\/strong\u003e\n            Microfiber wicks moisture fast for beach, pool, travel, and post-workout use without turning into a soggy burden.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free shake-out\u003c\/strong\u003e\n            Sand, dirt, and grit shake off instead of tagging along into your car, bag, or sheets.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps prevent funk during long days, multi-stop trips, and repeated use.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Easy to stash in beach bags, backpacks, carry-ons, and gym lockers without hogging all the space.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly microfiber\u003c\/strong\u003e\n            88% recycled plastic spun into soft, durable yarn that performs hard and lasts.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist collaboration with Flekz\u003c\/strong\u003e\n            An exclusive design that feels calm, intentional, and quietly charged with movement.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-ripple__card\"\u003e\n        \u003cspan class=\"hf-ripple__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, smooth, and lighter than it looks.\u003c\/h3\u003e\n        \u003cp\u003e\n          Clean, soft microfiber that dries fast without getting heavy, clingy, or weirdly stiff.\n          \u003cbr\u003e\u003cbr\u003e\n          Good on skin. Good in a bag. Good when the day goes longer than expected.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-ripple__card\"\u003e\n        \u003cspan class=\"hf-ripple__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eRipple.\u003c\/h3\u003e\n        \u003cp\u003e\n          It’s unclear exactly what form of creative voodoo Flekz channels when he works, but this piece had us locked in immediately.\n          \u003cbr\u003e\u003cbr\u003e\n          A ripple is less about the splash and more about the reach — the way something small keeps traveling long after the moment that made it. Do good, feel good energy. Not corny. Just true.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-ripple__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ripple__faq-answer\"\u003e\n          Beach, surf, pool, travel, gym sessions, lake days, and everyday drying — especially if you like your gear to feel considered instead of generic.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ripple__faq-answer\"\u003e\n          Yes. Microfiber dries significantly faster than cotton, which makes it ideal for repeated use, quick turnarounds, and travel days.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ripple__faq-answer\"\u003e\n          Yes. Sand shakes off easily instead of hanging on and following you home.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ripple__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into high-performance microfiber yarn.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ripple__faq-answer\"\u003e\n          The antimicrobial, odor-resistant construction helps keep it fresher between washes, especially if you let it dry fully instead of stuffing it wet into a bag and pretending that was a plan.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-ripple__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-ripple__spec-grid\"\u003e\n        \u003cdiv class=\"hf-ripple__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-ripple__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-ripple__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-ripple__spec-meta\"\u003e\n        \u003cdiv class=\"hf-ripple__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-ripple__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-ripple__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, surf, pool, lakes, travel, gym, camping, and everyday shower.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-ripple-float\" id=\"hfRippleFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-ripple-float__inner\"\u003e\n      \u003cdiv class=\"hf-ripple-float__copy\"\u003e\n        \u003cspan class=\"hf-ripple-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-ripple-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-ripple-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-ripple-float__btn\" id=\"hfRippleScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfRippleFloatBar');\n      var btn = document.getElementById('hfRippleScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46566423134529,"sku":"HF-UT-RPPL_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46566423167297,"sku":"HF-UT-RPPL_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46566423200065,"sku":"HF-UT-RPPL_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/ripple-front-1000-no-background.png?v=1724696908"},{"product_id":"everyday-towel-squint-liam-warr","title":"Ultimate Towel - Squint","description":"\u003csection class=\"hf-squint-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-squint-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-squint{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-squint:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-squint__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-squint__hero-main,\n    .hf-squint__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-squint__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding:7px 12px;\n      border-radius:999px;\n      background:rgba(255,217,0,0.1);\n      border:1px solid rgba(255,217,0,0.28);\n      color:var(--hf-yellow);\n      font-size:12px;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-squint__title{\n      margin:0 0 12px;\n      font-size:clamp(2rem, 3vw, 3.2rem);\n      line-height:0.96;\n      letter-spacing:-0.04em;\n      color:var(--hf-yellow);\n      text-transform:uppercase;\n    }\n\n    .hf-squint__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-squint__lead{\n      margin:0;\n      font-size:1.05rem;\n      line-height:1.7;\n      color:#fff;\n      max-width:60ch;\n    }\n\n    .hf-squint__side-label{\n      margin:0 0 14px;\n      font-size:0.78rem;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n      color:var(--hf-muted);\n      font-weight:700;\n    }\n\n    .hf-squint__side-quote{\n      margin:0 0 18px;\n      font-size:1.35rem;\n      line-height:1.12;\n      font-weight:800;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-squint__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-squint__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-squint__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-squint__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-squint__pills{\n      position:relative;\n      z-index:1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin:0 0 20px;\n    }\n\n    .hf-squint__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding:10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow:0 10px 20px rgba(0,0,0,0.22);\n      white-space:nowrap;\n    }\n\n    .hf-squint__grid{\n      position:relative;\n      z-index:1;\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:16px;\n      margin-bottom:16px;\n    }\n\n    .hf-squint__card{\n      background:linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius:var(--hf-radius);\n      padding:20px;\n      box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-squint__card--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-squint__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-squint__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-squint__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-squint__feature-list{\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:12px;\n      margin:16px 0 0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-squint__feature-list li{\n      background:rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-squint__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-squint__faq{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n      margin:16px 0;\n    }\n\n    .hf-squint__faq h3,\n    .hf-squint__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-squint__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-squint__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-squint__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-squint__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-squint__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-squint__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-squint__faq-answer{\n      padding:0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-squint__specs{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-squint__spec-grid{\n      display:grid;\n      grid-template-columns:repeat(3, minmax(0, 1fr));\n      gap:12px;\n      margin:14px 0 16px;\n    }\n\n    .hf-squint__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-squint__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-squint__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-squint__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-squint__spec-meta{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-squint__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background:rgba(255,255,255,0.025);\n    }\n\n    .hf-squint__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-squint__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-squint-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-squint-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-squint-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-squint-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-squint-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-squint-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-squint-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-squint-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-squint-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-squint{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-squint__hero,\n      .hf-squint__grid,\n      .hf-squint__feature-list,\n      .hf-squint__spec-grid,\n      .hf-squint__spec-meta{\n        grid-template-columns:1fr;\n      }\n\n      .hf-squint__title{\n        font-size:clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-squint__hero-main,\n      .hf-squint__hero-side,\n      .hf-squint__card,\n      .hf-squint__faq,\n      .hf-squint__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-squint-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-squint-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-squint-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-squint-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-squint-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-squint\"\u003e\n    \u003cheader class=\"hf-squint__hero\"\u003e\n      \u003cdiv class=\"hf-squint__hero-main\"\u003e\n        \u003cp class=\"hf-squint__kicker\"\u003eTHE SQUINT DIMENSION TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-squint__title\"\u003e\n          STARE LONG ENOUGH\n          \u003cspan\u003eQuick-dry. Packable. Slightly reality-bending.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-squint__lead\"\u003e\n          Ultra-absorbent, sand-free, and glitched enough to make you question your own eyes.\n          \u003cbr\u003e\u003cbr\u003e\n          Designed for beach days, pool hangs, and accidental portal openings. Function-first microfiber wrapped in playful visual nonsense.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-squint__hero-side\"\u003e\n        \u003cp class=\"hf-squint__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-squint__side-quote\"\u003eBuilt for real-world use with a touch of interdimensional bullshit detection.\u003c\/p\u003e\n        \u003cul class=\"hf-squint__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-squint__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after beach dips, surf checks, pool hangs, and theoretical wormhole travel.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-squint__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for beach bags, backpacks, festival kits, and quantum suitcases.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-squint__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand, dirt, and cosmic residue with a couple of snaps.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-squint__pills\"\u003e\n      \u003cspan\u003eULTRA-ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY TECH\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eTRAVEL-READY\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE WEAVE\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-squint__grid\"\u003e\n      \u003cdiv class=\"hf-squint__card hf-squint__card--full\"\u003e\n        \u003cspan class=\"hf-squint__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eFunction-first microfiber with just enough visual malfunction.\u003c\/h3\u003e\n        \u003cp\u003e\n          It works like a serious performance towel and looks like something slipped sideways in the matrix. Beach, surf, travel, gym, pool, camping, festival mischief, dimension jumps. You know, normal stuff.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-squint__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry \u0026amp; ultra-absorbent\u003c\/strong\u003e\n            Microfiber drinks fast and dries fast, unlike cotton that clings to moisture like it’s emotionally dependent.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free shake-out\u003c\/strong\u003e\n            Sand, dirt, and whatever weird little particles followed you home fall away with a few snaps.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps prevent funk during multi-day adventures, festival runs, and lazy post-swim neglect.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Packs down small for beach bags, backpacks, carry-ons, and any vehicle with questionable organization.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly microfiber\u003c\/strong\u003e\n            88% recycled plastic spun into soft, high-performance yarn that actually earns its keep.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed weirdness\u003c\/strong\u003e\n            Bold linework and optical chaos that looks even better the longer you stare at it.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-squint__card\"\u003e\n        \u003cspan class=\"hf-squint__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, smooth, and not remotely crunchy.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth microfiber with no gritty texture and none of that stiff, sad towel energy.\n          \u003cbr\u003e\u003cbr\u003e\n          Comfortable against skin after ocean, chlorine, hot showers, and low-level cosmic radiation.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-squint__card\"\u003e\n        \u003cspan class=\"hf-squint__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eThe squint towel.\u003c\/h3\u003e\n        \u003cp\u003e\n          It doesn’t care if it’s folded perfectly or hung just right. It’s here to add a dash of chaos in a good way.\n          \u003cbr\u003e\u003cbr\u003e\n          Squint your eyes just right and you might catch a hidden message from another dimension. We are not responsible for what happens after that.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-squint__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-squint__faq-answer\"\u003e\n          Beach, surf, travel, pool hangs, camping, gym showers, lake days, festival mischief, and theoretical dimension exploration.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-squint__faq-answer\"\u003e\n          Yes. Microfiber dries significantly faster than cotton, making it ideal for multi-use days, repeat dips, and travel.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-squint__faq-answer\"\u003e\n          Yes. Sand shakes off easily instead of clinging to loops and following you into the car, tent, or apartment.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-squint__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic, spun into soft yarn, woven into microfiber, and built to last.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-squint__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant build helps it stay fresher between washes—especially if you don’t store it wet in a bag for three days like a maniac.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-squint__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-squint__spec-grid\"\u003e\n        \u003cdiv class=\"hf-squint__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-squint__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-squint__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-squint__spec-meta\"\u003e\n        \u003cdiv class=\"hf-squint__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-squint__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry. Avoid fabric softeners and bleach.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-squint__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, surf, travel, pool, camping, gym, festivals, and interdimensional adventures.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-squint-float\" id=\"hfSquintFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-squint-float__inner\"\u003e\n      \u003cdiv class=\"hf-squint-float__copy\"\u003e\n        \u003cspan class=\"hf-squint-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-squint-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-squint-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-squint-float__btn\" id=\"hfSquintScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfSquintFloatBar');\n      var btn = document.getElementById('hfSquintScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e\n","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46577268818241,"sku":"HF-UT-SQNT_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46577268851009,"sku":"HF-UT-SQNT_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46577268883777,"sku":"HF-UT-SQNT_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Squint-Front-1000-No-Background.png?v=1724703014"},{"product_id":"everyday-towel-surf-kevin-bothua","title":"Ultimate Towel - Surf","description":"\u003csection class=\"hf-calligraphy-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-calligraphy-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-calligraphy{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-calligraphy:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-calligraphy__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-calligraphy__hero-main,\n    .hf-calligraphy__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-calligraphy__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding:7px 12px;\n      border-radius:999px;\n      background:rgba(255,217,0,0.1);\n      border:1px solid rgba(255,217,0,0.28);\n      color:var(--hf-yellow);\n      font-size:12px;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-calligraphy__title{\n      margin:0 0 12px;\n      font-size:clamp(2rem, 3vw, 3.2rem);\n      line-height:0.96;\n      letter-spacing:-0.04em;\n      color:var(--hf-yellow);\n      text-transform:uppercase;\n    }\n\n    .hf-calligraphy__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-calligraphy__lead{\n      margin:0;\n      font-size:1.05rem;\n      line-height:1.7;\n      color:#fff;\n      max-width:60ch;\n    }\n\n    .hf-calligraphy__side-label{\n      margin:0 0 14px;\n      font-size:0.78rem;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n      color:var(--hf-muted);\n      font-weight:700;\n    }\n\n    .hf-calligraphy__side-quote{\n      margin:0 0 18px;\n      font-size:1.35rem;\n      line-height:1.12;\n      font-weight:800;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-calligraphy__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-calligraphy__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-calligraphy__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-calligraphy__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-calligraphy__pills{\n      position:relative;\n      z-index:1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin:0 0 20px;\n    }\n\n    .hf-calligraphy__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding:10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow:0 10px 20px rgba(0,0,0,0.22);\n      white-space:nowrap;\n    }\n\n    .hf-calligraphy__grid{\n      position:relative;\n      z-index:1;\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:16px;\n      margin-bottom:16px;\n    }\n\n    .hf-calligraphy__card{\n      background:linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius:var(--hf-radius);\n      padding:20px;\n      box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-calligraphy__card--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-calligraphy__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-calligraphy__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-calligraphy__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-calligraphy__feature-list{\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:12px;\n      margin:16px 0 0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-calligraphy__feature_list li,\n    .hf-calligraphy__feature-list li{\n      background:rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-calligraphy__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-calligraphy__faq{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n      margin:16px 0;\n    }\n\n    .hf-calligraphy__faq h3,\n    .hf-calligraphy__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-calligraphy__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-calligraphy__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-calligraphy__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-calligraphy__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-calligraphy__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-calligraphy__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-calligraphy__faq-answer{\n      padding:0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-calligraphy__specs{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-calligraphy__spec-grid{\n      display:grid;\n      grid-template-columns:repeat(3, minmax(0, 1fr));\n      gap:12px;\n      margin:14px 0 16px;\n    }\n\n    .hf-calligraphy__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-calligraphy__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-calligraphy__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-calligraphy__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-calligraphy__spec-meta{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-calligraphy__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background:rgba(255,255,255,0.025);\n    }\n\n    .hf-calligraphy__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-calligraphy__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-calligraphy-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-calligraphy-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-calligraphy-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-calligraphy-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-calligraphy-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-calligraphy-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-calligraphy-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-calligraphy-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-calligraphy-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-calligraphy{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-calligraphy__hero,\n      .hf-calligraphy__grid,\n      .hf-calligraphy__feature-list,\n      .hf-calligraphy__spec-grid,\n      .hf-calligraphy__spec-meta{\n        grid-template-columns:1fr;\n      }\n\n      .hf-calligraphy__title{\n        font-size:clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-calligraphy__hero-main,\n      .hf-calligraphy__hero-side,\n      .hf-calligraphy__card,\n      .hf-calligraphy__faq,\n      .hf-calligraphy__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-calligraphy-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-calligraphy-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-calligraphy-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-calligraphy-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-calligraphy-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-calligraphy\"\u003e\n    \u003cheader class=\"hf-calligraphy__hero\"\u003e\n      \u003cdiv class=\"hf-calligraphy__hero-main\"\u003e\n        \u003cp class=\"hf-calligraphy__kicker\"\u003eCALLIGRAPHY COLLAB TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-calligraphy__title\"\u003e\n          BOLD SCRIPT. ZERO FILLER.\n          \u003cspan\u003eQuick-dry. Packable. Works in the right ways.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-calligraphy__lead\"\u003e\n          Bold, graphic, and functional in the best possible way.\n          \u003cbr\u003e\u003cbr\u003e\n          This ultra-absorbent, quick-dry microfiber towel doubles as a functional piece of art—designed to turn heads while it actually does its job.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-calligraphy__hero-side\"\u003e\n        \u003cp class=\"hf-calligraphy__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-calligraphy__side-quote\"\u003eMinimal at first glance. Strangely hypnotic the longer you stare.\u003c\/p\u003e\n        \u003cul class=\"hf-calligraphy__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-calligraphy__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after beach dips, gym showers, lake days, and studio sweat sessions.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-calligraphy__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for beach bags, backpacks, lockers, and carry-ons.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-calligraphy__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of turning your bag into a portable sandbox.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-calligraphy__pills\"\u003e\n      \u003cspan\u003eULTRA-ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY TECH\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eTRAVEL-READY\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE WEAVE\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-calligraphy__grid\"\u003e\n      \u003cdiv class=\"hf-calligraphy__card hf-calligraphy__card--full\"\u003e\n        \u003cspan class=\"hf-calligraphy__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eGraphic simplicity wrapped around real performance.\u003c\/h3\u003e\n        \u003cp\u003e\n          A clean calligraphy collab on the surface, high-performance microfiber underneath. This one looks gallery-adjacent but still earns its keep at the beach, gym, pool, and on the road.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-calligraphy__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry, ultra-absorbent microfiber\u003c\/strong\u003e\n            Soaks up water fast and dries quickly, unlike heavy cotton that stays wet forever.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps resist odor and bacteria so it stays fresher between washes.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact, lightweight \u0026amp; travel-ready\u003c\/strong\u003e\n            Packs down small for beach bags, backpacks, gym lockers, and carry-ons.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free, shake-clean design\u003c\/strong\u003e\n            Sand and grit don’t cling like they do to cotton terry—just shake and move on.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-conscious microfiber\u003c\/strong\u003e\n            88% of the towel is made from recycled plastic spun into a soft polyester yarn.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eExclusive artist collaboration\u003c\/strong\u003e\n            Created with Kevin, a calligraphy wizard, for a graphic look you won’t find in a big-box pile.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-calligraphy__card\"\u003e\n        \u003cspan class=\"hf-calligraphy__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSmooth, soft, and cleaner than it has any right to be.\u003c\/h3\u003e\n        \u003cp\u003e\n          Sleek microfiber with a smooth hand feel that sits comfortably against skin after saltwater, chlorine, or a hot shower.\n          \u003cbr\u003e\u003cbr\u003e\n          Light on your shoulders, not bulky in your bag, and never stuck in damp-towel purgatory.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-calligraphy__card\"\u003e\n        \u003cspan class=\"hf-calligraphy__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eGraphic simplicity with a twist.\u003c\/h3\u003e\n        \u003cp\u003e\n          We teamed up with Kevin, a calligraphy wizard, to build a towel around custom lettering and not-so-normal color choices.\n          \u003cbr\u003e\u003cbr\u003e\n          At first glance it’s simple. The longer you look, the more it reveals—like your brain is half a step behind the design, trying to catch up.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-calligraphy__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-calligraphy__faq-answer\"\u003e\n          Beach days, pool hangs, gym sessions, studio showers, travel, road trips, lake dips, and any situation where you’d happily trade boring gear for something bold and functional.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-calligraphy__faq-answer\"\u003e\n          Yes. The quick-dry microfiber is designed to dry significantly faster than standard cotton towels, making it ideal for repeat use, travel, and small spaces.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-calligraphy__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand and grit don’t cling like they do to cotton terry and shake off easily with a couple of snaps, even when damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-calligraphy__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable, which helps cut down on disposable waste and constant towel replacements.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-calligraphy__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes—especially if you let it dry fully instead of leaving it balled up in a damp bag or on the floor.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-calligraphy__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-calligraphy__spec-grid\"\u003e\n        \u003cdiv class=\"hf-calligraphy__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-calligraphy__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-calligraphy__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-calligraphy__spec-meta\"\u003e\n        \u003cdiv class=\"hf-calligraphy__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-calligraphy__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry. Avoid fabric softeners and bleach to keep the microfiber performing at its best.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-calligraphy__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach days, pool hangs, gym sessions, outdoor showers, travel, road trips, lake days, and anyplace you want your towel to look as good as it works.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-calligraphy-float\" id=\"hfCalligraphyFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-calligraphy-float__inner\"\u003e\n      \u003cdiv class=\"hf-calligraphy-float__copy\"\u003e\n        \u003cspan class=\"hf-calligraphy-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-calligraphy-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-calligraphy-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-calligraphy-float__btn\" id=\"hfCalligraphyScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfCalligraphyFloatBar');\n      var btn = document.getElementById('hfCalligraphyScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46586715898177,"sku":"HF-UT-SURF_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46586715930945,"sku":"HF-UT-SURF_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46586715963713,"sku":"HF-UT-SURF_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Surf-front-1000-no-background.png?v=1724542712"},{"product_id":"everyday-towel-dopamine-menu","title":"Ultimate Towel - Dopamine Menu","description":"\u003csection class=\"hf-dopamine-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-dopamine-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-dopamine{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-dopamine:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-dopamine__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-dopamine__hero-main,\n    .hf-dopamine__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-dopamine__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding:7px 12px;\n      border-radius:999px;\n      background:rgba(255,217,0,0.1);\n      border:1px solid rgba(255,217,0,0.28);\n      color:var(--hf-yellow);\n      font-size:12px;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-dopamine__title{\n      margin:0 0 12px;\n      font-size:clamp(2rem, 3vw, 3.2rem);\n      line-height:0.96;\n      letter-spacing:-0.04em;\n      color:var(--hf-yellow);\n      text-transform:uppercase;\n    }\n\n    .hf-dopamine__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-dopamine__lead{\n      margin:0;\n      font-size:1.05rem;\n      line-height:1.7;\n      color:#fff;\n      max-width:60ch;\n    }\n\n    .hf-dopamine__side-label{\n      margin:0 0 14px;\n      font-size:0.78rem;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n      color:var(--hf-muted);\n      font-weight:700;\n    }\n\n    .hf-dopamine__side-quote{\n      margin:0 0 18px;\n      font-size:1.35rem;\n      line-height:1.12;\n      font-weight:800;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-dopamine__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-dopamine__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-dopamine__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-dopamine__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-dopamine__pills{\n      position:relative;\n      z-index:1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin:0 0 20px;\n    }\n\n    .hf-dopamine__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding:10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow:0 10px 20px rgba(0,0,0,0.22);\n      white-space:nowrap;\n    }\n\n    .hf-dopamine__grid{\n      position:relative;\n      z-index:1;\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:16px;\n      margin-bottom:16px;\n    }\n\n    .hf-dopamine__card{\n      background:linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius:var(--hf-radius);\n      padding:20px;\n      box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-dopamine__card--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-dopamine__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-dopamine__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-dopamine__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-dopamine__feature-list{\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:12px;\n      margin:16px 0 0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-dopamine__feature-list li{\n      background:rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-dopamine__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-dopamine__faq{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n      margin:16px 0;\n    }\n\n    .hf-dopamine__faq h3,\n    .hf-dopamine__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-dopamine__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-dopamine__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-dopamine__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-dopamine__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-dopamine__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-dopamine__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-dopamine__faq-answer{\n      padding:0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-dopamine__specs{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-dopamine__spec-grid{\n      display:grid;\n      grid-template-columns:repeat(3, minmax(0, 1fr));\n      gap:12px;\n      margin:14px 0 16px;\n    }\n\n    .hf-dopamine__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-dopamine__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-dopamine__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-dopamine__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-dopamine__spec-meta{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-dopamine__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background:rgba(255,255,255,0.025);\n    }\n\n    .hf-dopamine__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-dopamine__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-dopamine-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-dopamine-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-dopamine-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-dopamine-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-dopamine-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-dopamine-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-dopamine-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-dopamine-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-dopamine-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-dopamine{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-dopamine__hero,\n      .hf-dopamine__grid,\n      .hf-dopamine__feature-list,\n      .hf-dopamine__spec-grid,\n      .hf-dopamine__spec-meta{\n        grid-template-columns:1fr;\n      }\n\n      .hf-dopamine__title{\n        font-size:clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-dopamine__hero-main,\n      .hf-dopamine__hero-side,\n      .hf-dopamine__card,\n      .hf-dopamine__faq,\n      .hf-dopamine__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-dopamine-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-dopamine-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-dopamine-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-dopamine-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-dopamine-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-dopamine\"\u003e\n    \u003cheader class=\"hf-dopamine__hero\"\u003e\n      \u003cdiv class=\"hf-dopamine__hero-main\"\u003e\n        \u003cp class=\"hf-dopamine__kicker\"\u003eDOPAMINE MENU TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-dopamine__title\"\u003e\n          OFF THE DOPAMINE MENU\n          \u003cspan\u003eQuick-dry. Packable. Zero sugar crash.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-dopamine__lead\"\u003e\n          Ultra-absorbent, quick-dry, sand-resistant, and artist-designed like your favorite guilty-pleasure snack.\n          \u003cbr\u003e\u003cbr\u003e\n          Only this one actually does something useful after the hit wears off.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-dopamine__hero-side\"\u003e\n        \u003cp class=\"hf-dopamine__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-dopamine__side-quote\"\u003eHigh-performance microfiber disguised as a tiny, loud, serotonin-triggering piece of menu-board art.\u003c\/p\u003e\n        \u003cul class=\"hf-dopamine__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-dopamine__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast and stays light for repeat dips, showers, hot tubs, and impulsive lake stops.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-dopamine__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for beach bags, backpacks, festivals, carry-ons, and trunk snacks.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-dopamine__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of bringing the whole mess home with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-dopamine__pills\"\u003e\n      \u003cspan\u003eULTRA-ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY TECH\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eDURABLE\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE WEAVE\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-dopamine__grid\"\u003e\n      \u003cdiv class=\"hf-dopamine__card hf-dopamine__card--full\"\u003e\n        \u003cspan class=\"hf-dopamine__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eThis is not another meh beach towel.\u003c\/h3\u003e\n        \u003cp\u003e\n          It’s a high-performance microfiber towel disguised as a dopamine-triggering piece of snack-bar art. Loud enough to make people laugh. Useful enough to make them want one.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-dopamine__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eUltra-absorbent \u0026amp; quick-dry tech\u003c\/strong\u003e\n            Pulls in water fast and dries way quicker than cotton, so you’re not wrapped in a cold, soggy reminder of your life choices.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps resist odor and bacteria so it doesn’t smell like your gym bag, car trunk, or last-week swimsuit.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free weave\u003c\/strong\u003e\n            Sand and grit shake off easily instead of clinging to every fiber and hitching a ride home.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact, lightweight \u0026amp; durable\u003c\/strong\u003e\n            Packs small for beach bags, backpacks, festivals, road trips, and carry-ons while holding up to real-life use.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly microfiber\u003c\/strong\u003e\n            88% of the towel is made from recycled plastic spun into soft polyester yarn and woven into the microfiber.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed dopamine print\u003c\/strong\u003e\n            A loud, playful graphic that feels like a menu of tiny serotonin hits—minus the sugar crash.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-dopamine__card\"\u003e\n        \u003cspan class=\"hf-dopamine__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, light, and suspiciously practical.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft microfiber that feels good on sun-soaked skin and post-shower shoulders.\n          \u003cbr\u003e\u003cbr\u003e\n          Light on your body, light in your bag, and never heavy with that damp, swampy towel feeling.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-dopamine__card\"\u003e\n        \u003cspan class=\"hf-dopamine__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eThe dopamine menu.\u003c\/h3\u003e\n        \u003cp\u003e\n          WHAT’LL IT BE? Every bite, sip, scroll, and swipe pretending to be self-care while your brain mashes the reward button again.\n          \u003cbr\u003e\u003cbr\u003e\n          This design turns all that tiny-hit chaos into something you can actually use every day. Instant Gratification Combo, hold the shame.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-dopamine__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dopamine__faq-answer\"\u003e\n          Beach days, pool hangs, hot tubs, lake trips, showers, travel, festivals, and any setting where loud art and functional gear are both appreciated.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dopamine__faq-answer\"\u003e\n          Yes. The quick-dry microfiber is designed to dry significantly faster than cotton, making it ideal for repeat dips, daily showers, and on-the-go use.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dopamine__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand and grit don’t cling like they do to cotton terry and shake off easily with a couple of snaps.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dopamine__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. Reusable, washable, and durable means fewer throwaway towels and less waste.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dopamine__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes—especially if you let it dry fully instead of leaving it balled up in a damp bag.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-dopamine__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-dopamine__spec-grid\"\u003e\n        \u003cdiv class=\"hf-dopamine__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-dopamine__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-dopamine__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-dopamine__spec-meta\"\u003e\n        \u003cdiv class=\"hf-dopamine__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-dopamine__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry. Avoid fabric softeners and bleach to keep the microfiber performing at its best.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-dopamine__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach days, pool hangs, lake trips, showers, travel, festivals, road trips, and any moment you want a little extra dopamine.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-dopamine-float\" id=\"hfDopamineFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-dopamine-float__inner\"\u003e\n      \u003cdiv class=\"hf-dopamine-float__copy\"\u003e\n        \u003cspan class=\"hf-dopamine-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-dopamine-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-dopamine-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-dopamine-float__btn\" id=\"hfDopamineScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfDopamineFloatBar');\n      var btn = document.getElementById('hfDopamineScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46749691511105,"sku":"HF-UT-DOPE_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46749691543873,"sku":"HF-UT-DOPE_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46749691576641,"sku":"HF-UT-DOPE_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Dopamine_menu_front_OP_1000.png?v=1724457251"},{"product_id":"everyday-towel-not-your-grandmas","title":"Ultimate Towel - Not Your Grandma's Towel","description":"\u003csection class=\"hf-advisory-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-advisory-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-advisory{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-advisory:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-advisory__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-advisory__hero-main,\n    .hf-advisory__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-advisory__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding:7px 12px;\n      border-radius:999px;\n      background:rgba(255,217,0,0.1);\n      border:1px solid rgba(255,217,0,0.28);\n      color:var(--hf-yellow);\n      font-size:12px;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-advisory__title{\n      margin:0 0 12px;\n      font-size:clamp(2rem, 3vw, 3.2rem);\n      line-height:0.96;\n      letter-spacing:-0.04em;\n      color:var(--hf-yellow);\n      text-transform:uppercase;\n    }\n\n    .hf-advisory__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-advisory__lead{\n      margin:0;\n      font-size:1.05rem;\n      line-height:1.7;\n      color:#fff;\n      max-width:60ch;\n    }\n\n    .hf-advisory__side-label{\n      margin:0 0 14px;\n      font-size:0.78rem;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n      color:var(--hf-muted);\n      font-weight:700;\n    }\n\n    .hf-advisory__side-quote{\n      margin:0 0 18px;\n      font-size:1.35rem;\n      line-height:1.12;\n      font-weight:800;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-advisory__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-advisory__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-advisory__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-advisory__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-advisory__pills{\n      position:relative;\n      z-index:1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin:0 0 20px;\n    }\n\n    .hf-advisory__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding:10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow:0 10px 20px rgba(0,0,0,0.22);\n      white-space:nowrap;\n    }\n\n    .hf-advisory__grid{\n      position:relative;\n      z-index:1;\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:16px;\n      margin-bottom:16px;\n    }\n\n    .hf-advisory__card{\n      background:linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius:var(--hf-radius);\n      padding:20px;\n      box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-advisory__card--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-advisory__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-advisory__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-advisory__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-advisory__feature-list{\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:12px;\n      margin:16px 0 0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-advisory__feature-list li{\n      background:rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-advisory__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-advisory__faq{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n      margin:16px 0;\n    }\n\n    .hf-advisory__faq h3,\n    .hf-advisory__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-advisory__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-advisory__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-advisory__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-advisory__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-advisory__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-advisory__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-advisory__faq-answer{\n      padding:0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-advisory__specs{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-advisory__spec-grid{\n      display:grid;\n      grid-template-columns:repeat(3, minmax(0, 1fr));\n      gap:12px;\n      margin:14px 0 16px;\n    }\n\n    .hf-advisory__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-advisory__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-advisory__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-advisory__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-advisory__spec-meta{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-advisory__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background:rgba(255,255,255,0.025);\n    }\n\n    .hf-advisory__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-advisory__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-advisory-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-advisory-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-advisory-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-advisory-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-advisory-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-advisory-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-advisory-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-advisory-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-advisory-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-advisory{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-advisory__hero,\n      .hf-advisory__grid,\n      .hf-advisory__feature-list,\n      .hf-advisory__spec-grid,\n      .hf-advisory__spec-meta{\n        grid-template-columns:1fr;\n      }\n\n      .hf-advisory__title{\n        font-size:clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-advisory__hero-main,\n      .hf-advisory__hero-side,\n      .hf-advisory__card,\n      .hf-advisory__faq,\n      .hf-advisory__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-advisory-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-advisory-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-advisory-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-advisory-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-advisory-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-advisory\"\u003e\n    \u003cheader class=\"hf-advisory__hero\"\u003e\n      \u003cdiv class=\"hf-advisory__hero-main\"\u003e\n        \u003cp class=\"hf-advisory__kicker\"\u003ePARENTAL ADVISORY TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-advisory__title\"\u003e\n          NOT FOR THE EASILY OFFENDED\n          \u003cspan\u003eQuick-dry. Packable. Loud on purpose.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-advisory__lead\"\u003e\n          Lightweight, ultra-absorbent, sand-resistant, and unapologetically loud.\n          \u003cbr\u003e\u003cbr\u003e\n          Built for beach days, pool sessions, festivals, road trips, and anywhere you’re willing to turn a few heads on purpose.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-advisory__hero-side\"\u003e\n        \u003cp class=\"hf-advisory__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-advisory__side-quote\"\u003eHigh-performance microfiber disguised as bold, slightly offensive, limited-edition art.\u003c\/p\u003e\n        \u003cul class=\"hf-advisory__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-advisory__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast and stays light through repeat dips, long days out, and bad ideas in good weather.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-advisory__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for bags, packs, lockers, and trunk chaos.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-advisory__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of bringing half the beach back with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-advisory__pills\"\u003e\n      \u003cspan\u003eULTRA-ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY TECH\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eDURABLE\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE WEAVE\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-advisory__grid\"\u003e\n      \u003cdiv class=\"hf-advisory__card hf-advisory__card--full\"\u003e\n        \u003cspan class=\"hf-advisory__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eBuilt like a performance towel. Printed like a dare.\u003c\/h3\u003e\n        \u003cp\u003e\n          This is the one that gets the double-take first and the “where’d you get that?” right after. High function, zero beige energy.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-advisory__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eUltra-absorbent \u0026amp; quick-dry microfiber\u003c\/strong\u003e\n            Dries fast and stays light for repeat dips, long days out, and same-day pack-ups.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps resist funk so it smells less like your gym bag after leg day.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free weave\u003c\/strong\u003e\n            Shake it clean and don’t bring half the beach home with you.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact, lightweight \u0026amp; durable\u003c\/strong\u003e\n            Packs down small for bags, packs, lockers, and trunks without falling apart after a season.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly microfiber\u003c\/strong\u003e\n            Made from a recycled microfiber blend that’s built to last, not bail.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed print\u003c\/strong\u003e\n            Guaranteed double-takes. Maybe triple. Depends who’s around.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-advisory__card\"\u003e\n        \u003cspan class=\"hf-advisory__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, light, and fast enough to keep up.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft, fast-drying microfiber with no stiff terry texture.\n          \u003cbr\u003e\u003cbr\u003e\n          Comfortable post-sun, post-swim, post-shower, or post-questionable decision.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-advisory__card\"\u003e\n        \u003cspan class=\"hf-advisory__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eParental advisory energy.\u003c\/h3\u003e\n        \u003cp\u003e\n          In another era this probably came with a warning sticker. Lucky for you, now it just comes with a towel loop and a strong chance of making somebody blush.\n          \u003cbr\u003e\u003cbr\u003e\n          Art should make you feel something. This one might make you laugh, wince, or high-five a stranger.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-advisory__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-advisory__faq-answer\"\u003e\n          Beach days, pool parties, lake trips, festivals, road trips, showers, and anywhere someone might appreciate—or question—your taste in art.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-advisory__faq-answer\"\u003e\n          Yes. Quick-dry microfiber dries faster than cotton and stays lighter between sessions.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-advisory__faq-answer\"\u003e\n          Yes. Shake it out and move on. No gritty surprises in your bag or car.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-advisory__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into polyester yarn and woven into microfiber. Reusable, washable, and durable means less landfill waste and fewer throwaway towels.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-advisory__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant design helps it stay fresher between washes—even when you forget it in the car after the beach.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-advisory__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-advisory__spec-grid\"\u003e\n        \u003cdiv class=\"hf-advisory__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-advisory__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-advisory__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-advisory__spec-meta\"\u003e\n        \u003cdiv class=\"hf-advisory__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-advisory__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry. Avoid fabric softeners and bleach.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-advisory__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, pool, festivals, road trips, showers, lake days, and all social situations with a sense of humor.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-advisory-float\" id=\"hfAdvisoryFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-advisory-float__inner\"\u003e\n      \u003cdiv class=\"hf-advisory-float__copy\"\u003e\n        \u003cspan class=\"hf-advisory-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-advisory-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-advisory-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-advisory-float__btn\" id=\"hfAdvisoryScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfAdvisoryFloatBar');\n      var btn = document.getElementById('hfAdvisoryScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46749701767489,"sku":"HF-UT-NTGMA_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46749701800257,"sku":"HF-UT-NTGMA_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46749701833025,"sku":"HF-UT-NTGMA_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Not-Your-Grandma-1000-no-background.png?v=1724696909"},{"product_id":"everyday-towel-duality-joan-tarrago","title":"Ultimate Towel - Duality","description":"\u003csection class=\"hf-duality-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-duality-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-duality{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-duality:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-duality__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-duality__hero-main,\n    .hf-duality__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-duality__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding:7px 12px;\n      border-radius:999px;\n      background:rgba(255,217,0,0.1);\n      border:1px solid rgba(255,217,0,0.28);\n      color:var(--hf-yellow);\n      font-size:12px;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-duality__title{\n      margin:0 0 12px;\n      font-size:clamp(2rem, 3vw, 3.2rem);\n      line-height:0.96;\n      letter-spacing:-0.04em;\n      color:var(--hf-yellow);\n      text-transform:uppercase;\n    }\n\n    .hf-duality__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-duality__lead{\n      margin:0;\n      font-size:1.05rem;\n      line-height:1.7;\n      color:#fff;\n      max-width:60ch;\n    }\n\n    .hf-duality__side-label{\n      margin:0 0 14px;\n      font-size:0.78rem;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n      color:var(--hf-muted);\n      font-weight:700;\n    }\n\n    .hf-duality__side-quote{\n      margin:0 0 18px;\n      font-size:1.35rem;\n      line-height:1.12;\n      font-weight:800;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-duality__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-duality__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-duality__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-duality__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-duality__pills{\n      position:relative;\n      z-index:1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin:0 0 20px;\n    }\n\n    .hf-duality__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding:10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow:0 10px 20px rgba(0,0,0,0.22);\n      white-space:nowrap;\n    }\n\n    .hf-duality__grid{\n      position:relative;\n      z-index:1;\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:16px;\n      margin-bottom:16px;\n    }\n\n    .hf-duality__card{\n      background:linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius:var(--hf-radius);\n      padding:20px;\n      box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-duality__card--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-duality__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-duality__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-duality__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-duality__feature-list{\n      display:grid;\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n      gap:12px;\n      margin:16px 0 0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-duality__feature-list li{\n      background:rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-duality__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-duality__faq{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n      margin:16px 0;\n    }\n\n    .hf-duality__faq h3,\n    .hf-duality__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-duality__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-duality__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-duality__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-duality__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-duality__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-duality__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-duality__faq-answer{\n      padding:0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-duality__specs{\n      position:relative;\n      z-index:1;\n      background:linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-duality__spec-grid{\n      display:grid;\n      grid-template-columns:repeat(3, minmax(0, 1fr));\n      gap:12px;\n      margin:14px 0 16px;\n    }\n\n    .hf-duality__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background:rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-duality__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-duality__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-duality__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-duality__spec-meta{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-duality__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background:rgba(255,255,255,0.025);\n    }\n\n    .hf-duality__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-duality__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-duality-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-duality-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-duality-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-duality-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-duality-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-duality-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-duality-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-duality-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-duality-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-duality{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-duality__hero,\n      .hf-duality__grid,\n      .hf-duality__feature-list,\n      .hf-duality__spec-grid,\n      .hf-duality__spec-meta{\n        grid-template-columns:1fr;\n      }\n\n      .hf-duality__title{\n        font-size:clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-duality__hero-main,\n      .hf-duality__hero-side,\n      .hf-duality__card,\n      .hf-duality__faq,\n      .hf-duality__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-duality-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-duality-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-duality-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-duality-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-duality-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-duality\"\u003e\n    \u003cheader class=\"hf-duality__hero\"\u003e\n      \u003cdiv class=\"hf-duality__hero-main\"\u003e\n        \u003cp class=\"hf-duality__kicker\"\u003eDUALITY PERFORMANCE TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-duality__title\"\u003e\n          BOTH HALVES OF THE STORY\n          \u003cspan\u003eQuick-dry. Packable. Trying not to be a dick.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-duality__lead\"\u003e\n          Ultra-absorbent, quick-dry, sand-resistant, and artist-designed for people who know we’re all a mix of opposites.\n          \u003cbr\u003e\u003cbr\u003e\n          Good and bad. Calm and chaotic. Pizza with and without pineapple. This towel just happens to be on the side of choosing better.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-duality__hero-side\"\u003e\n        \u003cp class=\"hf-duality__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-duality__side-quote\"\u003eFast-drying. Easy to pack. Built for beach days, bad days, and every version of you in between.\u003c\/p\u003e\n        \u003cul class=\"hf-duality__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-duality__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after beach dips, pool hangs, gym showers, and whatever mood you showed up with.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-duality__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for carry-ons, gym lockers, road trips, and overstuffed life situations.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-duality__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of dragging the whole mess back home with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-duality__pills\"\u003e\n      \u003cspan\u003eULTRA-ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY TECH\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eDURABLE\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE WEAVE\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-duality__grid\"\u003e\n      \u003cdiv class=\"hf-duality__card hf-duality__card--full\"\u003e\n        \u003cspan class=\"hf-duality__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eBuilt for real life and real moods.\u003c\/h3\u003e\n        \u003cp\u003e\n          This one is made for beach days, bad days, road trips, lake dips, gym showers, and all the moments where you’re trying to keep it together and dry off at the same time.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-duality__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eUltra-absorbent \u0026amp; quick-dry tech\u003c\/strong\u003e\n            Microfiber pulls in moisture fast and dries way quicker than traditional cotton, so you’re not stuck in a cold, soggy wrap.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps resist odor and bacteria so your towel doesn’t smell like low tide or a forgotten gym bag.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact, lightweight \u0026amp; durable\u003c\/strong\u003e\n            Packs down small for beach bags, carry-ons, gym lockers, and road trips while holding up to repeat use and wash cycles.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free weave\u003c\/strong\u003e\n            Sand shakes off instead of clinging to every fiber, so the beach stays at the beach.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly microfiber\u003c\/strong\u003e\n            Made with a recycled microfiber blend that’s built to last, not end up in the trash after one season.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed duality print\u003c\/strong\u003e\n            A visual nod to yin and yang, ebb and flow, peaks and valleys, and all the ways we’re two halves of the same mess trying to do a little better.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-duality__card\"\u003e\n        \u003cspan class=\"hf-duality__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft on skin. Light on drama.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft microfiber that feels good on sun-soaked skin and post-shower shoulders.\n          \u003cbr\u003e\u003cbr\u003e\n          No stiff hotel-towel vibe. No heavy drag. Just quick-drying comfort that actually makes you want to use it every day.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-duality__card\"\u003e\n        \u003cspan class=\"hf-duality__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eTwo sides, same human.\u003c\/h3\u003e\n        \u003cp\u003e\n          We’re all basically two parts of a whole: the part that keeps us from being an asshole, and the part that absolutely considers it.\n          \u003cbr\u003e\u003cbr\u003e\n          This design nods to that outward duality — ebb and flow, pleasure and pain, proud moments and the ones we’d rather not explain.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-duality__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-duality__faq-answer\"\u003e\n          Beach days, pool hangs, travel, camping, road trips, gym showers, lake dips, and everyday use at home—especially if you like your gear to have a little personality and a point of view.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-duality__faq-answer\"\u003e\n          Yes. The quick-dry microfiber is designed to dry significantly faster than standard cotton, which makes it great for repeat dips, travel days, and anyone who doesn’t want a towel that stays wet for hours.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-duality__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand and grit don’t cling like they do to cotton terry and shake off easily with a couple of snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-duality__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-duality__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes—especially if you let it dry fully instead of leaving it balled up in a damp bag or on the bathroom floor.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-duality__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-duality__spec-grid\"\u003e\n        \u003cdiv class=\"hf-duality__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-duality__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-duality__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-duality__spec-meta\"\u003e\n        \u003cdiv class=\"hf-duality__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-duality__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry. Avoid fabric softeners and bleach to keep the microfiber performing at its best.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-duality__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, pool, travel, camping, road trips, gym, lake days, everyday showers, and all your dual-personality adventures.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-duality-float\" id=\"hfDualityFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-duality-float__inner\"\u003e\n      \u003cdiv class=\"hf-duality-float__copy\"\u003e\n        \u003cspan class=\"hf-duality-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-duality-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-duality-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-duality-float__btn\" id=\"hfDualityScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfDualityFloatBar');\n      var btn = document.getElementById('hfDualityScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46749718315329,"sku":"HF-UT-DUAL_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46749718348097,"sku":"HF-UT-DUAL_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46749718380865,"sku":"HF-UT-DUAL_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Towel-Duality-front-1000-no-background.png?v=1727557546"},{"product_id":"everyday-towel-dancing-tiger","title":"Ultimate Towel - Dancing Tiger","description":"\u003csection class=\"hf-tiger-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-tiger-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-tiger{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-tiger:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-tiger__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-tiger__hero-main,\n    .hf-tiger__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-tiger__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-tiger__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-tiger__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-tiger__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-tiger__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-tiger__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-tiger__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-tiger__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-tiger__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-tiger__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-tiger__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-tiger__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-tiger__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-tiger__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-tiger__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-tiger__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-tiger__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-tiger__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-tiger__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-tiger__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-tiger__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-tiger__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-tiger__faq h3,\n    .hf-tiger__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-tiger__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-tiger__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-tiger__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-tiger__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-tiger__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-tiger__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-tiger__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-tiger__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-tiger__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-tiger__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-tiger__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-tiger__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-tiger__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-tiger__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-tiger__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-tiger__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-tiger__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-tiger-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-tiger-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-tiger-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-tiger-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-tiger-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-tiger-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-tiger-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-tiger-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-tiger-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-tiger{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-tiger__hero,\n      .hf-tiger__grid,\n      .hf-tiger__feature-list,\n      .hf-tiger__spec-grid,\n      .hf-tiger__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-tiger__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-tiger__hero-main,\n      .hf-tiger__hero-side,\n      .hf-tiger__card,\n      .hf-tiger__faq,\n      .hf-tiger__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-tiger-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-tiger-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-tiger-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-tiger-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-tiger-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-tiger\"\u003e\n    \u003cheader class=\"hf-tiger__hero\"\u003e\n      \u003cdiv class=\"hf-tiger__hero-main\"\u003e\n        \u003cp class=\"hf-tiger__kicker\"\u003eDANCING TIGER TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-tiger__title\"\u003e\n          DANCING TIGER\n          \u003cspan\u003eQuick-dry. Packable. A little unhinged.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-tiger__lead\"\u003e\n          Meet the towel that drinks fast, dries faster, and refuses to bring the beach home with you.\n          \u003cbr\u003e\u003cbr\u003e\n          Bold color, big movement, and just enough weirdness to feel alive. Performance towel on the inside, dancing tiger energy on the outside.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-tiger__hero-side\"\u003e\n        \u003cp class=\"hf-tiger__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-tiger__side-quote\"\u003eFast-drying. Easy to pack. Weirdly confident for a towel.\u003c\/p\u003e\n        \u003cul class=\"hf-tiger__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-tiger__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after beach dips, surf checks, gym showers, and pool hangs.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-tiger__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for travel bags, backpacks, camping bins, and everyday chaos.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-tiger__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand instead of dragging half the shoreline home with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-tiger__pills\"\u003e\n      \u003cspan\u003eULTRA-ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY TECH\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eTRAVEL-READY\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE WEAVE\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-tiger__grid\"\u003e\n      \u003cdiv class=\"hf-tiger__card hf-tiger__card--full\"\u003e\n        \u003cspan class=\"hf-tiger__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eNot all towels are built for real life. This one actually is.\u003c\/h3\u003e\n        \u003cp\u003e\n          Beach, surf, gym, pool, travel, camping, everyday shower. This is the towel that handles all of it without getting weird, heavy, or gross after one weekend.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-tiger__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry \u0026amp; ultra-absorbent\u003c\/strong\u003e\n            Microfiber pulls in moisture fast and releases it quickly, so you’re not dealing with a soggy dead weight.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free weave\u003c\/strong\u003e\n            Shake once and leave the beach at the beach.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps keep funk in check so it doesn’t smell like low tide after one weekend.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Packs small for travel, surf, workouts, and whatever else you get up to.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly \u0026amp; reusable\u003c\/strong\u003e\n            Washable, durable, and made to last instead of flaming out after one season.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed\u003c\/strong\u003e\n            Limited graphics you won’t find stacked in some giant fluorescent aisle.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-tiger__card\"\u003e\n        \u003cspan class=\"hf-tiger__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, fast, and not remotely soggy.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft microfiber that doesn’t drag, stick, or turn into a damp blanket halfway through the day.\n          \u003cbr\u003e\u003cbr\u003e\n          No crunchy stiffness. No mildew funk. Just something that does its job and looks good doing it.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-tiger__card\"\u003e\n        \u003cspan class=\"hf-tiger__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eThe dancing tiger.\u003c\/h3\u003e\n        \u003cp\u003e\n          There’s a branch of psychedelia we like to think of as the dancing tiger—bold color, big movement, and just enough mischief to feel alive.\n          \u003cbr\u003e\u003cbr\u003e\n          We haven’t seen a tiger do the two-step, but if it exists, we’re pretty sure it looks like this.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-tiger__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-tiger__faq-answer\"\u003e\n          Beach, surf, travel, workouts, pool hangs, hiking, camping, and everyday showers.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-tiger__faq-answer\"\u003e\n          Yes. The microfiber dries significantly faster than standard cotton, which makes it ideal for repeat use, same-day pack-ups, and travel.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-tiger__faq-answer\"\u003e\n          Yes. Sand shakes off easily instead of clinging to the fibers and following you home.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-tiger__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-tiger__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps prevent mildew and funk, especially if you let it dry fully instead of leaving it balled up in a damp bag.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-tiger__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-tiger__spec-grid\"\u003e\n        \u003cdiv class=\"hf-tiger__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-tiger__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-tiger__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-tiger__spec-meta\"\u003e\n        \u003cdiv class=\"hf-tiger__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-tiger__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-tiger__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, surf, pool, travel, gym, hiking, camping, everyday shower, and post-workout.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-tiger-float\" id=\"hfTigerFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-tiger-float__inner\"\u003e\n      \u003cdiv class=\"hf-tiger-float__copy\"\u003e\n        \u003cspan class=\"hf-tiger-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-tiger-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-tiger-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-tiger-float__btn\" id=\"hfTigerScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfTigerFloatBar');\n      var btn = document.getElementById('hfTigerScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e\n","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46749722378561,"sku":"HF-UT-DNCTGR_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46749722411329,"sku":"HF-UT-DNCTGR_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46749722444097,"sku":"HF-UT-DNCTGR_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Dancing-Tiger-front-1000-no-background.png?v=1724699726"},{"product_id":"everyday-towel-dreamscape-graham-yarrington","title":"Ultimate Towel - Dreamscape","description":"\u003csection class=\"hf-dreamscape-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-dreamscape-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-dreamscape{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-dreamscape:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-dreamscape__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-dreamscape__hero-main,\n    .hf-dreamscape__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-dreamscape__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-dreamscape__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-dreamscape__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-dreamscape__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-dreamscape__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-dreamscape__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-dreamscape__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-dreamscape__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-dreamscape__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-dreamscape__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-dreamscape__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-dreamscape__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-dreamscape__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-dreamscape__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-dreamscape__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-dreamscape__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-dreamscape__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-dreamscape__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-dreamscape__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-dreamscape__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-dreamscape__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-dreamscape__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-dreamscape__faq h3,\n    .hf-dreamscape__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-dreamscape__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-dreamscape__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-dreamscape__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-dreamscape__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-dreamscape__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-dreamscape__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-dreamscape__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-dreamscape__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-dreamscape__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-dreamscape__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-dreamscape__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-dreamscape__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-dreamscape__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-dreamscape__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-dreamscape__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-dreamscape__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-dreamscape__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-dreamscape-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-dreamscape-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-dreamscape-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-dreamscape-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-dreamscape-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-dreamscape-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-dreamscape-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-dreamscape-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-dreamscape-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-dreamscape{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-dreamscape__hero,\n      .hf-dreamscape__grid,\n      .hf-dreamscape__feature-list,\n      .hf-dreamscape__spec-grid,\n      .hf-dreamscape__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-dreamscape__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-dreamscape__hero-main,\n      .hf-dreamscape__hero-side,\n      .hf-dreamscape__card,\n      .hf-dreamscape__faq,\n      .hf-dreamscape__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-dreamscape-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-dreamscape-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-dreamscape-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-dreamscape-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-dreamscape-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-dreamscape\"\u003e\n    \u003cheader class=\"hf-dreamscape__hero\"\u003e\n      \u003cdiv class=\"hf-dreamscape__hero-main\"\u003e\n        \u003cp class=\"hf-dreamscape__kicker\"\u003eABSTRACT ADVENTURE TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-dreamscape__title\"\u003e\n          BIG VIEWS. BOLD MOVES.\n          \u003cspan\u003eQuick-dry. Packable. Made for strange terrain.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-dreamscape__lead\"\u003e\n          Designed for the wild at heart and the wanderers of strange landscapes, this towel is where color meets movement and adventure meets rest.\n          \u003cbr\u003e\u003cbr\u003e\n          Cold plunge, canyon stop, cliffside nap, backyard daydream, sun-warmed rock — it’s got your back, literally and otherwise.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-dreamscape__hero-side\"\u003e\n        \u003cp class=\"hf-dreamscape__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-dreamscape__side-quote\"\u003eFast-drying. Easy to pack. Built for weird little detours that end up becoming the whole day.\u003c\/p\u003e\n        \u003cul class=\"hf-dreamscape__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-dreamscape__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after cold plunges, swims, hot springs, and sweaty trail climbs.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-dreamscape__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for backpacks, carry-ons, panniers, and overstuffed weekender bags.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-dreamscape__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand, dust, and tiny trail debris instead of dragging them back to the tent.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-dreamscape__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE DESIGN\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eTRAVEL-READY\u003c\/span\u003e\n      \u003cspan\u003eDURABLE \u0026amp; ECO-FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-dreamscape__grid\"\u003e\n      \u003cdiv class=\"hf-dreamscape__card hf-dreamscape__card--full\"\u003e\n        \u003cspan class=\"hf-dreamscape__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eBuilt for more than just the beach.\u003c\/h3\u003e\n        \u003cp\u003e\n          This one is made to keep up with cliffside naps, canyon swims, camp decks, cabin weekends, cold plunges, and the kind of backyard lounging that accidentally turns into an existential reset.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-dreamscape__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry microfiber\u003c\/strong\u003e\n            Super absorbent and fast drying, so you’re not hauling around a heavy, soggy roll of regret.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps resist odor and bacteria, so it smells more like fresh air than “left this in a bag for three days.”\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free, shake-clean design\u003c\/strong\u003e\n            Sand, dust, and small debris shake off easily instead of hitchhiking back to the car or tent.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Packs down small for carry-ons, backpacks, panniers, and overloaded weekender bags.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable \u0026amp; eco-friendly construction\u003c\/strong\u003e\n            Tough enough for rock ledges, camp decks, and frequent washes without falling apart.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eLimited edition artist design\u003c\/strong\u003e\n            Abstract, nature-inspired artwork that feels like a canyon, a climbing line, and a daydream all at once.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-dreamscape__card\"\u003e\n        \u003cspan class=\"hf-dreamscape__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft on skin. Easy to sprawl on.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft microfiber with an easy drape that feels good after cold water, heat, sweat, or a long dumb hike that looked shorter on the map.\n          \u003cbr\u003e\u003cbr\u003e\n          No bulky terry. No rough hotel-towel energy. Just light, quick-drying comfort wherever you land.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-dreamscape__card\"\u003e\n        \u003cspan class=\"hf-dreamscape__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eOuter terrain, inner escape.\u003c\/h3\u003e\n        \u003cp\u003e\n          This print captures the surreal beauty of moving through the outdoors — sunrise tones, shifting ridgelines, vertical motion, and those moments where the world feels bigger than your to-do list.\n          \u003cbr\u003e\u003cbr\u003e\n          Part climbing route, part canyon, part dreamscape. The kind of thing that makes you stay a little longer just to look at it.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-dreamscape__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dreamscape__faq-answer\"\u003e\n          Beach days, cliff jumps, cold plunges, hot springs, camping trips, cabin weekends, backyard lounging, road trips, and everyday showers when you want a little adventure energy.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dreamscape__faq-answer\"\u003e\n          Yes. The quick-dry microfiber is designed to dry significantly faster than standard cotton, which makes it great for repeat dips, cold plunges, and packing it back up before you move to the next spot.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dreamscape__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand, dust, and small debris don’t cling like they do to cotton terry and shake off easily with a couple of snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dreamscape__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-dreamscape__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of leaving it balled up in a damp bag or back seat.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-dreamscape__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-dreamscape__spec-grid\"\u003e\n        \u003cdiv class=\"hf-dreamscape__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-dreamscape__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-dreamscape__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-dreamscape__spec-meta\"\u003e\n        \u003cdiv class=\"hf-dreamscape__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-dreamscape__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry. Avoid fabric softeners and bleach to keep the microfiber performing at its best.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-dreamscape__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach days, cold plunges, climbing trips, camping, cabins, road trips, backyard lounging, studio showers, and everyday escapes.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-dreamscape-float\" id=\"hfDreamscapeFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-dreamscape-float__inner\"\u003e\n      \u003cdiv class=\"hf-dreamscape-float__copy\"\u003e\n        \u003cspan class=\"hf-dreamscape-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-dreamscape-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-dreamscape-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-dreamscape-float__btn\" id=\"hfDreamscapeScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfDreamscapeFloatBar');\n      var btn = document.getElementById('hfDreamscapeScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46785939276097,"sku":"HF-UT-DRMSKP_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46785939308865,"sku":"HF-UT-DRMSKP_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46785939341633,"sku":"HF-UT-DRMSKP_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Dreamscape-front-1000-no-background.png?v=1724542711"},{"product_id":"everyday-towel-sebastian-kern-altitude-adjustment","title":"Ultimate Towel - Altitude Adjustment","description":"\u003csection class=\"hf-altitude-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-altitude-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-altitude{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-altitude:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-altitude__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-altitude__hero-main,\n    .hf-altitude__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-altitude__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-altitude__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-altitude__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-altitude__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-altitude__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-altitude__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-altitude__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-altitude__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-altitude__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-altitude__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-altitude__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-altitude__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-altitude__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-altitude__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-altitude__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-altitude__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-altitude__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-altitude__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-altitude__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-altitude__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-altitude__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-altitude__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-altitude__faq h3,\n    .hf-altitude__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-altitude__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-altitude__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-altitude__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-altitude__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-altitude__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-altitude__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-altitude__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-altitude__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-altitude__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-altitude__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-altitude__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-altitude__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-altitude__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-altitude__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-altitude__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-altitude__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-altitude__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-altitude-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-altitude-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-altitude-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-altitude-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-altitude-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-altitude-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-altitude-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-altitude-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-altitude-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-altitude{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-altitude__hero,\n      .hf-altitude__grid,\n      .hf-altitude__feature-list,\n      .hf-altitude__spec-grid,\n      .hf-altitude__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-altitude__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-altitude__hero-main,\n      .hf-altitude__hero-side,\n      .hf-altitude__card,\n      .hf-altitude__faq,\n      .hf-altitude__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-altitude-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-altitude-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-altitude-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-altitude-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-altitude-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-altitude\"\u003e\n    \u003cheader class=\"hf-altitude__hero\"\u003e\n      \u003cdiv class=\"hf-altitude__hero-main\"\u003e\n        \u003cp class=\"hf-altitude__kicker\"\u003eALTITUDE ADJUSTMENT TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-altitude__title\"\u003e\n          BUILT FOR PEAKS, PICNICS\n          \u003cspan\u003e\u0026amp; PERSONAL BREAKTHROUGHS\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-altitude__lead\"\u003e\n          Love the mountains but hike like a drunk mountain goat in tap shoes? Same.\n          \u003cbr\u003e\u003cbr\u003e\n          This towel is made for rocks, roots, trail wheezing, summit snacks, and that moment at the top when everything suddenly feels worth it.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-altitude__hero-side\"\u003e\n        \u003cp class=\"hf-altitude__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-altitude__side-quote\"\u003eFast-drying. Easy to pack. Built for trail dust, bad cardio, and the view that makes you forget both.\u003c\/p\u003e\n        \u003cul class=\"hf-altitude__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-altitude__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after lakes, showers, sweat, and questionable river decisions.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-altitude__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for hiking bags, van shelves, gym lockers, and road-trip chaos.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-altitude__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off dirt, sand, and trail dust instead of hauling half the mountain home with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-altitude__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eULTRA ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eLIGHTWEIGHT \u0026amp; PACKABLE\u003c\/span\u003e\n      \u003cspan\u003eSAND \u0026amp; DIRT-RESISTANT\u003c\/span\u003e\n      \u003cspan\u003eECO-CONSCIOUS BUILD\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED PRINT\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-altitude__grid\"\u003e\n      \u003cdiv class=\"hf-altitude__card hf-altitude__card--full\"\u003e\n        \u003cspan class=\"hf-altitude__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eThis is the towel that actually keeps up with how you live.\u003c\/h3\u003e\n        \u003cp\u003e\n          Trail dust, summit snacks, car-camping showers, beach days, gym runs, picnic stops, and everything in between. It’s built for the whole story, not just the hero shot at the top.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-altitude__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry microfiber\u003c\/strong\u003e\n            Absorbs fast and dries way quicker than traditional cotton, so it’s not still damp by the time you’re back at the trailhead.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eLightweight \u0026amp; compact\u003c\/strong\u003e\n            Folds down small for hiking packs, travel bags, van shelves, and gym lockers without hogging space.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps it stay fresher between washes, even when your climbing shoes absolutely do not.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDirt \u0026amp; sand-resistant surface\u003c\/strong\u003e\n            Smooth microfiber helps sand, dirt, and trail dust shake off easily so you don’t bring half the mountain home.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable \u0026amp; eco-conscious construction\u003c\/strong\u003e\n            Made to handle daily adventures, parking-lot tailgates, and repeat wash cycles without tapping out.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed “Altitude Adjustment” print\u003c\/strong\u003e\n            Bold mountain-inspired energy that looks just as good at the summit as it does on your bathroom hook.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-altitude__card\"\u003e\n        \u003cspan class=\"hf-altitude__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft on tired legs. Easy on sunburned shoulders.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft microfiber that feels light wherever you unroll it.\n          \u003cbr\u003e\u003cbr\u003e\n          No crunchy hotel-towel stiffness. No heavy, soggy drag. Just quick-drying comfort after the climb, the swim, or the long drive back.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-altitude__card\"\u003e\n        \u003cspan class=\"hf-altitude__section-tag\"\u003eDesign inspiration\u003c\/span\u003e\n        \u003ch3\u003eSummit feels \u0026amp; trail fails.\u003c\/h3\u003e\n        \u003cp\u003e\n          Inspired by high-altitude epiphanies and low-altitude stumbles, this one celebrates every stage of the climb—from “why did we do this” to “oh, this is why we did this.”\n          \u003cbr\u003e\u003cbr\u003e\n          Sometimes all you need is a little perspective, a better towel, and maybe a snack.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-altitude__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-altitude__faq-answer\"\u003e\n          Hiking, camping, summit hangs, picnics, road trips, van life, beach days, post-gym showers, and any everyday adventure where you want a towel that actually pulls its weight without taking up space.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-altitude__faq-answer\"\u003e\n          Yes. Quick-dry microfiber typically dries much faster than standard cotton towels, so this one is less likely to stay damp or musty between swims, showers, or trail sessions.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free or dirt-resistant?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-altitude__faq-answer\"\u003e\n          The smooth microfiber surface helps sand, dirt, and trail dust brush off easily, so you can shake it out before you pack up and keep your car, tent, and home a little cleaner.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-altitude__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-altitude__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant design helps it stay fresher between washes, especially if you let it dry fully instead of trapping it in a damp pack or gear bin.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-altitude__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-altitude__spec-grid\"\u003e\n        \u003cdiv class=\"hf-altitude__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-altitude__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-altitude__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-altitude__spec-meta\"\u003e\n        \u003cdiv class=\"hf-altitude__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-altitude__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold with mild detergent, avoid fabric softeners and bleach, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-altitude__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eHiking, camping, beach days, mountain lakes, picnics, van life, road trips, gym sessions, yoga, and everyday showers.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-altitude-float\" id=\"hfAltitudeFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-altitude-float__inner\"\u003e\n      \u003cdiv class=\"hf-altitude-float__copy\"\u003e\n        \u003cspan class=\"hf-altitude-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-altitude-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-altitude-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-altitude-float__btn\" id=\"hfAltitudeScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfAltitudeFloatBar');\n      var btn = document.getElementById('hfAltitudeScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46856506835265,"sku":"HF-UT-ALTADJ_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46856506868033,"sku":"HF-UT-ALTADJ_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46856506900801,"sku":"HF-UT-ALTADJ_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Altitude-Adjustment-Front-1000-No-Background.png?v=1724704482"},{"product_id":"everyday-towel-whats-good-mari-monteiro","title":"Ultimate Towel - What's Good","description":"\u003csection class=\"hf-graffiti-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-graffiti-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-graffiti{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-graffiti:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-graffiti__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-graffiti__hero-main,\n    .hf-graffiti__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-graffiti__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-graffiti__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-graffiti__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-graffiti__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-graffiti__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-graffiti__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-graffiti__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-graffiti__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-graffiti__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-graffiti__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-graffiti__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-graffiti__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-graffiti__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-graffiti__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-graffiti__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-graffiti__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-graffiti__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-graffiti__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-graffiti__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-graffiti__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-graffiti__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-graffiti__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-graffiti__faq h3,\n    .hf-graffiti__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-graffiti__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-graffiti__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-graffiti__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-graffiti__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-graffiti__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-graffiti__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-graffiti__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-graffiti__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-graffiti__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-graffiti__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-graffiti__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-graffiti__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-graffiti__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-graffiti__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-graffiti__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-graffiti__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-graffiti__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-graffiti-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-graffiti-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-graffiti-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-graffiti-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-graffiti-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-graffiti-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-graffiti-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-graffiti-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-graffiti-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-graffiti{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-graffiti__hero,\n      .hf-graffiti__grid,\n      .hf-graffiti__feature-list,\n      .hf-graffiti__spec-grid,\n      .hf-graffiti__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-graffiti__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-graffiti__hero-main,\n      .hf-graffiti__hero-side,\n      .hf-graffiti__card,\n      .hf-graffiti__faq,\n      .hf-graffiti__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-graffiti-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-graffiti-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-graffiti-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-graffiti-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-graffiti-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-graffiti\"\u003e\n    \u003cheader class=\"hf-graffiti__hero\"\u003e\n      \u003cdiv class=\"hf-graffiti__hero-main\"\u003e\n        \u003cp class=\"hf-graffiti__kicker\"\u003eGRAFFITI PERFORMANCE TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-graffiti__title\"\u003e\n          STREET ART. BEACH TOWEL.\n          \u003cspan\u003eQuick-dry. Packable. Loud on purpose.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-graffiti__lead\"\u003e\n          This towel isn’t subtle, because graffiti isn’t supposed to be.\n          \u003cbr\u003e\u003cbr\u003e\n          Bold, raw, and impossible to ignore, it brings street energy to a quick-dry, sand-free towel that’s built to move with you.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-graffiti__hero-side\"\u003e\n        \u003cp class=\"hf-graffiti__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-graffiti__side-quote\"\u003eBuilt like a performance towel. Styled like a back-alley mural. Not here for plain.\u003c\/p\u003e\n        \u003cul class=\"hf-graffiti__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-graffiti__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after beach dips, shower runs, river stops, and pool sessions.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-graffiti__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for skate packs, gym bags, day trips, festivals, and carry-ons.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-graffiti__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of dragging half the ground home with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-graffiti__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE\u003c\/span\u003e\n      \u003cspan\u003eDURABLE \u0026amp; ECO-FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-graffiti__grid\"\u003e\n      \u003cdiv class=\"hf-graffiti__card hf-graffiti__card--full\"\u003e\n        \u003cspan class=\"hf-graffiti__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eBuilt for people who don’t do plain.\u003c\/h3\u003e\n        \u003cp\u003e\n          Performance towel on the inside. Street energy on the outside. This is the one that stands out in a pile and still does the job better than the boring options.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-graffiti__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry \u0026amp; super absorbent\u003c\/strong\u003e\n            Microfiber drinks up water fast and dries quickly so you’re never stuck in a soggy wrap.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps resist odor and bacteria so it smells more like fresh air than forgotten locker.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Packs down small for skate packs, gym bags, day trips, and carry-ons.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free design\u003c\/strong\u003e\n            Sand and grit shake off easily whether you’re at the beach, the river, or some dusty festival lawn.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable \u0026amp; eco-friendly construction\u003c\/strong\u003e\n            Made to handle concrete steps, park grass, pool decks, and repeat wash cycles.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed with graffiti influence\u003c\/strong\u003e\n            A graphic hit of street color and movement you won’t mistake for anyone else’s towel.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-graffiti__card\"\u003e\n        \u003cspan class=\"hf-graffiti__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft enough to wrap up in. Tough enough to get dragged around.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth microfiber with an easy drape that works whether you’re sitting on it, throwing it over your shoulders, or stuffing it back in the bag.\n          \u003cbr\u003e\u003cbr\u003e\n          No stiff terry. No heavy drag. Just quick-drying comfort with a street edge.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-graffiti__card\"\u003e\n        \u003cspan class=\"hf-graffiti__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eThe streets speak. We listened.\u003c\/h3\u003e\n        \u003cp\u003e\n          Graffiti is public expression with no permission slip—bold lines, layered marks, color, chaos, and something real under all of it.\n          \u003cbr\u003e\u003cbr\u003e\n          This towel pulls that same energy off the wall and into motion.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-graffiti__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-graffiti__faq-answer\"\u003e\n          Beach days, pool sessions, gym showers, skate park hangs, festivals, road trips, rivers, and everyday use when you want more personality than a plain white towel.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-graffiti__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which is ideal for repeat dips, shower-and-go mornings, and packing it up before you move on to the next spot.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-graffiti__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand and grit don’t cling like they do to cotton terry and shake off easily with a couple quick snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-graffiti__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-graffiti__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of leaving it balled up in a damp bag or back seat.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-graffiti__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-graffiti__spec-grid\"\u003e\n        \u003cdiv class=\"hf-graffiti__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-graffiti__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-graffiti__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-graffiti__spec-meta\"\u003e\n        \u003cdiv class=\"hf-graffiti__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-graffiti__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-graffiti__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, pool, gym, skate parks, festivals, travel, road trips, rivers, and everyday showers.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-graffiti-float\" id=\"hfGraffitiFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-graffiti-float__inner\"\u003e\n      \u003cdiv class=\"hf-graffiti-float__copy\"\u003e\n        \u003cspan class=\"hf-graffiti-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-graffiti-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-graffiti-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-graffiti-float__btn\" id=\"hfGraffitiScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfGraffitiFloatBar');\n      var btn = document.getElementById('hfGraffitiScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46857975595329,"sku":"HF-UT-WTSGD_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46857975628097,"sku":"HF-UT-WTSGD_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46857975660865,"sku":"HF-UT-WTSGD_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Whats-Good-Front-1000-No-Background.png?v=1724703015"},{"product_id":"everyday-towel-party-mix-surf-liam-warr","title":"Ultimate Towel - Party Mix","description":"\u003csection class=\"hf-neon-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-neon-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-neon{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-neon:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-neon__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-neon__hero-main,\n    .hf-neon__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-neon__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-neon__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-neon__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-neon__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-neon__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-neon__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-neon__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-neon__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-neon__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-neon__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-neon__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-neon__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-neon__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-neon__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-neon__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-neon__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-neon__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-neon__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-neon__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-neon__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-neon__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-neon__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-neon__faq h3,\n    .hf-neon__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-neon__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-neon__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-neon__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-neon__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-neon__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-neon__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-neon__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-neon__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-neon__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-neon__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-neon__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-neon__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-neon__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-neon__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-neon__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-neon__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-neon__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-neon-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-neon-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-neon-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-neon-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-neon-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-neon-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-neon-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-neon-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-neon-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-neon{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-neon__hero,\n      .hf-neon__grid,\n      .hf-neon__feature-list,\n      .hf-neon__spec-grid,\n      .hf-neon__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-neon__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-neon__hero-main,\n      .hf-neon__hero-side,\n      .hf-neon__card,\n      .hf-neon__faq,\n      .hf-neon__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-neon-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-neon-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-neon-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-neon-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-neon-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-neon\"\u003e\n    \u003cheader class=\"hf-neon__hero\"\u003e\n      \u003cdiv class=\"hf-neon__hero-main\"\u003e\n        \u003cp class=\"hf-neon__kicker\"\u003eNEON BEACH PARTY TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-neon__title\"\u003e\n          YOUR LOUDEST TOWEL YET\n          \u003cspan\u003eQuick-dry. Packable. Not here to blend in.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-neon__lead\"\u003e\n          Like a disco ball that partied with a rainbow and woke up wrapped in ’80s nostalgia.\n          \u003cbr\u003e\u003cbr\u003e\n          Built for festivals, beach hangs, lake dips, and poolside dance-offs, this is the towel version of that one friend who insists on doing the worm and somehow nails it.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-neon__hero-side\"\u003e\n        \u003cp class=\"hf-neon__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-neon__side-quote\"\u003eFast-drying. Easy to pack. Loud enough to find instantly in a pile of boring towels.\u003c\/p\u003e\n        \u003cul class=\"hf-neon__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-neon__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast enough for repeat dips, all-day events, and same-day bag tosses.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-neon__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for festival packs, beach totes, carry-ons, and bad-planning road trips.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-neon__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of dragging the whole party into your car or tent.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-neon__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eDRIES FAST, STAYS LIGHT\u003c\/span\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; PACKABLE\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE STYLE\u003c\/span\u003e\n      \u003cspan\u003eDURABLE \u0026amp; ECO-FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-neon__grid\"\u003e\n      \u003cdiv class=\"hf-neon__card hf-neon__card--full\"\u003e\n        \u003cspan class=\"hf-neon__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eThis is not a blend-in-with-the-boring-towel-crowd situation.\u003c\/h3\u003e\n        \u003cp\u003e\n          This is the one people notice first and try to steal second. Loud, bold, and actually useful enough to earn permanent bag status.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-neon__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry microfiber\u003c\/strong\u003e\n            Dries fast so you can dip, dance, repeat without wrapping yourself in a cold, soggy flag.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSuper absorbent \u0026amp; antimicrobial\u003c\/strong\u003e\n            Drinks up water quickly and helps fight funk so it stays in party mode, not gym bag mode.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; easy to pack\u003c\/strong\u003e\n            Folds down small for festival packs, beach totes, carry-ons, and last-minute road trips.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free shake-it-clean\u003c\/strong\u003e\n            Sand and grit shake off easily so the sand party doesn’t follow you into the car or tent.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable \u0026amp; eco-friendly materials\u003c\/strong\u003e\n            Built to handle cannonballs, cliff jumps, and weekends you only half-remember.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed with wild color energy\u003c\/strong\u003e\n            Neon nostalgia meets beach chaos in the best possible way.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-neon__card\"\u003e\n        \u003cspan class=\"hf-neon__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eMore favorite windbreaker. Less bath towel.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft microfiber that feels light on your shoulders and easy to move in.\n          \u003cbr\u003e\u003cbr\u003e\n          No stiff terry. No heavy drag. Just quick-drying color you can actually dance in.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-neon__card\"\u003e\n        \u003cspan class=\"hf-neon__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eNeon nostalgia meets beach party.\u003c\/h3\u003e\n        \u003cp\u003e\n          Think retro neon, electric patterns, and a tiny bit of chaos—like an ’80s arcade collided with a sunset beach set.\n          \u003cbr\u003e\u003cbr\u003e\n          It’s made for festival fields, crowded pool decks, rooftop hangs, and late-night lake jumps.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-neon__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-neon__faq-answer\"\u003e\n          Festivals, beach days, pool parties, lake trips, hot tubs, road trips, rooftop hangs, and everyday showers when you need a hit of color.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-neon__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which makes it perfect for all-day events, repeat dips, and tossing back in your bag without staying wet for hours.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-neon__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand and grit don’t cling like they do to cotton terry and shake off easily with a couple quick snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-neon__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-neon__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of leaving it stewing in a damp bag after the after-party.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-neon__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-neon__spec-grid\"\u003e\n        \u003cdiv class=\"hf-neon__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-neon__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-neon__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-neon__spec-meta\"\u003e\n        \u003cdiv class=\"hf-neon__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-neon__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-neon__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eFestivals, beach days, pool parties, lake trips, hot tubs, road trips, rooftop hangs, and everyday showers.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-neon-float\" id=\"hfNeonFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-neon-float__inner\"\u003e\n      \u003cdiv class=\"hf-neon-float__copy\"\u003e\n        \u003cspan class=\"hf-neon-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-neon-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-neon-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-neon-float__btn\" id=\"hfNeonScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfNeonFloatBar');\n      var btn = document.getElementById('hfNeonScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46858035200321,"sku":"HF-UT-PTYMIX_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46858035233089,"sku":"HF-UT-PTYMIX_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46858035265857,"sku":"HF-UT-PTYMIX_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Party-Mix-back-1000-No-Background.png?v=1724699727"},{"product_id":"everyday-towel-moonrise-over-the-pacific-sebastian-kern","title":"Ultimate Towel - Moonrise Over The Pacific","description":"\u003csection class=\"hf-moonrise-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-moonrise-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-moonrise{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-moonrise:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-moonrise__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-moonrise__hero-main,\n    .hf-moonrise__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-moonrise__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-moonrise__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-moonrise__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-moonrise__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-moonrise__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-moonrise__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-moonrise__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-moonrise__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-moonrise__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-moonrise__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-moonrise__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-moonrise__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-moonrise__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-moonrise__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-moonrise__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-moonrise__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-moonrise__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-moonrise__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-moonrise__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-moonrise__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-moonrise__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-moonrise__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-moonrise__faq h3,\n    .hf-moonrise__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-moonrise__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-moonrise__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-moonrise__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-moonrise__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-moonrise__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-moonrise__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-moonrise__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-moonrise__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-moonrise__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-moonrise__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-moonrise__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-moonrise__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-moonrise__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-moonrise__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-moonrise__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-moonrise__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-moonrise__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-moonrise-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-moonrise-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-moonrise-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-moonrise-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-moonrise-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-moonrise-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-moonrise-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-moonrise-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-moonrise-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-moonrise{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-moonrise__hero,\n      .hf-moonrise__grid,\n      .hf-moonrise__feature-list,\n      .hf-moonrise__spec-grid,\n      .hf-moonrise__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-moonrise__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-moonrise__hero-main,\n      .hf-moonrise__hero-side,\n      .hf-moonrise__card,\n      .hf-moonrise__faq,\n      .hf-moonrise__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-moonrise-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-moonrise-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-moonrise-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-moonrise-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-moonrise-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-moonrise\"\u003e\n    \u003cheader class=\"hf-moonrise__hero\"\u003e\n      \u003cdiv class=\"hf-moonrise__hero-main\"\u003e\n        \u003cp class=\"hf-moonrise__kicker\"\u003eMOONRISE COAST TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-moonrise__title\"\u003e\n          MOONRISE MOMENTS\n          \u003cspan\u003eQuick-dry. Packable. Best seat on the shoreline.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-moonrise__lead\"\u003e\n          Sit like a seafront emperor on the best seat in the house—this towel.\n          \u003cbr\u003e\u003cbr\u003e\n          As the fire warms your back and the ocean claps in steady rhythm, the night stretches out under the rising moon. It’s made for the moments you don’t want to end.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-moonrise__hero-side\"\u003e\n        \u003cp class=\"hf-moonrise__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-moonrise__side-quote\"\u003eFast-drying. Easy to pack. Good for ocean nights, cold walks back to the car, and the part of the evening nobody wants to leave.\u003c\/p\u003e\n        \u003cul class=\"hf-moonrise__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-moonrise__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries quickly after ocean dips, late swims, or hot-tub soaks.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-moonrise__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for beach bags, backpacks, van life, and last-minute coast runs.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-moonrise__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand instead of following you into the car, house, or sleeping bag.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-moonrise__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; PACKABLE\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY \u0026amp; DURABLE\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-moonrise__grid\"\u003e\n      \u003cdiv class=\"hf-moonrise__card hf-moonrise__card--full\"\u003e\n        \u003cspan class=\"hf-moonrise__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eBuilt for sunset sessions, late-night bonfires, and the walk back when the air gets cold.\u003c\/h3\u003e\n        \u003cp\u003e\n          This one is made for those in-between hours: after the last swim, before everyone leaves, when the fire is low and the ocean sounds better than most conversations.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-moonrise__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry \u0026amp; super absorbent\u003c\/strong\u003e\n            Microfiber drinks up water fast and dries quickly after ocean dips, night swims, or hot-tub soaks.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps fight funk so your bonfire towel doesn’t become your leave-it-in-the-trunk towel.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free design\u003c\/strong\u003e\n            Sand shakes off easily instead of following you into the car, house, or sleeping bag.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; travel-ready\u003c\/strong\u003e\n            Packs down small for beach bags, backpacks, van life, or last-minute coast runs.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly \u0026amp; durable build\u003c\/strong\u003e\n            Made to handle rocky shorelines, driftwood logs, tides, and repeat wash cycles.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed tribute to ocean nights\u003c\/strong\u003e\n            Artwork inspired by moonrise horizons, glowing skies, and the kind of evenings that stick with you.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-moonrise__card\"\u003e\n        \u003cspan class=\"hf-moonrise__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, light, and not even a little soggy.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth microfiber that sits comfortably on sand, rock, or a damp deck and feels easy around the shoulders.\n          \u003cbr\u003e\u003cbr\u003e\n          No stiff terry. No cold, wet drag. Just a quick-drying layer between you and whatever the coast is doing.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-moonrise__card\"\u003e\n        \u003cspan class=\"hf-moonrise__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eMoonrise by the sea.\u003c\/h3\u003e\n        \u003cp\u003e\n          This one was made to honor those perfect nights—when the sky deepens, the tide softens, and the moon lifts over the horizon after a long day in the sun.\n          \u003cbr\u003e\u003cbr\u003e\n          Wrap up. Watch the show. Let the ocean do the talking.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-moonrise__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-moonrise__faq-answer\"\u003e\n          Sunset sessions, moonrise hangs, bonfires, beach nights, ocean swims, lakeside evenings, camping trips, van life, and everyday showers when you want a little coastal mood.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-moonrise__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which is ideal for late swims, repeat dips, and packing it up before you head home.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-moonrise__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand doesn’t cling like it does to cotton terry and shakes off easily with a couple of snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-moonrise__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-moonrise__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of leaving it curled up in a damp beach bag.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-moonrise__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-moonrise__spec-grid\"\u003e\n        \u003cdiv class=\"hf-moonrise__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-moonrise__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-moonrise__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-moonrise__spec-meta\"\u003e\n        \u003cdiv class=\"hf-moonrise__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-moonrise__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-moonrise__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eSunset sessions, moonrise hangs, bonfires, beach and lake nights, camping, van life, travel, and everyday showers.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-moonrise-float\" id=\"hfMoonriseFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-moonrise-float__inner\"\u003e\n      \u003cdiv class=\"hf-moonrise-float__copy\"\u003e\n        \u003cspan class=\"hf-moonrise-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-moonrise-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-moonrise-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-moonrise-float__btn\" id=\"hfMoonriseScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfMoonriseFloatBar');\n      var btn = document.getElementById('hfMoonriseScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46858564337985,"sku":"HF-UT-MOONRISE_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46858564370753,"sku":"HF-UT-MOONRISE_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46858564436289,"sku":"HF-UT-MOONRISE_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Moonrise-over-The-Pacific-Front-1000-No-Background.png?v=1724703014"},{"product_id":"everyday-towel-evening-in-palm-springs","title":"Ultimate Towel - Evening in Palm Springs","description":"\u003csection class=\"hf-palms-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-palms-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-palms{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-palms:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-palms__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-palms__hero-main,\n    .hf-palms__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-palms__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-palms__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-palms__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-palms__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-palms__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-palms__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-palms__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-palms__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-palms__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-palms__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-palms__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-palms__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-palms__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-palms__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-palms__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-palms__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-palms__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-palms__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-palms__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-palms__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-palms__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-palms__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-palms__faq h3,\n    .hf-palms__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-palms__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-palms__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-palms__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-palms__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-palms__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-palms__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-palms__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-palms__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-palms__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-palms__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-palms__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-palms__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-palms__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-palms__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-palms__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-palms__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-palms__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-palms-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-palms-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-palms-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-palms-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-palms-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-palms-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-palms-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-palms-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-palms-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-palms{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-palms__hero,\n      .hf-palms__grid,\n      .hf-palms__feature-list,\n      .hf-palms__spec-grid,\n      .hf-palms__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-palms__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-palms__hero-main,\n      .hf-palms__hero-side,\n      .hf-palms__card,\n      .hf-palms__faq,\n      .hf-palms__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-palms-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-palms-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-palms-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-palms-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-palms-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-palms\"\u003e\n    \u003cheader class=\"hf-palms__hero\"\u003e\n      \u003cdiv class=\"hf-palms__hero-main\"\u003e\n        \u003cp class=\"hf-palms__kicker\"\u003ePALM SPRINGS PERFORMANCE TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-palms__title\"\u003e\n          YOUR NEW FAVORITE TOWEL\n          \u003cspan\u003eQuick-dry. Packable. A little overdressed for the pool.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-palms__lead\"\u003e\n          Designed for performance, personality, and portability, this is the towel that actually earns its “favorite” status.\n          \u003cbr\u003e\u003cbr\u003e\n          Whether you're headed to the beach, pool, gym, or trail, it brings next-level function with signature Happy Faced style and a little Palm Springs swagger.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-palms__hero-side\"\u003e\n        \u003cp class=\"hf-palms__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-palms__side-quote\"\u003eFast-drying. Easy to pack. Looks expensive enough to feel like a choice, not an accident.\u003c\/p\u003e\n        \u003cul class=\"hf-palms__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-palms__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast enough for back-to-back swims and same-day pack-ups.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-palms__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for beach bags, carry-ons, gym lockers, and road trips.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-palms__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of dragging them into the car.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-palms__pills\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY TECH\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eSAND-RESISTANT\u003c\/span\u003e\n      \u003cspan\u003eDURABLE CONSTRUCTION\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED PRINTS\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-palms__grid\"\u003e\n      \u003cdiv class=\"hf-palms__card hf-palms__card--full\"\u003e\n        \u003cspan class=\"hf-palms__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eThe towel you reach for first and get annoyed about when someone steals it.\u003c\/h3\u003e\n        \u003cp\u003e\n          This one actually earns its favorite status. It handles chlorinated pools, saltwater, road trips, gym showers, desert weekends, and everyday use without feeling like some flimsy backup option.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-palms__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSuper absorbent microfiber\u003c\/strong\u003e\n            Pulls in water fast so you’re dry in a few passes, not ten.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry technology\u003c\/strong\u003e\n            Dries significantly faster than standard cotton, ideal for multiple swims and same-day pack-ups.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial fabric\u003c\/strong\u003e\n            Helps fight odor so it doesn’t smell like you forgot it in the car after one use.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Packs down small for beach bags, carry-ons, gym lockers, and desert getaways.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-resistant design\u003c\/strong\u003e\n            Sand and grit shake off with a couple of snaps instead of hitching a ride home.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eLimited edition artist-designed print\u003c\/strong\u003e\n            Palm Springs-inspired artwork that doesn’t look like every other towel on the chair rack.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-palms__card\"\u003e\n        \u003cspan class=\"hf-palms__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eMore cabana. Less hotel rug.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, lightweight microfiber with a clean, easy drape that wraps well around your waist, shoulders, or pool chair.\n          \u003cbr\u003e\u003cbr\u003e\n          No bulky soggy nonsense. No heavy towel slump. Just something that feels good and dries fast.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-palms__card\"\u003e\n        \u003cspan class=\"hf-palms__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003ePalm Springs vibes.\u003c\/h3\u003e\n        \u003cp\u003e\n          Inspired by golden-hour evenings in Palm Springs—when the desert cools, the pool lights come on, and everything feels a little cinematic.\n          \u003cbr\u003e\u003cbr\u003e\n          Mid-century lines, warm tones, cold drinks, good playlists, and pool chairs that already know your name.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-palms__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-palms__faq-answer\"\u003e\n          Beach days, pool lounging, Palm Springs weekends, road trips, gym showers, hot tubs, desert escapes, and everyday use at home.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-palms__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which makes it great for multiple swims in one day and tossing back in your bag without it staying wet for hours.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-palms__faq-answer\"\u003e\n          It’s designed as a sand-resistant style towel. Sand doesn’t cling like it does to cotton terry and shakes off easily with a few quick snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-palms__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-palms__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of leaving it balled up on a pool chair or in a tote.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-palms__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-palms__spec-grid\"\u003e\n        \u003cdiv class=\"hf-palms__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-palms__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-palms__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-palms__spec-meta\"\u003e\n        \u003cdiv class=\"hf-palms__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-palms__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-palms__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, pool, desert getaways, road trips, gym, travel, everyday shower, and Palm Springs weekends.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-palms-float\" id=\"hfPalmsFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-palms-float__inner\"\u003e\n      \u003cdiv class=\"hf-palms-float__copy\"\u003e\n        \u003cspan class=\"hf-palms-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-palms-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-palms-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-palms-float__btn\" id=\"hfPalmsScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfPalmsFloatBar');\n      var btn = document.getElementById('hfPalmsScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46982041305409,"sku":"HF-UT-EVNPSP_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46982041338177,"sku":"HF-UT-EVNPSP_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46982041370945,"sku":"HF-UT-EVNPSP_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Palm-Springs-front-1000-no-background.png?v=1724696908"},{"product_id":"everyday-towel-zoe-radford-cosmic-currents","title":"Everyday Towel - Cosmic Currents","description":"\u003csection class=\"hf-cosmic-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-cosmic-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-cosmic{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-cosmic:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-cosmic__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-cosmic__hero-main,\n    .hf-cosmic__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-cosmic__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-cosmic__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-cosmic__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-cosmic__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-cosmic__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-cosmic__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-cosmic__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-cosmic__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-cosmic__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-cosmic__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-cosmic__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-cosmic__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-cosmic__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-cosmic__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-cosmic__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-cosmic__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-cosmic__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-cosmic__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-cosmic__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-cosmic__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-cosmic__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-cosmic__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-cosmic__faq h3,\n    .hf-cosmic__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-cosmic__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-cosmic__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-cosmic__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-cosmic__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-cosmic__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-cosmic__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-cosmic__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-cosmic__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-cosmic__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-cosmic__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-cosmic__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-cosmic__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-cosmic__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-cosmic__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-cosmic__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-cosmic__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-cosmic__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-cosmic-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-cosmic-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-cosmic-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-cosmic-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-cosmic-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-cosmic-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-cosmic-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-cosmic-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-cosmic-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-cosmic{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-cosmic__hero,\n      .hf-cosmic__grid,\n      .hf-cosmic__feature-list,\n      .hf-cosmic__spec-grid,\n      .hf-cosmic__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-cosmic__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-cosmic__hero-main,\n      .hf-cosmic__hero-side,\n      .hf-cosmic__card,\n      .hf-cosmic__faq,\n      .hf-cosmic__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-cosmic-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-cosmic-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-cosmic-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-cosmic-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-cosmic-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-cosmic\"\u003e\n    \u003cheader class=\"hf-cosmic__hero\"\u003e\n      \u003cdiv class=\"hf-cosmic__hero-main\"\u003e\n        \u003cp class=\"hf-cosmic__kicker\"\u003eCELESTIAL PERFORMANCE TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-cosmic__title\"\u003e\n          COSMIC CURRENTS\n          \u003cspan\u003eQuick-dry. Packable. Slightly mystical.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-cosmic__lead\"\u003e\n          This isn’t just a towel. It’s a small act of cosmic alignment for beach days, pool hangs, late swims, and the kind of weekends that feel a little charged.\n          \u003cbr\u003e\u003cbr\u003e\n          Mystical on the outside, practical in the details: quick-dry, compact, and weirdly good at just doing its job.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-cosmic__hero-side\"\u003e\n        \u003cp class=\"hf-cosmic__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-cosmic__side-quote\"\u003eLooks like it fell out of a tarot deck. Behaves like your most responsible friend.\u003c\/p\u003e\n        \u003cul class=\"hf-cosmic__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-cosmic__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after swims, dips, and any water-adjacent decision you made on instinct.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-cosmic__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small for beach bags, backpacks, weekend trips, and carry-ons.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-cosmic__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand instead of dragging the whole shoreline home with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-cosmic__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eFAST ABSORPTION\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE\u003c\/span\u003e\n      \u003cspan\u003eDURABLE \u0026amp; ECO-FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-cosmic__grid\"\u003e\n      \u003cdiv class=\"hf-cosmic__card hf-cosmic__card--full\"\u003e\n        \u003cspan class=\"hf-cosmic__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eLooks cosmic. Acts practical. Always down for one more swim.\u003c\/h3\u003e\n        \u003cp\u003e\n          It has the whole sun-and-moon thing going on, but the real magic is that it’s reliable, low-maintenance, and useful enough to earn permanent bag status.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-cosmic__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry microfiber\u003c\/strong\u003e\n            Pulls in water fast and dries quickly so you’re not wrapping yourself in a cold, soggy nebula.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps fight funk and keeps the post-beach smell more sea breeze than swamp moon.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Packs down small for beach bags, backpacks, weekend trips, and carry-ons.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free design\u003c\/strong\u003e\n            Sand shakes off easily so the galaxy stays by the shore and not in your car or bed.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable \u0026amp; eco-friendly material\u003c\/strong\u003e\n            Built to orbit your life for a long time instead of burning out after one season.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed with celestial vibes\u003c\/strong\u003e\n            Suns, moons, and cosmic details that make laying it out feel like a tiny ritual.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-cosmic__card\"\u003e\n        \u003cspan class=\"hf-cosmic__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, light, and weirdly comforting.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth microfiber with an easy drape that feels more like wrapping up in a warm night sky than a stiff hotel towel.\n          \u003cbr\u003e\u003cbr\u003e\n          No scratchiness. No waterlogged drag. Just quick-drying comfort.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-cosmic__card\"\u003e\n        \u003cspan class=\"hf-cosmic__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eThe sun, the moon, and a little magic.\u003c\/h3\u003e\n        \u003cp\u003e\n          “Cosmic Currents” brings together suns, moons, and flowing lines that echo tides, constellations, and those nights where everything feels a little charged.\n          \u003cbr\u003e\u003cbr\u003e\n          It’s timeless, a little trippy, and absolutely the towel you’d bring to a beach bonfire after checking your horoscope.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-cosmic__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-cosmic__faq-answer\"\u003e\n          Beach days, pool sessions, lake trips, hot springs, travel, festivals, stargazing nights, and everyday showers with a little extra mood.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-cosmic__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which makes it ideal for repeat dips, late-night swims, and same-day pack-ups.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-cosmic__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand doesn’t cling like it does to cotton terry and shakes off easily with a couple of snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-cosmic__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-cosmic__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of leaving it to meditate in a damp bag.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-cosmic__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-cosmic__spec-grid\"\u003e\n        \u003cdiv class=\"hf-cosmic__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-cosmic__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-cosmic__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-cosmic__spec-meta\"\u003e\n        \u003cdiv class=\"hf-cosmic__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-cosmic__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-cosmic__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, pool, lake, hot springs, travel, festivals, stargazing, bonfires, and everyday showers.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-cosmic-float\" id=\"hfCosmicFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-cosmic-float__inner\"\u003e\n      \u003cdiv class=\"hf-cosmic-float__copy\"\u003e\n        \u003cspan class=\"hf-cosmic-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-cosmic-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-cosmic-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-cosmic-float__btn\" id=\"hfCosmicScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfCosmicFloatBar');\n      var btn = document.getElementById('hfCosmicScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46982111265089,"sku":"HF-ET-CSMC_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46982111297857,"sku":"HF-ET-CSMC_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46982111330625,"sku":"HF-ET-CSMC_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Cosmic-Currents-front-1000-no-background.png?v=1724542711"},{"product_id":"everyday-towel-let-it-all-soak-in-julie-solvstrom","title":"Everyday Towel - Let It All Soak In","description":"\u003csection class=\"hf-soak-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-soak-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-soak{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-soak:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-soak__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-soak__hero-main,\n    .hf-soak__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-soak__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-soak__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-soak__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-soak__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-soak__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-soak__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-soak__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-soak__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-soak__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-soak__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-soak__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-soak__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-soak__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-soak__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-soak__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-soak__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-soak__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-soak__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-soak__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-soak__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-soak__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-soak__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-soak__faq h3,\n    .hf-soak__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-soak__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-soak__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-soak__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-soak__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-soak__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-soak__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-soak__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-soak__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-soak__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-soak__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-soak__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-soak__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-soak__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-soak__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-soak__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-soak__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-soak__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-soak-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-soak-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-soak-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-soak-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-soak-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-soak-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-soak-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-soak-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-soak-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-soak{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-soak__hero,\n      .hf-soak__grid,\n      .hf-soak__feature-list,\n      .hf-soak__spec-grid,\n      .hf-soak__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-soak__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-soak__hero-main,\n      .hf-soak__hero-side,\n      .hf-soak__card,\n      .hf-soak__faq,\n      .hf-soak__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-soak-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-soak-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-soak-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-soak-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-soak-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-soak\"\u003e\n    \u003cheader class=\"hf-soak__hero\"\u003e\n      \u003cdiv class=\"hf-soak__hero-main\"\u003e\n        \u003cp class=\"hf-soak__kicker\"\u003eCOASTAL PERFORMANCE TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-soak__title\"\u003e\n          LET IT ALL SOAK IN\n          \u003cspan\u003eQuick-dry. Travel-ready. Good at slowing things down.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-soak__lead\"\u003e\n          Made for beach days, slow mornings, and post-swim reflections, this ultra-absorbent microfiber towel is built for the moments that don’t need rushing.\n          \u003cbr\u003e\u003cbr\u003e\n          Whether you're chasing waves or chasing stillness, it’s here for every tide, turn, and quiet moment in between.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-soak__hero-side\"\u003e\n        \u003cp class=\"hf-soak__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-soak__side-quote\"\u003eFast-drying. Easy to pack. Calm-looking enough to feel intentional. Useful enough to come everywhere.\u003c\/p\u003e\n        \u003cul class=\"hf-soak__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-soak__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast without the heavy wet-cotton drag.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-soak__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks small for backpacks, totes, carry-ons, and “just in case” situations.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-soak__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand instead of bringing the beach all the way home.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-soak__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eULTRA ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; TRAVEL-READY\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE\u003c\/span\u003e\n      \u003cspan\u003eDURABLE \u0026amp; ECO-CONSCIOUS\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-soak__grid\"\u003e\n      \u003cdiv class=\"hf-soak__card hf-soak__card--full\"\u003e\n        \u003cspan class=\"hf-soak__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eThe towel that earns its spot whether the day stays slow or takes a sharp left.\u003c\/h3\u003e\n        \u003cp\u003e\n          Packable, practical, and always ready, this is the one you throw in the bag for quiet mornings, spontaneous swims, long walks, rinses, resets, and whatever the day decides to become.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-soak__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry \u0026amp; ultra absorbent\u003c\/strong\u003e\n            Dries fast and drinks up water without the heavy wet-cotton weight.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps prevent funk so you can go from water to bag to home without the stink.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; travel-ready\u003c\/strong\u003e\n            Packs small for backpacks, totes, carry-ons, and the “just in case” stash.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free design\u003c\/strong\u003e\n            Sand shakes off instead of sticking around for the ride home.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable \u0026amp; eco-conscious\u003c\/strong\u003e\n            Built to last through repeat washes and seasons of use.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed\u003c\/strong\u003e\n            Coastal-inspired artwork that brings form, function, and a little perspective.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-soak__card\"\u003e\n        \u003cspan class=\"hf-soak__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, light, and not remotely swampy.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft, and light—more like a warm shoreline breeze than a soggy bathroom mat.\n          \u003cbr\u003e\u003cbr\u003e\n          No stiffness. No cling. No soggy sadness.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-soak__card\"\u003e\n        \u003cspan class=\"hf-soak__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eWaves, wisdom, and warmth.\u003c\/h3\u003e\n        \u003cp\u003e\n          The ocean reminds us life keeps moving whether we’re ready or not.\n          \u003cbr\u003e\u003cbr\u003e\n          This towel was made for those quieter pauses: post-swim, on the rocks, in the dunes, after the rinse, before the next thing.\n          \u003cbr\u003e\u003cbr\u003e\n          Wrap up. Breathe. Let it all soak in.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-soak__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-soak__faq-answer\"\u003e\n          Beach days, lake dips, ocean swims, pool sessions, travel, coastal hikes, picnics, and everyday showers.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-soak__faq-answer\"\u003e\n          Yes. Quick-dry microfiber dries significantly faster than standard cotton, which makes it ideal for repeat dips and same-day pack-ups.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-soak__faq-answer\"\u003e\n          Yes. Sand doesn’t cling like it does to cotton terry and shakes off easily with a couple of snaps.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-soak__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-soak__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of trapping it in a damp bag.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-soak__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-soak__spec-grid\"\u003e\n        \u003cdiv class=\"hf-soak__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-soak__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-soak__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-soak__spec-meta\"\u003e\n        \u003cdiv class=\"hf-soak__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-soak__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-soak__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, lake, pool, ocean, travel, everyday shower, meditation, post-swim, and slow mornings.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-soak-float\" id=\"hfSoakFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-soak-float__inner\"\u003e\n      \u003cdiv class=\"hf-soak-float__copy\"\u003e\n        \u003cspan class=\"hf-soak-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-soak-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-soak-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-soak-float__btn\" id=\"hfSoakScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfSoakFloatBar');\n      var btn = document.getElementById('hfSoakScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46986794828097,"sku":"HF-ET-LIASI_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46986794860865,"sku":"HF-ET-LIASI_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46986794893633,"sku":"HF-ET-LIASI_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Everyday_Towel_Let-it-all-soak-in-front-1000-no-background.png?v=1727728628"},{"product_id":"everyday-towel-whale-hello-there-kamber","title":"Everyday Towel - Whale Hello There","description":"\u003csection class=\"hf-whale-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-whale-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-whale{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-whale:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-whale__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-whale__hero-main,\n    .hf-whale__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-whale__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-whale__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-whale__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-whale__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-whale__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-whale__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-whale__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-whale__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-whale__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-whale__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-whale__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-whale__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-whale__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-whale__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-whale__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-whale__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-whale__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-whale__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-whale__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-whale__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-whale__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-whale__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-whale__faq h3,\n    .hf-whale__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-whale__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-whale__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-whale__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-whale__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-whale__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-whale__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-whale__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-whale__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-whale__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-whale__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-whale__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-whale__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-whale__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-whale__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-whale__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-whale__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-whale__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-whale-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-whale-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-whale-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-whale-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-whale-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-whale-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-whale-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-whale-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-whale-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-whale{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-whale__hero,\n      .hf-whale__grid,\n      .hf-whale__feature-list,\n      .hf-whale__spec-grid,\n      .hf-whale__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-whale__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-whale__hero-main,\n      .hf-whale__hero-side,\n      .hf-whale__card,\n      .hf-whale__faq,\n      .hf-whale__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-whale-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-whale-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-whale-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-whale-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-whale-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-whale\"\u003e\n    \u003cheader class=\"hf-whale__hero\"\u003e\n      \u003cdiv class=\"hf-whale__hero-main\"\u003e\n        \u003cp class=\"hf-whale__kicker\"\u003eOCEAN-INSPIRED PERFORMANCE TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-whale__title\"\u003e\n          A TOWEL THAT MAKES A SPLASH\n          \u003cspan\u003eQuick-dry. Packable. Ready to drift.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-whale__lead\"\u003e\n          Whether you're stretched out by the ocean or poolside with your pod, this towel is ready to ride the tide.\n          \u003cbr\u003e\u003cbr\u003e\n          Inspired by elegance, designed for adventure, and built for real function, it’s the one you bring when “just for a little while” turns into the whole day.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-whale__hero-side\"\u003e\n        \u003cp class=\"hf-whale__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-whale__side-quote\"\u003eFast-drying. Lightweight. Artful enough to look expensive. Functional enough to get used constantly.\u003c\/p\u003e\n        \u003cul class=\"hf-whale__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-whale__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries quickly after ocean swims, pool sessions, and repeat dips.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-whale__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down easily for beach bags, daypacks, baskets, and carry-ons.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-whale__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand instead of hauling half the shoreline home with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-whale__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eULTRA ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE DESIGN\u003c\/span\u003e\n      \u003cspan\u003eDURABLE \u0026amp; ECO-FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-whale__grid\"\u003e\n      \u003cdiv class=\"hf-whale__card hf-whale__card--full\"\u003e\n        \u003cspan class=\"hf-whale__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eThe towel you bring for an hour and somehow use until sunset.\u003c\/h3\u003e\n        \u003cp\u003e\n          This is the one you pack when there’s even a slight chance the day might involve water, sand, salt, sun, or a complete lack of planning.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-whale__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry \u0026amp; ultra absorbent\u003c\/strong\u003e\n            Takes on water fast and dries quickly, so you’re not stuck waiting around with a soggy wrap.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial \u0026amp; odor-resistant\u003c\/strong\u003e\n            Helps keep things fresher between uses and washes.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Packs down easily for beach bags, carry-ons, daypacks, and beach cruiser baskets.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free design\u003c\/strong\u003e\n            Sand shakes off instead of hitching a ride back to the car, the house, or somehow your sheets.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable \u0026amp; eco-friendly\u003c\/strong\u003e\n            Built to last through real use instead of getting retired after one season.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed\u003c\/strong\u003e\n            Ocean-inspired artwork that looks as good spread out as it does drying off.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-whale__card\"\u003e\n        \u003cspan class=\"hf-whale__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, smooth, and not remotely swampy.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth microfiber with a silky hand-feel that stays light on the shoulders and easy to wrap.\n          \u003cbr\u003e\u003cbr\u003e\n          No crunchy stiffness. No soggy cotton drag. Just a towel that feels good every time you grab it.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-whale__card\"\u003e\n        \u003cspan class=\"hf-whale__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eVisu-whales \u0026amp; outdoor ritu-whales.\u003c\/h3\u003e\n        \u003cp\u003e\n          This marine design pulls together nature’s quiet power with a nod to blue-and-white porcelain craft from 1700s China—equal parts wave, whale, and visual ritual.\n          \u003cbr\u003e\u003cbr\u003e\n          It’s artful, functional, a little weird in a good way, and yes—it just looks cool.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-whale__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-whale__faq-answer\"\u003e\n          Beach days, ocean swims, pool sessions, travel, boating, lakeside hangs, cliff jumps, and everyday showers.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-whale__faq-answer\"\u003e\n          Yes. Quick-dry microfiber dries significantly faster than standard cotton, which makes it ideal for repeat dips and same-day pack-ups.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-whale__faq-answer\"\u003e\n          Yes. Sand doesn’t cling like it does to cotton terry and shakes off easily with a couple quick snaps, even when damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-whale__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-whale__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of letting it stew in a beach bag.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-whale__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-whale__spec-grid\"\u003e\n        \u003cdiv class=\"hf-whale__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-whale__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-whale__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-whale__spec-meta\"\u003e\n        \u003cdiv class=\"hf-whale__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-whale__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-whale__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, ocean, pool, lake, boat, travel, coastal hikes, everyday showers, and outdoor lounging.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-whale-float\" id=\"hfWhaleFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-whale-float__inner\"\u003e\n      \u003cdiv class=\"hf-whale-float__copy\"\u003e\n        \u003cspan class=\"hf-whale-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-whale-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-whale-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-whale-float__btn\" id=\"hfWhaleScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfWhaleFloatBar');\n      var btn = document.getElementById('hfWhaleScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46986915348801,"sku":"HF-ET-WHLHT_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46986915381569,"sku":"HF-ET-WHLHT_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46986915414337,"sku":"HF-ET-WHLHT_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Whale-Hello-There-front-1000-no-Background.png?v=1724699722"},{"product_id":"everyday-towel-hankerin-for-struttin","title":"Everyday Towel - Hankerin' for a Struttin'","description":"\u003csection class=\"hf-rodeo-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-rodeo-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-rodeo{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-rodeo:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-rodeo__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-rodeo__hero-main,\n    .hf-rodeo__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-rodeo__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-rodeo__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-rodeo__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-rodeo__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-rodeo__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-rodeo__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-rodeo__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-rodeo__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-rodeo__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-rodeo__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-rodeo__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-rodeo__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-rodeo__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-rodeo__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-rodeo__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-rodeo__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-rodeo__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-rodeo__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-rodeo__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-rodeo__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-rodeo__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-rodeo__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-rodeo__faq h3,\n    .hf-rodeo__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-rodeo__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-rodeo__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-rodeo__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-rodeo__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-rodeo__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-rodeo__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-rodeo__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-rodeo__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-rodeo__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-rodeo__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-rodeo__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-rodeo__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-rodeo__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rodeo__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-rodeo__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-rodeo__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-rodeo__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-rodeo-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-rodeo-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-rodeo-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-rodeo-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-rodeo-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-rodeo-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-rodeo-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-rodeo-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-rodeo-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-rodeo{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-rodeo__hero,\n      .hf-rodeo__grid,\n      .hf-rodeo__feature-list,\n      .hf-rodeo__spec-grid,\n      .hf-rodeo__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-rodeo__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-rodeo__hero-main,\n      .hf-rodeo__hero-side,\n      .hf-rodeo__card,\n      .hf-rodeo__faq,\n      .hf-rodeo__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-rodeo-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-rodeo-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-rodeo-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-rodeo-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-rodeo-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-rodeo\"\u003e\n    \u003cheader class=\"hf-rodeo__hero\"\u003e\n      \u003cdiv class=\"hf-rodeo__hero-main\"\u003e\n        \u003cp class=\"hf-rodeo__kicker\"\u003eWESTERN WATERFRONT TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-rodeo__title\"\u003e\n          FROM RODEO TO RIVER\n          \u003cspan\u003eQuick-dry. Packable. Down for whatever.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-rodeo__lead\"\u003e\n          Whether you’re lakeside, poolside, or just playing cowboy at the beach, this ultra-absorbent microfiber towel is built to keep up.\n          \u003cbr\u003e\u003cbr\u003e\n          Lightweight, fast-drying, and compact enough to toss in a saddlebag, backpack, dry bag, or truck cab, it’s high performance with a little swagger.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-rodeo__hero-side\"\u003e\n        \u003cp class=\"hf-rodeo__side-label\"\u003eWhy it earns the ride\u003c\/p\u003e\n        \u003cp class=\"hf-rodeo__side-quote\"\u003eFast-drying. Easy to stash. Tough enough for river rocks, tailgates, pool decks, and bad decisions in good weather.\u003c\/p\u003e\n        \u003cul class=\"hf-rodeo__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-rodeo__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast after dips, dunks, floats, and whatever happened near the water.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-rodeo__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small so it doesn’t take over your bag or truck.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-rodeo__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand and grit instead of hauling the whole shoreline home with you.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-rodeo__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE SHAKE-OFF\u003c\/span\u003e\n      \u003cspan\u003eDURABLE FOR LONG DAYS\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY MATERIALS\u003c\/span\u003e\n      \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-rodeo__grid\"\u003e\n      \u003cdiv class=\"hf-rodeo__card hf-rodeo__card--full\"\u003e\n        \u003cspan class=\"hf-rodeo__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eBuilt for long days in the sun and plans that turn into something else.\u003c\/h3\u003e\n        \u003cp\u003e\n          This towel is made for surprise swims, river floats, pool sessions, camping weekends, tailgates, and any day that starts with “we’ll just see what happens.”\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-rodeo__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry microfiber fabric\u003c\/strong\u003e\n            Dries fast after dips, dunks, and river floats so you’re not packing a soggy roll-up.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSuper absorbent \u0026amp; antimicrobial\u003c\/strong\u003e\n            Soaks up water quickly and helps fight funk between washes.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Easy to stash in a backpack, dry bag, saddlebag, or truck console without taking over.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free shake-off design\u003c\/strong\u003e\n            Sand and dirt shake off easily so most of the trail and shoreline stay where they belong.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable for long days in the sun\u003c\/strong\u003e\n            Built to handle river rocks, pool decks, tailgates, and repeat weekend abuse.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eLimited edition artist-designed print\u003c\/strong\u003e\n            Wild-west-meets-waterfront energy you won’t see on every lounger at the pool.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-rodeo__card\"\u003e\n        \u003cspan class=\"hf-rodeo__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eMore easygoing and less sad hotel towel energy.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft microfiber that wraps easy and dries fast.\n          \u003cbr\u003e\u003cbr\u003e\n          No heavy wet-blanket feel. No crunchy, sunbaked cotton nonsense. Just a quick-drying sidekick that’s ready for the next ride.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-rodeo__card\"\u003e\n        \u003cspan class=\"hf-rodeo__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eWild west meets waterfront.\u003c\/h3\u003e\n        \u003cp\u003e\n          This one’s for the river-floatin’, pool-splashin’, beach-strollin’ cowpokes who traded their spurs for flip-flops and their lassos for pool noodles.\n          \u003cbr\u003e\u003cbr\u003e\n          The print leans western with a laid-back by-the-water twist, because sometimes the best rodeo is watching the sun drop with wet hair and margarita breath.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-rodeo__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-rodeo__faq-answer\"\u003e\n          River floats, lake days, pool sessions, hot tubs, beach hangs, road trips, camping weekends, rodeos, festivals, and any sun-soaked day where you might end up in the water.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-rodeo__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which makes it perfect for long days with multiple dips, quick turnarounds, and packing it up before heading to the next spot.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-rodeo__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand and grit don’t cling like they do to terry cotton and shake off easily with a few quick snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-rodeo__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-rodeo__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully after use instead of leaving it balled up in the truck bed.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-rodeo__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-rodeo__spec-grid\"\u003e\n        \u003cdiv class=\"hf-rodeo__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-rodeo__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-rodeo__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-rodeo__spec-meta\"\u003e\n        \u003cdiv class=\"hf-rodeo__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-rodeo__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-rodeo__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eRiver floats, lake days, pool sessions, beach trips, camping, road trips, festivals, rodeos, everyday showers, and post-adventure dry-off.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-rodeo-float\" id=\"hfRodeoFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-rodeo-float__inner\"\u003e\n      \u003cdiv class=\"hf-rodeo-float__copy\"\u003e\n        \u003cspan class=\"hf-rodeo-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-rodeo-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-rodeo-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-rodeo-float__btn\" id=\"hfRodeoScrollTopBtn\" type=\"button\"\u003e\n        Take Me to the Top ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfRodeoFloatBar');\n      var btn = document.getElementById('hfRodeoScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":46992774070593,"sku":"HF-ET-HNKSTR_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":46992774103361,"sku":"HF-ET-HNKSTR_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":46992774136129,"sku":"HF-ET-HNKSTR_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Everyday_Towel_Hankerin-Front-OP-1000.png?v=1751586402"},{"product_id":"everyday-towel-just-one-more-liam-warr","title":"Everyday Towel - Just One More","description":"\u003csection class=\"hf-delay-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-delay-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-delay{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-delay:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-delay__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-delay__hero-main,\n    .hf-delay__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-delay__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-delay__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.2rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-delay__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-delay__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-delay__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-delay__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-delay__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-delay__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-delay__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-delay__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-delay__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-delay__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-delay__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-delay__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-delay__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-delay__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-delay__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-delay__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-delay__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-delay__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-delay__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-delay__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-delay__faq h3,\n    .hf-delay__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-delay__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-delay__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-delay__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-delay__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-delay__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-delay__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-delay__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-delay__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-delay__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-delay__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-delay__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-delay__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-delay__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-delay__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-delay__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-delay__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-delay__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-delay-float{\n      position:fixed;\n      left:50%;\n      bottom:18px;\n      transform:translateX(-50%) translateY(120%);\n      width:calc(100% - 24px);\n      max-width:760px;\n      z-index:9999;\n      opacity:0;\n      pointer-events:none;\n      transition:transform .28s ease, opacity .28s ease;\n    }\n\n    .hf-delay-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-delay-float__inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(255,255,255,0.12);\n      background:rgba(10,10,10,0.92);\n      backdrop-filter:blur(12px);\n      box-shadow:0 18px 50px rgba(0,0,0,0.4);\n    }\n\n    .hf-delay-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-delay-float__eyebrow{\n      color:var(--hf-yellow);\n      font-size:0.72rem;\n      font-weight:800;\n      letter-spacing:0.12em;\n      text-transform:uppercase;\n    }\n\n    .hf-delay-float__title{\n      color:#fff;\n      font-size:0.95rem;\n      font-weight:800;\n      line-height:1.1;\n      white-space:nowrap;\n      overflow:hidden;\n      text-overflow:ellipsis;\n    }\n\n    .hf-delay-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-delay-float__btn{\n      flex:0 0 auto;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      gap:0.5rem;\n      min-height:50px;\n      padding:0.95rem 1.2rem;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      color:#000;\n      text-decoration:none;\n      border:0;\n      cursor:pointer;\n      font-weight:900;\n      font-size:0.84rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n      box-shadow:0 10px 20px rgba(0,0,0,0.25);\n      transition:transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-delay-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-delay{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-delay__hero,\n      .hf-delay__grid,\n      .hf-delay__feature-list,\n      .hf-delay__spec-grid,\n      .hf-delay__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-delay__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-delay__hero-main,\n      .hf-delay__hero-side,\n      .hf-delay__card,\n      .hf-delay__faq,\n      .hf-delay__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-delay-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-delay-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-delay-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-delay-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-delay-float__btn{\n        min-height:46px;\n        padding:0.9rem 1rem;\n        font-size:0.76rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-delay\"\u003e\n    \u003cheader class=\"hf-delay__hero\"\u003e\n      \u003cdiv class=\"hf-delay__hero-main\"\u003e\n        \u003cp class=\"hf-delay__kicker\"\u003eQUICK-DRY BEACH TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-delay__title\"\u003e\n          BEACH DAYS, LIFE DELAYS\n          \u003cspan\u003eWhen the water wins and the calendar can deal with it.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-delay__lead\"\u003e\n          Some towels are made for function. This one’s made for that moment—when the sun is perfect, the water’s warm, and your calendar can wait.\n          \u003cbr\u003e\u003cbr\u003e\n          Whether you’re beach-bound or in a standoff with your to-do list, this ultra-absorbent towel has your back. Literally.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-delay__hero-side\"\u003e\n        \u003cp class=\"hf-delay__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-delay__side-quote\"\u003eFast-drying. Bag-friendly. Built for “I wasn’t planning on getting wet” situations.\u003c\/p\u003e\n        \u003cul class=\"hf-delay__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-delay__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDries fast enough for beach days, repeat dips, and same-day reuse.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-delay__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small so it lives in your bag without becoming the whole bag.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-delay__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand instead of bringing the beach into your car and sheets.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-delay__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eANTIMICROBIAL\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT \u0026amp; LIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eSAND-FREE DESIGN\u003c\/span\u003e\n      \u003cspan\u003eDURABLE \u0026amp; ECO-FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-delay__grid\"\u003e\n      \u003cdiv class=\"hf-delay__card hf-delay__card--full\"\u003e\n        \u003cspan class=\"hf-delay__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eThe towel you throw in “just in case” and end up using every time.\u003c\/h3\u003e\n        \u003cp\u003e\n          This one earns its spot in your bag. Beach days. Spontaneous swims. Travel days. Last-minute dips. Whatever the plan was before the water got involved.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-delay__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry microfiber\u003c\/strong\u003e\n            Dries fast and feels light, even after full-on ocean dunks and cannonballs.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSuper absorbent \u0026amp; antimicrobial\u003c\/strong\u003e\n            Soaks up water quickly and helps fight funk between washes.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact \u0026amp; lightweight\u003c\/strong\u003e\n            Ideal for travel days, spontaneous swims, and “I might need this” toss-ins.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free design\u003c\/strong\u003e\n            Sand shakes off easily so most of the beach stays on the shore, not in your car or sheets.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDurable \u0026amp; eco-friendly materials\u003c\/strong\u003e\n            Built to last through real use instead of heading to the donation pile after one season.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed\u003c\/strong\u003e\n            Original artwork that looks good laid out, hung up, or draped over a chair you definitely didn’t fold your laundry on.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-delay__card\"\u003e\n        \u003cspan class=\"hf-delay__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eSoft, smooth, and not remotely hotel-towel tragic.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth microfiber that wraps comfortably around you without feeling heavy or soggy.\n          \u003cbr\u003e\u003cbr\u003e\n          No stiff scratch. No wet-blanket vibe. Just an easy, quick-drying towel that feels good every time you grab it.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-delay__card\"\u003e\n        \u003cspan class=\"hf-delay__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eThe beach vs. the clock.\u003c\/h3\u003e\n        \u003cp\u003e\n          This one was inspired by every time we’ve stood ankle-deep in the ocean debating whether to stay or go.\n          \u003cbr\u003e\u003cbr\u003e\n          The part of us that checks the time. The part of us that watches the waves and pretends we didn’t.\n          \u003cbr\u003e\u003cbr\u003e\n          The clock can wait. The tide won’t.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-delay__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-delay__faq-answer\"\u003e\n          Beach days, pool sessions, lake trips, last-minute dips, weekend getaways, travel days, gym showers, and any “I didn’t plan to get wet but here we are” moments.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-delay__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which makes it perfect for using, packing, and reusing in the same day without staying wet.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-delay__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand doesn’t cling like it does to terry cotton and shakes off easily with a couple of snaps, even when the towel is damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-delay__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable, which helps reduce disposable waste and endless towel replacements.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-delay__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully instead of leaving it in a damp pile.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-delay__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-delay__spec-grid\"\u003e\n        \u003cdiv class=\"hf-delay__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-delay__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-delay__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-delay__spec-meta\"\u003e\n        \u003cdiv class=\"hf-delay__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-delay__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-delay__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, pool, lake, travel, weekend trips, gym, camping, everyday shower, and last-minute dips.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n \u003cdiv class=\"hf-delay-float\" id=\"hfDelayFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-delay-float__inner\"\u003e\n    \u003cdiv class=\"hf-delay-float__copy\"\u003e\n      \u003cspan class=\"hf-delay-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-delay-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-delay-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-delay-float__btn\" id=\"hfDelayScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var floatBar = document.getElementById('hfDelayFloatBar');\n      var btn = document.getElementById('hfDelayScrollTopBtn');\n      if (!floatBar || !btn) return;\n\n      var showAfter = 500;\n\n      function toggleFloatBar() {\n        if (window.scrollY \u003e showAfter) {\n          floatBar.classList.add('is-visible');\n          floatBar.setAttribute('aria-hidden', 'false');\n        } else {\n          floatBar.classList.remove('is-visible');\n          floatBar.setAttribute('aria-hidden', 'true');\n        }\n      }\n\n      btn.addEventListener('click', function() {\n        window.scrollTo({\n          top: 0,\n          behavior: 'smooth'\n        });\n      });\n\n      window.addEventListener('scroll', toggleFloatBar, { passive: true });\n      window.addEventListener('load', toggleFloatBar);\n      toggleFloatBar();\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":47440211673409,"sku":"HF-ET-JSTMR_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":47440211706177,"sku":"HF-ET-JSTMR_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":47440211738945,"sku":"HF-ET-JSTMR_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Everyday_Towel_Just-one-More-Front-1000-No-Background_bc24e6a9-272a-4d89-acd2-187f51dce22d.png?v=1727727416"},{"product_id":"everyday-towel-lifes-swell-chuck-hoesly","title":"Everyday Towel - Life's Swell","description":"\u003csection class=\"hf-ultimate-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-ultimate-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0b0b0b;\n      --hf-panel:#141414;\n      --hf-panel-2:#1b1b1b;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#bcbcbc;\n      --hf-shadow:0 22px 60px rgba(0,0,0,0.42);\n      --hf-radius:24px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      font-family: -apple-system, BlinkMacSystemFont, \"San Francisco\", \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif;\n      color: var(--hf-text);\n    }\n\n    .hf-ultimate{\n      position: relative;\n      overflow: hidden;\n      padding: 28px;\n      border-radius: 30px;\n      border: 1px solid var(--hf-border);\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.06), transparent 28%),\n        linear-gradient(180deg, #121212 0%, #0a0a0a 100%);\n      box-shadow: var(--hf-shadow);\n    }\n\n    .hf-ultimate:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 24px 24px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0));\n    }\n\n    .hf-ultimate__hero{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns:1.2fr 0.88fr;\n      gap:18px;\n      margin-bottom:18px;\n    }\n\n    .hf-ultimate__hero-main,\n    .hf-ultimate__hero-side{\n      border-radius:var(--hf-radius);\n      border:1px solid var(--hf-border);\n      background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      padding:22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-ultimate__pill{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding:8px 13px;\n      border-radius:999px;\n      background:rgba(255,217,0,0.10);\n      border:1px solid rgba(255,217,0,0.28);\n      color:var(--hf-yellow);\n      font-size:12px;\n      font-weight:800;\n      letter-spacing:0.13em;\n      text-transform:uppercase;\n    }\n\n    .hf-ultimate__title{\n      margin:0 0 12px;\n      font-size:clamp(2rem, 3vw, 3.1rem);\n      line-height:0.96;\n      letter-spacing:-0.045em;\n      color:var(--hf-yellow);\n      text-transform:uppercase;\n    }\n\n    .hf-ultimate__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-ultimate__lead{\n      margin:0;\n      font-size:1rem;\n      line-height:1.72;\n      color:#fff;\n      max-width:62ch;\n    }\n\n    .hf-ultimate__side-label{\n      margin:0 0 12px;\n      color: var(--hf-muted);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-ultimate__side-headline{\n      margin:0 0 16px;\n      color:#fff;\n      font-size:1.4rem;\n      font-weight:800;\n      line-height:1.08;\n      letter-spacing:-0.03em;\n    }\n\n    .hf-ultimate__side-list{\n      margin:0;\n      padding:0;\n      list-style:none;\n      display:grid;\n      gap:10px;\n    }\n\n    .hf-ultimate__side-list li{\n      display:flex;\n      gap:10px;\n      align-items:flex-start;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n      line-height:1.45;\n      color:#e9e9e9;\n      font-size:0.95rem;\n    }\n\n    .hf-ultimate__side-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-ultimate__dot{\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      flex:0 0 auto;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-ultimate__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-ultimate__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding:10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space:nowrap;\n    }\n\n    .hf-ultimate__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap:16px;\n      margin-bottom:16px;\n    }\n\n    .hf-ultimate__card{\n      border-radius:var(--hf-radius);\n      border:1px solid var(--hf-border);\n      background:linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      padding:20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-ultimate__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-ultimate__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-ultimate__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-ultimate__card p{\n      margin:0;\n      color:#efefef;\n      line-height:1.7;\n      font-size:1rem;\n    }\n\n    .hf-ultimate__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap:12px;\n      list-style:none;\n      padding:0;\n      margin:16px 0 0;\n    }\n\n    .hf-ultimate__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      color:#ececec;\n      line-height:1.55;\n    }\n\n    .hf-ultimate__feature-list strong{\n      display:block;\n      margin-bottom:4px;\n      color:var(--hf-yellow);\n      font-size:0.98rem;\n    }\n\n    .hf-ultimate__cta{\n      position: relative;\n      z-index: 1;\n      margin: 18px 0;\n      padding: 18px;\n      border: 1px solid rgba(255,217,0,0.28);\n      border-radius: 22px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 35%),\n        linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));\n      text-align: center;\n    }\n\n    .hf-ultimate__cta p{\n      margin: 0 0 14px;\n      color: #f1f1f1;\n      font-size: 1rem;\n      line-height: 1.5;\n      font-weight: 700;\n    }\n\n    .hf-ultimate__cta-btn{\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 48px;\n      padding: 0.95rem 1.35rem;\n      border-radius: 999px;\n      background: var(--hf-yellow);\n      color: #000;\n      text-decoration: none;\n      border: 0;\n      cursor: pointer;\n      font-weight: 900;\n      font-size: 0.82rem;\n      letter-spacing: 0.08em;\n      text-transform: uppercase;\n      box-shadow: 0 10px 22px rgba(0,0,0,0.25);\n      transition: transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-ultimate__cta-btn:hover{\n      opacity: 0.9;\n      transform: translateY(-1px);\n    }\n\n    .hf-ultimate__faq{\n      position: relative;\n      z-index: 1;\n      margin:16px 0;\n      padding:22px;\n      border-radius:24px;\n      border:1px solid var(--hf-border);\n      background: linear-gradient(180deg, #111, #0d0d0d);\n    }\n\n    .hf-ultimate__faq h3,\n    .hf-ultimate__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.22rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-ultimate__faq details{\n      border-radius:18px;\n      border:1px solid rgba(255,255,255,0.1);\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-ultimate__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-ultimate__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      padding-right:48px;\n      color:#fff;\n      font-weight:800;\n      position:relative;\n    }\n\n    .hf-ultimate__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-ultimate__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-ultimate__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-ultimate__faq-answer{\n      padding:0 18px 18px;\n      color:#ebebeb;\n      font-size:0.97rem;\n      line-height:1.65;\n    }\n\n    .hf-ultimate__specs{\n      position: relative;\n      z-index: 1;\n      padding:22px;\n      border-radius:24px;\n      border:1px solid var(--hf-border);\n      background: linear-gradient(180deg, #111, #0b0b0b);\n    }\n\n    .hf-ultimate__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap:12px;\n      margin:14px 0 16px;\n    }\n\n    .hf-ultimate__spec-box{\n      border-radius:18px;\n      border:1px solid rgba(255,255,255,0.1);\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-ultimate__spec-box small{\n      display:block;\n      margin-bottom:8px;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n    }\n\n    .hf-ultimate__spec-box strong{\n      display:block;\n      margin-bottom:6px;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      line-height:1.08;\n    }\n\n    .hf-ultimate__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.4;\n    }\n\n    .hf-ultimate__meta-grid{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-ultimate__meta{\n      border-radius:18px;\n      border:1px solid rgba(255,255,255,0.1);\n      background: rgba(255,255,255,0.025);\n      padding:16px;\n    }\n\n    .hf-ultimate__meta--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-ultimate__meta strong{\n      display:block;\n      margin-bottom:8px;\n      color:var(--hf-yellow);\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-ultimate__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    @media (max-width: 820px){\n      .hf-ultimate{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-ultimate__hero,\n      .hf-ultimate__grid,\n      .hf-ultimate__feature-list,\n      .hf-ultimate__spec-grid,\n      .hf-ultimate__meta-grid{\n        grid-template-columns:1fr;\n      }\n\n      .hf-ultimate__hero-main,\n      .hf-ultimate__hero-side,\n      .hf-ultimate__card,\n      .hf-ultimate__faq,\n      .hf-ultimate__specs{\n        padding:18px;\n      }\n\n      .hf-ultimate__title{\n        font-size: clamp(1.8rem, 8vw, 2.5rem);\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-ultimate\"\u003e\n    \u003cheader class=\"hf-ultimate__hero\"\u003e\n      \u003cdiv class=\"hf-ultimate__hero-main\"\u003e\n        \u003cdiv class=\"hf-ultimate__pill\"\u003eQuick-Dry · Sand-Free · Travel-Ready\u003c\/div\u003e\n        \u003ch2 class=\"hf-ultimate__title\"\u003e\n          THE ULTIMATE TOWEL\n          \u003cspan\u003eBig ocean. Small problems. Dry towel.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-ultimate__lead\"\u003e\n          Life’s a lot—so is the ocean. Both are vast, unpredictable, and make us feel tiny sometimes.\n          \u003cbr\u003e\u003cbr\u003e\n          This towel won’t solve the mysteries of the universe, but it will dry you off fast, pack down small, and maybe—even just a little—make you smile.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-ultimate__hero-side\"\u003e\n        \u003cp class=\"hf-ultimate__side-label\"\u003eWhy people actually use it\u003c\/p\u003e\n        \u003cp class=\"hf-ultimate__side-headline\"\u003eFast-drying, sand-shedding, bag-friendly, and way less annoying than a soggy cotton brick.\u003c\/p\u003e\n        \u003cul class=\"hf-ultimate__side-list\"\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-ultimate__dot\"\u003e\u003c\/span\u003e\n            \u003cspan\u003eDries fast so you’re not hauling around a damp mistake all day.\u003c\/span\u003e\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-ultimate__dot\"\u003e\u003c\/span\u003e\n            \u003cspan\u003ePacks down small without hogging your beach bag, backpack, or carry-on.\u003c\/span\u003e\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-ultimate__dot\"\u003e\u003c\/span\u003e\n            \u003cspan\u003eLooks good spread out on the sand, hung up at home, or tossed over a chair.\u003c\/span\u003e\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-ultimate__pills\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eODOR RESISTANT\u003c\/span\u003e\n      \u003cspan\u003eCOMPACT\u003c\/span\u003e\n      \u003cspan\u003eSAND SHAKE-OFF\u003c\/span\u003e\n      \u003cspan\u003eECO-FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-ultimate__grid\"\u003e\n      \u003cdiv class=\"hf-ultimate__card hf-ultimate__card--full\"\u003e\n        \u003cspan class=\"hf-ultimate__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eBuilt for real life, not just folding neatly in a linen closet.\u003c\/h3\u003e\n        \u003cp\u003e\n          This towel is made for saltwater skin, snack breaks, long days outside, and those moments where “good enough” is the entire plan.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-ultimate__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSuper absorbent, quick-dry microfiber\u003c\/strong\u003e\n            Drinks up water fast and dries quickly so you’re not stuck with a soggy, heavy towel.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial and odor-resistant\u003c\/strong\u003e\n            Helps fight funk so it doesn’t smell like you forgot it in the backseat after one use.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact and lightweight\u003c\/strong\u003e\n            Packs down small for beach bags, backpacks, and carry-ons without hogging all the space.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free shake-off design\u003c\/strong\u003e\n            Sand shakes off easily so most of the beach stays on the beach and not in your car or bed.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly and durable\u003c\/strong\u003e\n            Built for repeated use instead of one-and-done replacements.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eArtist-designed for maximum vibe\u003c\/strong\u003e\n            Original artwork that looks as good on the sand as it does hanging in the bathroom.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-ultimate__cta hf-ultimate__card--full\"\u003e\n        \u003cp\u003eAlready convinced? Weird. Efficient. We respect it.\u003c\/p\u003e\n        \u003cbutton class=\"hf-ultimate__cta-btn\" type=\"button\" data-hf-scroll-to-product-title\u003e\n          Back to Product Options ↑\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-ultimate__card\"\u003e\n        \u003cspan class=\"hf-ultimate__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eLight on your shoulders. Not like a wet blanket with abandonment issues.\u003c\/h3\u003e\n        \u003cp\u003e\n          Smooth, soft microfiber that feels easy instead of swampy.\n          \u003cbr\u003e\u003cbr\u003e\n          No crunchy stiffness. No cotton weight. Just a fast-drying towel that keeps up with whatever the day turns into.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-ultimate__card\"\u003e\n        \u003cspan class=\"hf-ultimate__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eChill meets ocean energy.\u003c\/h3\u003e\n        \u003cp\u003e\n          This towel was made for the moments that make us feel small in the best way.\n          \u003cbr\u003e\u003cbr\u003e\n          Standing in front of the ocean, staring at the sky, or zoning out in the kitchen on a random Tuesday.\n          \u003cbr\u003e\u003cbr\u003e\n          You don’t need all the answers. You need something that works.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-ultimate__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ultimate__faq-answer\"\u003e\n          Beach days, lake trips, pool hangs, travel, camping, gym sessions, post-surf warm-ups, and everyday showers when you want something that dries fast and packs small.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ultimate__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which makes it ideal for repeat use, travel days, and tossing it back in your bag without it staying wet.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ultimate__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand doesn’t cling like it does to terry cotton and shakes off easily with a few quick snaps, even when damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it eco-friendly?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ultimate__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic that’s spun into a soft polyester yarn and woven into the microfiber. It’s reusable, washable, and durable.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-ultimate__faq-answer\"\u003e\n          Its antimicrobial, odor-resistant construction helps it stay fresher between washes, especially if you let it dry fully after use instead of balling it up in a damp pile.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-ultimate__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-ultimate__spec-grid\"\u003e\n        \u003cdiv class=\"hf-ultimate__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-ultimate__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-ultimate__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-ultimate__meta-grid\"\u003e\n        \u003cdiv class=\"hf-ultimate__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eRecycled microfiber blend (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-ultimate__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold, tumble dry low or hang to dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-ultimate__meta hf-ultimate__meta--full\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, lake, pool, travel, camping, road trips, gym, everyday shower, and post-adventure dry-off.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cdiv class=\"hf-ultimate__cta\"\u003e\n      \u003cp\u003eYou made it to the end. That feels like towel-buying behavior.\u003c\/p\u003e\n      \u003cbutton class=\"hf-ultimate__cta-btn\" type=\"button\" data-hf-scroll-to-product-title\u003e\n        Back to Product Options ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/article\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var ctaButtons = document.querySelectorAll('[data-hf-scroll-to-product-title]');\n      if (!ctaButtons.length) return;\n\n      function findProductTitleTarget() {\n        var selectors = [\n          '.product__title',\n          '.product__title h1',\n          '.product__info-container h1',\n          '.product-info h1',\n          'h1.product-title',\n          'h1'\n        ];\n\n        for (var i = 0; i \u003c selectors.length; i++) {\n          var target = document.querySelector(selectors[i]);\n          if (target) return target;\n        }\n\n        return null;\n      }\n\n      function scrollToProductTitle() {\n        var target = findProductTitleTarget();\n\n        if (target) {\n          var offset = 90;\n          var top = target.getBoundingClientRect().top + window.pageYOffset - offset;\n\n          window.scrollTo({\n            top: top,\n            behavior: 'smooth'\n          });\n        } else {\n          window.scrollTo({\n            top: 0,\n            behavior: 'smooth'\n          });\n        }\n      }\n\n      ctaButtons.forEach(function(button) {\n        button.addEventListener('click', scrollToProductTitle);\n      });\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":47467913838913,"sku":"HF-ET-LFSW_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":47467913871681,"sku":"HF-ET-LFSW_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":47467913904449,"sku":"HF-ET-LFSW_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Everyday_Towel_Lifes-Swell-Front-1000-No-Background.png?v=1727729523"},{"product_id":"everyday-towel-creatures-comfort-wotto","title":"Everyday Towel - Creatures Comfort","description":"\u003csection class=\"hf-creature-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-creature-wrap{\n      --hf-yellow:#ffd900;\n      --hf-bg:#0d0d0d;\n      --hf-panel:#151515;\n      --hf-panel-2:#1c1c1c;\n      --hf-border:rgba(255,255,255,0.12);\n      --hf-text:#f5f5f5;\n      --hf-muted:#b7b7b7;\n      --hf-shadow:0 20px 50px rgba(0,0,0,0.38);\n      --hf-radius:22px;\n      max-width: 980px;\n      margin: 0 auto 3rem;\n      color: var(--hf-text);\n      font-family: -apple-system,BlinkMacSystemFont,'San Francisco','Segoe UI',Roboto,'Helvetica Neue',sans-serif;\n    }\n\n    .hf-creature{\n      position: relative;\n      overflow: hidden;\n      border: 1px solid var(--hf-border);\n      border-radius: 28px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 30%),\n        radial-gradient(circle at bottom left, rgba(255,217,0,0.08), transparent 28%),\n        linear-gradient(180deg, #111 0%, #0b0b0b 100%);\n      box-shadow: var(--hf-shadow);\n      padding: 28px;\n    }\n\n    .hf-creature:before{\n      content:\"\";\n      position:absolute;\n      inset:0;\n      pointer-events:none;\n      background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n      background-size: 26px 26px;\n      mask-image: linear-gradient(180deg, rgba(0,0,0,0.3), rgba(0,0,0,0));\n    }\n\n    .hf-creature__hero{\n      position: relative;\n      z-index: 1;\n      display: grid;\n      grid-template-columns: 1.25fr 0.9fr;\n      gap: 20px;\n      align-items: stretch;\n      margin-bottom: 18px;\n    }\n\n    .hf-creature__hero-main,\n    .hf-creature__hero-side{\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      border: 1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 22px;\n      backdrop-filter: blur(4px);\n    }\n\n    .hf-creature__kicker{\n      display:inline-flex;\n      align-items:center;\n      gap:8px;\n      margin:0 0 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(255,217,0,0.1);\n      border: 1px solid rgba(255,217,0,0.28);\n      color: var(--hf-yellow);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n    }\n\n    .hf-creature__title{\n      margin: 0 0 12px;\n      font-size: clamp(2rem, 3vw, 3.35rem);\n      line-height: 0.96;\n      letter-spacing: -0.04em;\n      color: var(--hf-yellow);\n      text-transform: uppercase;\n    }\n\n    .hf-creature__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-creature__lead{\n      margin: 0;\n      font-size: 1.05rem;\n      line-height: 1.7;\n      color: #fff;\n      max-width: 60ch;\n    }\n\n    .hf-creature__side-label{\n      margin:0 0 14px;\n      font-size: 0.78rem;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--hf-muted);\n      font-weight: 700;\n    }\n\n    .hf-creature__side-quote{\n      margin:0 0 18px;\n      font-size: 1.35rem;\n      line-height: 1.12;\n      font-weight: 800;\n      letter-spacing: -0.03em;\n      color:#fff;\n    }\n\n    .hf-creature__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-creature__mini-list li{\n      display:flex;\n      align-items:flex-start;\n      gap:10px;\n      color:#e8e8e8;\n      font-size:0.95rem;\n      line-height:1.45;\n      padding-top:10px;\n      border-top:1px solid rgba(255,255,255,0.08);\n    }\n\n    .hf-creature__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-creature__dot{\n      flex:0 0 auto;\n      width:10px;\n      height:10px;\n      border-radius:999px;\n      background:var(--hf-yellow);\n      margin-top:0.38rem;\n      box-shadow:0 0 0 4px rgba(255,217,0,0.12);\n    }\n\n    .hf-creature__pills{\n      position: relative;\n      z-index: 1;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      margin: 0 0 20px;\n    }\n\n    .hf-creature__pills span{\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      padding: 10px 14px;\n      border-radius:999px;\n      background:#fff;\n      color:#000;\n      font-size:0.82rem;\n      font-weight:800;\n      letter-spacing:0.02em;\n      box-shadow: 0 10px 20px rgba(0,0,0,0.22);\n      white-space: nowrap;\n    }\n\n    .hf-creature__grid{\n      position: relative;\n      z-index: 1;\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n      margin-bottom: 16px;\n    }\n\n    .hf-creature__card{\n      background: linear-gradient(180deg, var(--hf-panel-2), var(--hf-panel));\n      border:1px solid var(--hf-border);\n      border-radius: var(--hf-radius);\n      padding: 20px;\n      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);\n    }\n\n    .hf-creature__card--full{\n      grid-column: 1 \/ -1;\n    }\n\n    .hf-creature__section-tag{\n      display:inline-block;\n      margin:0 0 10px;\n      color:var(--hf-yellow);\n      font-size:0.78rem;\n      font-weight:800;\n      letter-spacing:0.14em;\n      text-transform:uppercase;\n    }\n\n    .hf-creature__card h3{\n      margin:0 0 12px;\n      font-size:1.3rem;\n      line-height:1.1;\n      letter-spacing:-0.03em;\n      color:#fff;\n    }\n\n    .hf-creature__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-creature__feature-list{\n      display:grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin: 16px 0 0;\n      padding: 0;\n      list-style:none;\n    }\n\n    .hf-creature__feature-list li{\n      background: rgba(255,255,255,0.03);\n      border:1px solid rgba(255,255,255,0.08);\n      border-radius:18px;\n      padding:14px 14px 14px 16px;\n      line-height:1.55;\n      color:#ececec;\n      min-height:100%;\n    }\n\n    .hf-creature__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-creature__cta{\n      position: relative;\n      z-index: 1;\n      margin: 18px 0;\n      padding: 18px;\n      border: 1px solid rgba(255,217,0,0.28);\n      border-radius: 22px;\n      background:\n        radial-gradient(circle at top right, rgba(255,217,0,0.12), transparent 35%),\n        linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));\n      text-align: center;\n    }\n\n    .hf-creature__cta p{\n      margin: 0 0 14px;\n      color: #f1f1f1;\n      font-size: 1rem;\n      line-height: 1.5;\n      font-weight: 700;\n    }\n\n    .hf-creature__cta-btn{\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 48px;\n      padding: 0.95rem 1.35rem;\n      border-radius: 999px;\n      background: var(--hf-yellow);\n      color: #000;\n      text-decoration: none;\n      border: 0;\n      cursor: pointer;\n      font-weight: 900;\n      font-size: 0.82rem;\n      letter-spacing: 0.08em;\n      text-transform: uppercase;\n      box-shadow: 0 10px 22px rgba(0,0,0,0.25);\n      transition: transform .18s ease, opacity .18s ease;\n    }\n\n    .hf-creature__cta-btn:hover{\n      opacity: 0.9;\n      transform: translateY(-1px);\n    }\n\n    .hf-creature__faq{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #121212, #0f0f0f);\n      border:1px solid var(--hf-border);\n      border-radius: 24px;\n      padding: 22px;\n      margin: 16px 0;\n    }\n\n    .hf-creature__faq h3,\n    .hf-creature__specs h3{\n      margin:0 0 14px;\n      color:var(--hf-yellow);\n      font-size:1.25rem;\n      line-height:1.1;\n      letter-spacing:-0.02em;\n      text-transform:uppercase;\n    }\n\n    .hf-creature__faq details{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));\n      margin-bottom:12px;\n      overflow:hidden;\n    }\n\n    .hf-creature__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-creature__faq summary{\n      list-style:none;\n      cursor:pointer;\n      padding:16px 18px;\n      font-weight:800;\n      color:#fff;\n      position:relative;\n      padding-right:48px;\n    }\n\n    .hf-creature__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-creature__faq summary:after{\n      content:\"+\";\n      position:absolute;\n      right:18px;\n      top:50%;\n      transform:translateY(-50%);\n      color:var(--hf-yellow);\n      font-size:1.2rem;\n      font-weight:900;\n    }\n\n    .hf-creature__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-creature__faq-answer{\n      padding: 0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-creature__specs{\n      position: relative;\n      z-index: 1;\n      background: linear-gradient(180deg, #111, #0d0d0d);\n      border:1px solid var(--hf-border);\n      border-radius:24px;\n      padding:22px;\n    }\n\n    .hf-creature__spec-grid{\n      display:grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      margin: 14px 0 16px;\n    }\n\n    .hf-creature__spec-box{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      background: rgba(255,255,255,0.03);\n      padding:16px;\n    }\n\n    .hf-creature__spec-box small{\n      display:block;\n      color:var(--hf-muted);\n      text-transform:uppercase;\n      letter-spacing:0.12em;\n      font-size:0.72rem;\n      font-weight:800;\n      margin-bottom:8px;\n    }\n\n    .hf-creature__spec-box strong{\n      display:block;\n      color:var(--hf-yellow);\n      font-size:1.15rem;\n      margin-bottom:6px;\n      line-height:1.1;\n    }\n\n    .hf-creature__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-creature__spec-meta{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n      margin-top: 10px;\n    }\n\n    .hf-creature__meta{\n      border:1px solid rgba(255,255,255,0.1);\n      border-radius:18px;\n      padding:16px;\n      background: rgba(255,255,255,0.025);\n    }\n\n    .hf-creature__meta strong{\n      display:block;\n      color:var(--hf-yellow);\n      margin-bottom:8px;\n      font-size:0.9rem;\n      letter-spacing:0.08em;\n      text-transform:uppercase;\n    }\n\n    .hf-creature__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    @media (max-width: 820px){\n      .hf-creature{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-creature__hero,\n      .hf-creature__grid,\n      .hf-creature__feature-list,\n      .hf-creature__spec-grid,\n      .hf-creature__spec-meta{\n        grid-template-columns: 1fr;\n      }\n\n      .hf-creature__title{\n        font-size: clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-creature__hero-main,\n      .hf-creature__hero-side,\n      .hf-creature__card,\n      .hf-creature__faq,\n      .hf-creature__specs{\n        padding:18px;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-creature\"\u003e\n    \u003cheader class=\"hf-creature__hero\"\u003e\n      \u003cdiv class=\"hf-creature__hero-main\"\u003e\n        \u003cp class=\"hf-creature__kicker\"\u003eWOTTO TIDE \u0026amp; TRAIL TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-creature__title\"\u003e\n          CREATURES COMFORT\n          \u003cspan\u003eMost towels get weird. This one keeps it together.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-creature__lead\"\u003e\n          Most towels get weird fast. Wet. Heavy. Smell like regret after one day outside.\n          \u003cbr\u003e\u003cbr\u003e\n          This one doesn’t.\n          \u003cbr\u003e\u003cbr\u003e\n          Quick-dry, sand-resistant microfiber built for beach days, road trips, trail stops, and whatever you end up doing in between.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-creature__hero-side\"\u003e\n        \u003cp class=\"hf-creature__side-label\"\u003eWhy it hits\u003c\/p\u003e\n        \u003cp class=\"hf-creature__side-quote\"\u003eFast-drying. Packable. Weirdly good-looking. Not a soggy little burden.\u003c\/p\u003e\n        \u003cul class=\"hf-creature__mini-list\"\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\n            \u003cspan\u003eShakes off sand instead of collecting half the beach.\u003c\/span\u003e\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\n            \u003cspan\u003ePacks down small so it doesn’t hijack your whole bag.\u003c\/span\u003e\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\n            \u003cspan\u003eArtwork by Wotto, so it actually has a pulse.\u003c\/span\u003e\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-creature__pills\"\u003e\n      \u003cspan\u003eQUICK-DRY MICROFIBER\u003c\/span\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eSAND WON’T STICK\u003c\/span\u003e\n      \u003cspan\u003eODOR RESISTANT\u003c\/span\u003e\n      \u003cspan\u003eLIGHTWEIGHT\u003c\/span\u003e\n      \u003cspan\u003eRECYCLED MATERIALS\u003c\/span\u003e\n      \u003cspan\u003eARTWORK BY WOTTO\u003c\/span\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-creature__grid\"\u003e\n      \u003cdiv class=\"hf-creature__card hf-creature__card--full\"\u003e\n        \u003cspan class=\"hf-creature__section-tag\"\u003eWhy this one\u003c\/span\u003e\n        \u003ch3\u003eBuilt for movement, not bathroom hooks.\u003c\/h3\u003e\n        \u003cp\u003e\n          Regular towels assume you’re staying put. Beach chair. Shower rod. Hook on a hotel door.\n          \u003cbr\u003e\u003cbr\u003e\n          This one was made for moving around. Throw it in the bag. Drag it to the coast. Bring it on the road. Beat it up a little.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-creature__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDries fast\u003c\/strong\u003e\n            So you’re not stuffing a damp towel back into your bag and pretending that’s acceptable behavior.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eActually absorbs\u003c\/strong\u003e\n            Dries you off without turning into a heavy, useless rag five minutes later.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand doesn’t cling\u003c\/strong\u003e\n            Give it a shake and move on with your life.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDoesn’t get funky fast\u003c\/strong\u003e\n            Less smell. Less regret. Fewer gross surprises.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003ePacks small\u003c\/strong\u003e\n            Fits in your bag without bullying everything else in there.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eBuilt to last\u003c\/strong\u003e\n            Made for repeat use, not a short dramatic relationship.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-creature__cta hf-creature__card--full\"\u003e\n        \u003cp\u003eAlready convinced? Weird. Efficient. We respect it.\u003c\/p\u003e\n        \u003cbutton class=\"hf-creature__cta-btn\" type=\"button\" data-hf-scroll-to-product-title\u003e\n          Back to Product Options ↑\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-creature__card\"\u003e\n        \u003cspan class=\"hf-creature__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eLight, smooth, and not full of nonsense.\u003c\/h3\u003e\n        \u003cp\u003e\n          No heavy cotton drag. No damp cling. No swampy post-beach sadness.\n          \u003cbr\u003e\u003cbr\u003e\n          Just a towel that dries fast and behaves itself.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-creature__card\"\u003e\n        \u003cspan class=\"hf-creature__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eLost, found, and a little feral.\u003c\/h3\u003e\n        \u003cp\u003e\n          We think about Bigfoot more than we probably should.\n          \u003cbr\u003e\u003cbr\u003e\n          Not because we’re sure he’s real, but because he feels like the right mascot for being a little off-grid and weirdly comfortable there.\n          \u003cbr\u003e\u003cbr\u003e\n          This towel is for the ones who don’t always have a plan, but usually end up somewhere worth being.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-creature__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is this towel best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-creature__faq-answer\"\u003e\n          Beach days, travel, camping, hiking, gym sessions, yoga, and everyday use. Basically anything where you don’t want a heavy, slow-drying towel.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it actually dry fast?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-creature__faq-answer\"\u003e\n          Yes. Way faster than cotton. Use it, hang it, and it’s ready again without staying damp for hours.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs it really sand-free?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-creature__faq-answer\"\u003e\n          It doesn’t trap sand like cotton. Shake it off and most of it’s gone, even when damp.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWhat’s it made from?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-creature__faq-answer\"\u003e\n          88% recycled plastic spun into microfiber. Durable, reusable, and better than burning through cheap towels every few months.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWill it smell?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-creature__faq-answer\"\u003e\n          It’s odor-resistant, but like anything else on earth, it works better if you let it dry properly.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-creature__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-creature__spec-grid\"\u003e\n        \u003cdiv class=\"hf-creature__spec-box\"\u003e\n          \u003csmall\u003eLarge\u003c\/small\u003e\n          \u003cstrong\u003e72\" × 36\"\u003c\/strong\u003e\n          \u003cspan\u003e20.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-creature__spec-box\"\u003e\n          \u003csmall\u003eMedium\u003c\/small\u003e\n          \u003cstrong\u003e60\" × 30\"\u003c\/strong\u003e\n          \u003cspan\u003e14.3 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-creature__spec-box\"\u003e\n          \u003csmall\u003eSmall\u003c\/small\u003e\n          \u003cstrong\u003e40\" × 20\"\u003c\/strong\u003e\n          \u003cspan\u003e6.6 oz\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-creature__spec-meta\"\u003e\n        \u003cdiv class=\"hf-creature__meta\"\u003e\n          \u003cstrong\u003eMaterial\u003c\/strong\u003e\n          \u003cp\u003eMicrofiber (Polyester + Nylon)\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-creature__meta\"\u003e\n          \u003cstrong\u003eCare\u003c\/strong\u003e\n          \u003cp\u003eMachine wash cold. Tumble dry low or hang dry.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hf-creature__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, travel, camping, gym, trail stops, road trips, everyday life, and getting dry without hauling around a soggy mess.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cdiv class=\"hf-creature__cta\"\u003e\n      \u003cp\u003eYou made it to the end. That feels like towel-buying behavior.\u003c\/p\u003e\n      \u003cbutton class=\"hf-creature__cta-btn\" type=\"button\" data-hf-scroll-to-product-title\u003e\n        Back to Product Options ↑\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/article\u003e\n\n  \u003cscript\u003e\n    (function() {\n      var ctaButtons = document.querySelectorAll('[data-hf-scroll-to-product-title]');\n      if (!ctaButtons.length) return;\n\n      function findProductTitleTarget() {\n        var selectors = [\n          '.product__title',\n          '.product__title h1',\n          '.product__info-container h1',\n          '.product-info h1',\n          'h1.product-title',\n          'h1'\n        ];\n\n        for (var i = 0; i \u003c selectors.length; i++) {\n          var target = document.querySelector(selectors[i]);\n          if (target) return target;\n        }\n\n        return null;\n      }\n\n      function scrollToProductTitle() {\n        var target = findProductTitleTarget();\n\n        if (target) {\n          var offset = 90;\n          var top = target.getBoundingClientRect().top + window.pageYOffset - offset;\n\n          window.scrollTo({\n            top: top,\n            behavior: 'smooth'\n          });\n        } else {\n          window.scrollTo({\n            top: 0,\n            behavior: 'smooth'\n          });\n        }\n      }\n\n      ctaButtons.forEach(function(button) {\n        button.addEventListener('click', scrollToProductTitle);\n      });\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"Happy Faced","offers":[{"title":"LARGE","offer_id":47646990664001,"sku":"HF-ET-CRTCMF_LG","price":38.0,"currency_code":"USD","in_stock":true},{"title":"MEDIUM","offer_id":47646990696769,"sku":"HF-ET-CRTCMF_MD","price":34.0,"currency_code":"USD","in_stock":true},{"title":"SMALL","offer_id":47646990729537,"sku":"HF-ET-CRTCMF_SM","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Creatures-Comfort-Front-Towel-OP.png?v=1724372197"},{"product_id":"super-star-skate-towel","title":"Super Star Skate Towel","description":"\u003cdiv class=\"hf-rad-product\"\u003e\n  \u003c!-- INTRO STRIP --\u003e\n  \u003csection class=\"hf-rad-intro\"\u003e\n    \u003cdiv class=\"hf-rad-intro__bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eSUPER STAR SKATE TOWEL\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-headline\"\u003eA TOWEL BUILT FOR SWEAT, DIRT, AND SKATEBOARDING.\u003c\/h2\u003e\n    \u003cp class=\"hf-rad-lead\"\u003eThe Super Star Skate Towel was made for actual skate sessions, not some decorative little side character pretending to help. It dries fast, wipes sweat off your hands and face, sticks to metal with a built-in magnet and pairs with the Magnetic Towel Holder when you want it attached to your setup instead of ending up on the ground like every other generic towel that never belonged at the spot in the first place. The art just happens to hit like it was built for parking lot lights and late sessions too.\u003c\/p\u003e\n    \u003cdiv class=\"hf-rad-pillrow\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e \u003cspan\u003eQUICK DRY\u003c\/span\u003e \u003cspan\u003eBUILT-IN MAGNET\u003c\/span\u003e \u003cspan\u003eMAGNET SYSTEM READY\u003c\/span\u003e \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FEATURE BLOCKS --\u003e\n  \u003csection class=\"hf-rad-grid\"\u003e\n    \u003carticle class=\"hf-rad-card hf-rad-card--yellow\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eWHY IT HITS\u003c\/p\u003e\n      \u003ch3\u003eLooks hypnotic. Works like hell.\u003c\/h3\u003e\n      \u003cp\u003eRegular towels fall on the ground, stay damp too long, and turn into dead weight in your bag. The Super Star was built for the actual rhythm of skating, especially when one more try turns into twenty and the session slides into night.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eSUPER ABSORBENT\u003c\/p\u003e\n      \u003ch3\u003eDry off. Lock back in.\u003c\/h3\u003e\n      \u003cp\u003ePulls sweat off your face and hands fast so you can stop feeling sticky and get back to the trick that’s been talking shit for the last hour.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eQUICK DRY\u003c\/p\u003e\n      \u003ch3\u003eNo damp towel dead weight.\u003c\/h3\u003e\n      \u003cp\u003eDries quickly between uses so it stays useful instead of turning into a soggy little problem in your bag.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eBUILT-IN MAGNET\u003c\/p\u003e\n      \u003ch3\u003eStick it to metal. Let it wait there.\u003c\/h3\u003e\n      \u003cp\u003eThis is the part that changes everything. Rails, benches, fences, bleachers, cars. If it’s metal, the Super Star has somewhere better to hang than the ground.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eMAGNETIC TOWEL HOLDER READY\u003c\/p\u003e\n      \u003ch3\u003eSnap it into your setup.\u003c\/h3\u003e\n      \u003cp\u003eYour towel’s built-in magnet snaps directly into the holder, giving it a clean place to snap in, stay ready, and stay off the ground instead of getting tossed wherever it lands.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eARTIST DESIGNED\u003c\/p\u003e\n      \u003ch3\u003eReal art with a hypnotic streak.\u003c\/h3\u003e\n      \u003cp\u003eNo fake edge. No generated corporate sludge. Just limited-edition artwork by actual humans making something bold enough to pull you in.\u003c\/p\u003e\n    \u003c\/article\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- UPSELL --\u003e\n  \u003csection class=\"hf-rad-upsell\"\u003e\n    \u003cdiv class=\"hf-rad-upsell__left\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003ePAIR IT WITH OUR MAGNETIC TOWEL HOLDER\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eYour towel has a magnet. Now it has somewhere to go.\u003c\/h2\u003e\n      \u003cp\u003eThe Magnetic Towel Holder is a soft silicone-wrapped magnet with a carabiner, built specifically for our magnetic towels. Clip it to your bag, belt loop, chair, or gear, then let your towel snap into place so it stays close, stays cleaner, and stays off the filthy-ass ground.\u003c\/p\u003e\n      \u003cul class=\"hf-rad-checks\"\u003e\n        \u003cli\u003eMade for Happy Faced magnetic towels\u003c\/li\u003e\n        \u003cli\u003eSoft silicone-wrapped magnet with carabiner\u003c\/li\u003e\n        \u003cli\u003eKeeps your towel within reach\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-upsell__right\"\u003e\n      \u003cdiv class=\"hf-rad-upsell__photo-wrap\" style=\"position:relative;\"\u003e\n        \u003cimg height=\"900\" width=\"900\" alt=\"Happy Faced Magnetic Towel Holder\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Happy_Faced_Magnetic_Towel_Holder_with_measurements.jpg?v=1776465822\" class=\"hf-rad-upsell__photo\"\u003e\n\n        \u003cdiv style=\"\n          position:absolute;\n          inset:0;\n          border-radius:20px;\n          box-shadow:0 0 40px rgba(255,217,0,0.18), inset 0 0 20px rgba(255,217,0,0.08);\n          pointer-events:none;\n        \"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"hf-rad-upsell__badge\" style=\"\n          background:#FFD900;\n          color:#000;\n          font-weight:900;\n          letter-spacing:.8px;\n          box-shadow:0 10px 25px rgba(255,217,0,0.25);\n        \"\u003eMAGNETIC TOWEL READY\u003c\/div\u003e\n\n        \u003cdiv style=\"\n          position:absolute;\n          bottom:-28px;\n          left:50%;\n          transform:translateX(-50%);\n          font-size:12px;\n          color:#ccc;\n          text-align:center;\n          max-width:220px;\n          line-height:1.4;\n        \"\u003emagnet snaps\u003cbr\u003edirectly to your towel\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- USE IT TWO WAYS --\u003e\n  \u003csection class=\"hf-rad-compare hf-rad-compare--equal\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eUSE IT TWO WAYS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBuilt to work at the spot and with your setup.\u003c\/h2\u003e\n      \u003cp class=\"hf-rad-lead\" style=\"max-width:760px;\"\u003eThe built-in magnet gives the Super Star two clean ways to work. Stick it directly to metal at the spot, or pair it with our Magnetic Towel Holder to keep it clipped to your gear and ready to grab. Same towel. Two smart ways to use it.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSTICK IT TO METAL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eAttach it to rails, benches, fences, bleachers, or your car\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel off the ground\u003c\/li\u003e\n          \u003cli\u003eFast and simple when you are skating\u003c\/li\u003e\n          \u003cli\u003ePerfect when there is metal nearby at the spot\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSNAP INTO HOLDER\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eClips to your bag, belt loop, chair, or gear\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel close, clean, and ready to grab\u003c\/li\u003e\n          \u003cli\u003ePerfect when you want your towel attached to your setup\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"hf-rad-compare\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eWHAT MAKES IT DIFFERENT\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eA regular towel does not have this kind of pull.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--muted\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eREGULAR TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eFalls on the ground\u003c\/li\u003e\n          \u003cli\u003eGets damp and weird\u003c\/li\u003e\n          \u003cli\u003eNo clean way to carry it\u003c\/li\u003e\n          \u003cli\u003eLooks accidental\u003c\/li\u003e\n          \u003cli\u003eMade for basically nothing specific\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--good\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSUPER STAR SKATE TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSticks to metal with a built-in magnet\u003c\/li\u003e\n          \u003cli\u003eQuick-dry performance fabric\u003c\/li\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eArtist-designed limited-edition graphics\u003c\/li\u003e\n          \u003cli\u003eMade specifically for skateboarding\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ART STORY --\u003e\n  \u003csection class=\"hf-rad-story\"\u003e\n    \u003cdiv class=\"hf-rad-story__inner\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eTHE ART\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eLimited-edition artwork with starburst energy and a weird little trance to it.\u003c\/h2\u003e\n      \u003cp\u003eThe Super Star design feels like looking into a tunnel of stars after too much sun, too much caffeine, or a very long session. Repeating shapes, deep contrast, and that pull-your-eyes-in kind of pattern that feels equal parts graphic and hypnotic.\u003c\/p\u003e\n      \u003cp\u003eIt’s bold, strange, and made to live on a towel that actually gets used. Once the Super Star is gone, it’s gone.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003csection class=\"hf-rad-specs\"\u003e\n    \u003cdiv class=\"hf-rad-specs__header\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eDETAILS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline hf-rad-subheadline--compact\"\u003eFor the detail-obsessed and the skeptics.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-specs__grid\"\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMaterial\u003c\/span\u003e \u003cstrong\u003ePerformance microfiber\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eDry Time\u003c\/span\u003e \u003cstrong\u003eQuick dry\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMagnet\u003c\/span\u003e \u003cstrong\u003eEmbedded\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eCarry\u003c\/span\u003e \u003cstrong\u003eMagnet system compatible\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eArtwork\u003c\/span\u003e \u003cstrong\u003eLimited edition\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eUse\u003c\/span\u003e \u003cstrong\u003eSkate sessions, street spots, parks\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"hf-rad-faq-wrap\"\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-subheadline\"\u003eStuff people ask before they commit.\u003c\/h2\u003e\n    \u003cdiv class=\"hf-rad-faq\"\u003e\n      \u003cdetails open=\"\"\u003e\n        \u003csummary\u003eWhat makes the Super Star Skate Towel different from a normal towel?\u003c\/summary\u003e\n        \u003cdiv\u003eIt was built specifically for skateboarding, with quick-dry fabric, an embedded magnet, and compatibility with the Magnetic Towel Holder system.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Super Star Skate Towel have a built-in magnet?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. The built-in magnet lets you stick it to metal surfaces like rails, benches, fences, bleachers, and cars so it stays off the ground and within reach.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it come with the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eNo. The towel and the Magnetic Towel Holder are sold separately, so you can build your setup how you want.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Super Star Skate Towel without the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. You can use the built-in magnet on metal surfaces at the spot, or pair it with the Magnetic Towel Holder if you want a dedicated place for it on your gear.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Super Star Skate Towel for actual skate sessions?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. That’s the entire point of this thing.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the artwork limited edition?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. Each design is made in limited runs and won’t hang around forever.\u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"hf-ultimate-float\" id=\"hfUltimateFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-ultimate-float__inner\"\u003e\n    \u003cdiv class=\"hf-ultimate-float__copy\"\u003e\n      \u003cspan class=\"hf-ultimate-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-ultimate-float__btn\" id=\"hfScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function() {\n    var floatBar = document.getElementById('hfUltimateFloatBar');\n    var btn = document.getElementById('hfScrollTopBtn');\n    if (!floatBar || !btn) return;\n\n    var showAfter = 500;\n\n    function toggleFloatBar() {\n      if (window.scrollY \u003e showAfter) {\n        floatBar.classList.add('is-visible');\n        floatBar.setAttribute('aria-hidden', 'false');\n      } else {\n        floatBar.classList.remove('is-visible');\n        floatBar.setAttribute('aria-hidden', 'true');\n      }\n    }\n\n    btn.addEventListener('click', function() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    });\n\n    window.addEventListener('scroll', toggleFloatBar, { passive: true });\n    window.addEventListener('load', toggleFloatBar);\n    toggleFloatBar();\n  })();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  .hf-rad-product{\n    color:#fff;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-rad-product *{\n    box-sizing:border-box;\n  }\n\n  .hf-rad-product a{\n    text-decoration:none;\n  }\n\n  .hf-rad-kicker{\n    margin:0 0 14px;\n    color:#FFD900;\n    font-size:12px;\n    line-height:1.1;\n    letter-spacing:.18em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-headline{\n    margin:0 0 18px;\n    font-size:clamp(2rem, 5vw, 4rem);\n    line-height:.95;\n    letter-spacing:-.05em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline{\n    margin:0 0 18px;\n    font-size:clamp(1.5rem, 4vw, 2.7rem);\n    line-height:1;\n    letter-spacing:-.04em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline--compact{\n    font-size:clamp(1.2rem, 3vw, 2rem);\n    line-height:1.05;\n    letter-spacing:-.03em;\n    max-width:520px;\n  }\n\n  .hf-rad-lead,\n  .hf-rad-story p,\n  .hf-rad-upsell p{\n    margin:0 0 14px;\n    color:#d7d7d7;\n    font-size:1.05rem;\n    line-height:1.7;\n    max-width:840px;\n  }\n\n  .hf-rad-intro,\n  .hf-rad-grid,\n  .hf-rad-upsell,\n  .hf-rad-compare,\n  .hf-rad-story,\n  .hf-rad-specs,\n  .hf-rad-faq-wrap{\n    margin:0 0 26px;\n  }\n\n  .hf-rad-intro{\n    position:relative;\n    padding:28px 0 8px;\n  }\n\n  .hf-rad-intro__bar{\n    width:88px;\n    height:4px;\n    border-radius:999px;\n    background:#FFD900;\n    margin:0 0 22px;\n  }\n\n  .hf-rad-pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-rad-pillrow span{\n    padding:10px 12px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.14);\n    background:rgba(255,255,255,.04);\n    color:#fff;\n    font-size:.76rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:16px;\n  }\n\n  .hf-rad-card{\n    padding:22px;\n    border-radius:22px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    box-shadow:0 14px 30px rgba(0,0,0,.14);\n  }\n\n  .hf-rad-card--yellow{\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.14), transparent 40%),\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    border-color:rgba(255,217,0,.22);\n  }\n\n  .hf-rad-card__eyebrow{\n    margin:0 0 10px;\n    color:#FFD900;\n    font-size:.72rem;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card h3{\n    margin:0 0 10px;\n    font-size:1.2rem;\n    line-height:1.05;\n    letter-spacing:-.03em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card p{\n    margin:0;\n    color:#d6d6d6;\n    line-height:1.7;\n  }\n\n  .hf-rad-upsell{\n    display:grid;\n    grid-template-columns:1.1fr .9fr;\n    gap:20px;\n    align-items:center;\n    padding:28px;\n    border-radius:28px;\n    border:1px solid rgba(255,217,0,.24);\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-checks{\n    list-style:none;\n    margin:18px 0 0;\n    padding:0;\n    display:grid;\n    gap:10px;\n  }\n\n  .hf-rad-checks li{\n    position:relative;\n    padding-left:26px;\n    color:#e2e2e2;\n    line-height:1.5;\n  }\n\n  .hf-rad-checks li::before{\n    content:\"✓\";\n    position:absolute;\n    left:0;\n    top:0;\n    color:#FFD900;\n    font-weight:900;\n  }\n\n  .hf-rad-upsell__right{\n    display:flex;\n    flex-direction:column;\n    gap:12px;\n    align-items:flex-end;\n  }\n\n  .hf-rad-upsell__photo-wrap{\n    position:relative;\n    width:100%;\n    max-width:320px;\n    padding:18px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n    box-shadow:0 18px 34px rgba(0,0,0,.16);\n  }\n\n  .hf-rad-upsell__photo{\n    display:block;\n    width:100%;\n    height:auto;\n    border-radius:16px;\n    object-fit:contain;\n    filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));\n  }\n\n  .hf-rad-upsell__badge{\n    position:absolute;\n    right:14px;\n    bottom:14px;\n    padding:8px 10px;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    font-size:.7rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-compare{\n    padding:26px;\n    border-radius:28px;\n    border:1px solid rgba(255,255,255,.08);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.08), transparent 34%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-compare__intro{\n    margin-bottom:20px;\n  }\n\n  .hf-rad-compare__grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:16px;\n    align-items:start;\n  }\n\n  .hf-rad-column{\n    border-radius:22px;\n    overflow:hidden;\n    border:1px solid rgba(255,255,255,.10);\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-column__top{\n    padding:15px 18px;\n    font-size:.78rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-column--muted .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#ababab;\n  }\n\n  .hf-rad-column--good{\n    border-color:rgba(255,217,0,.28);\n    box-shadow:0 18px 34px rgba(255,217,0,.06);\n  }\n\n  .hf-rad-column--good .hf-rad-column__top{\n    background:#FFD900;\n    color:#000;\n  }\n\n  .hf-rad-column ul{\n    list-style:none;\n    margin:0;\n    padding:0;\n  }\n\n  .hf-rad-column li{\n    position:relative;\n    padding:18px 18px 18px 46px;\n    border-top:1px solid rgba(255,255,255,.08);\n    color:#e6e6e6;\n    line-height:1.55;\n  }\n\n  .hf-rad-column--muted li::before,\n  .hf-rad-column--good li::before,\n  .hf-rad-column--equal li::before{\n    position:absolute;\n    left:18px;\n    top:18px;\n    font-weight:900;\n  }\n\n  .hf-rad-column--muted li::before{\n    content:\"×\";\n    color:#7f7f7f;\n  }\n\n  .hf-rad-column--good li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column{\n    border-color:rgba(255,255,255,.10);\n    box-shadow:none;\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-compare--equal .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#fff;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-story{\n    padding:28px;\n    border-left:4px solid #FFD900;\n    background:rgba(255,255,255,.025);\n    border-radius:0 22px 22px 0;\n  }\n\n  .hf-rad-specs{\n    padding:22px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.025);\n  }\n\n  .hf-rad-specs__header{\n    margin-bottom:16px;\n  }\n\n  .hf-rad-specs__grid{\n    display:grid;\n    grid-template-columns:repeat(3,minmax(0,1fr));\n    gap:10px;\n  }\n\n  .hf-rad-spec{\n    display:flex;\n    flex-direction:column;\n    justify-content:flex-start;\n    gap:6px;\n    padding:14px 14px 13px;\n    border-radius:14px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.03);\n    min-width:0;\n  }\n\n  .hf-rad-spec span{\n    color:#9f9f9f;\n    font-size:.72rem;\n    line-height:1.1;\n    letter-spacing:.08em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-spec strong{\n    color:#fff;\n    text-align:left;\n    font-size:.96rem;\n    line-height:1.35;\n    word-break:break-word;\n  }\n\n  .hf-rad-faq{\n    display:grid;\n    gap:12px;\n  }\n\n  .hf-rad-faq details{\n    border:1px solid rgba(255,255,255,.10);\n    border-radius:18px;\n    background:rgba(255,255,255,.03);\n    overflow:hidden;\n  }\n\n  .hf-rad-faq summary{\n    list-style:none;\n    cursor:pointer;\n    padding:18px 20px;\n    font-weight:900;\n    line-height:1.4;\n    position:relative;\n    padding-right:52px;\n  }\n\n  .hf-rad-faq summary::-webkit-details-marker{\n    display:none;\n  }\n\n  .hf-rad-faq summary::after{\n    content:\"+\";\n    position:absolute;\n    right:18px;\n    top:50%;\n    transform:translateY(-50%);\n    color:#FFD900;\n    font-size:1.3rem;\n    font-weight:900;\n  }\n\n  .hf-rad-faq details[open] summary::after{\n    content:\"–\";\n  }\n\n  .hf-rad-faq details div{\n    padding:0 20px 20px;\n    color:#d7d7d7;\n    line-height:1.7;\n  }\n\n  .hf-rad-btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    font-size:.9rem;\n    font-weight:900;\n    letter-spacing:.05em;\n    text-transform:uppercase;\n    transition:all .2s ease;\n  }\n\n  .hf-rad-btn--primary{\n    background:#FFD900;\n    color:#000;\n    border:2px solid #FFD900;\n  }\n\n  .hf-rad-btn--primary:hover{\n    transform:translateY(-2px);\n    box-shadow:0 10px 30px rgba(255,217,0,.22);\n  }\n\n  .hf-rad-btn--ghost{\n    background:transparent;\n    color:#fff;\n    border:2px solid rgba(255,255,255,.16);\n  }\n\n  .hf-rad-btn--ghost:hover{\n    border-color:#FFD900;\n    color:#FFD900;\n  }\n\n  .hf-ultimate-float{\n    position:fixed;\n    left:50%;\n    bottom:18px;\n    transform:translateX(-50%) translateY(120%);\n    width:calc(100% - 24px);\n    max-width:760px;\n    z-index:9999;\n    opacity:0;\n    pointer-events:none;\n    transition:transform .28s ease, opacity .28s ease;\n  }\n\n  .hf-ultimate-float.is-visible{\n    transform:translateX(-50%) translateY(0);\n    opacity:1;\n    pointer-events:auto;\n  }\n\n  .hf-ultimate-float__inner{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    padding:12px;\n    border-radius:20px;\n    border:1px solid rgba(255,255,255,0.12);\n    background:rgba(10,10,10,0.92);\n    backdrop-filter:blur(12px);\n    box-shadow:0 18px 50px rgba(0,0,0,0.4);\n  }\n\n  .hf-ultimate-float__copy{\n    min-width:0;\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n\n  .hf-ultimate-float__eyebrow{\n    color:#FFD900;\n    font-size:0.72rem;\n    font-weight:800;\n    letter-spacing:0.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-ultimate-float__title{\n    color:#fff;\n    font-size:0.95rem;\n    font-weight:800;\n    line-height:1.1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .hf-ultimate-float__meta{\n    color:#cfcfcf;\n    font-size:0.82rem;\n    line-height:1.2;\n  }\n\n  .hf-ultimate-float__btn{\n    flex:0 0 auto;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:0.5rem;\n    min-height:50px;\n    padding:0.95rem 1.2rem;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    text-decoration:none;\n    font-weight:900;\n    font-size:0.84rem;\n    letter-spacing:0.08em;\n    text-transform:uppercase;\n    box-shadow:0 10px 20px rgba(0,0,0,0.25);\n    transition:transform .18s ease, opacity .18s ease;\n    border:none;\n    cursor:pointer;\n    font-family:inherit;\n  }\n\n  .hf-ultimate-float__btn:hover{\n    opacity:0.9;\n    transform:translateY(-1px);\n  }\n\n  @media (max-width: 1100px){\n    .hf-rad-grid{\n      grid-template-columns:repeat(2,1fr);\n    }\n\n    .hf-rad-upsell{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-upsell__right{\n      align-items:flex-start;\n      flex-direction:row;\n      flex-wrap:wrap;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hf-rad-grid,\n    .hf-rad-compare__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-card,\n    .hf-rad-compare,\n    .hf-rad-story,\n    .hf-rad-upsell,\n    .hf-rad-specs{\n      padding:20px;\n      border-radius:20px;\n    }\n\n    .hf-rad-column{\n      border-radius:18px;\n    }\n\n    .hf-rad-column__top{\n      padding:13px 14px;\n      font-size:.72rem;\n      letter-spacing:.1em;\n    }\n\n    .hf-rad-column li{\n      padding:14px 14px 14px 38px;\n      font-size:.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rad-column--muted li::before,\n    .hf-rad-column--good li::before,\n    .hf-rad-column--equal li::before{\n      left:14px;\n      top:14px;\n    }\n\n    .hf-rad-subheadline{\n      font-size:clamp(1.35rem, 7vw, 2rem);\n      line-height:1.02;\n    }\n\n    .hf-rad-subheadline--compact{\n      font-size:1.1rem;\n      line-height:1.08;\n      max-width:320px;\n      margin-bottom:14px;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:8px;\n    }\n\n    .hf-rad-spec{\n      padding:12px 12px 11px;\n      border-radius:12px;\n      gap:5px;\n    }\n\n    .hf-rad-spec span{\n      font-size:.66rem;\n      letter-spacing:.07em;\n    }\n\n    .hf-rad-spec strong{\n      font-size:.88rem;\n      line-height:1.25;\n    }\n\n    .hf-rad-upsell__right{\n      flex-direction:column;\n      width:100%;\n      align-items:stretch;\n    }\n\n    .hf-rad-upsell__photo-wrap{\n      max-width:none;\n    }\n  }\n\n  @media (max-width: 640px){\n    .hf-ultimate-float{\n      width:calc(100% - 16px);\n      bottom:12px;\n    }\n\n    .hf-ultimate-float__inner{\n      padding:10px;\n      gap:10px;\n    }\n\n    .hf-ultimate-float__title{\n      font-size:0.88rem;\n    }\n\n    .hf-ultimate-float__meta{\n      font-size:0.76rem;\n    }\n\n    .hf-ultimate-float__btn{\n      min-height:46px;\n      padding:0.9rem 1rem;\n      font-size:0.78rem;\n    }\n  }\n\n  @media (max-width: 420px){\n    .hf-rad-specs__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-ultimate-float__inner{\n      align-items:flex-start;\n      flex-direction:column;\n    }\n\n    .hf-ultimate-float__btn{\n      width:100%;\n    }\n  }\n\u003c\/style\u003e","brand":"Happy Faced","offers":[{"title":"Default Title","offer_id":51497939894593,"sku":"SKT-SUPSTR","price":24.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Super_Star_Skateboarding_Towel.png?v=1778879154"},{"product_id":"web-ritual-skate-towel","title":"Web Ritual Skate Towel","description":"\u003cdiv class=\"hf-rad-product\"\u003e\n\n  \u003c!-- INTRO STRIP --\u003e\n  \u003csection class=\"hf-rad-intro\"\u003e\n    \u003cdiv class=\"hf-rad-intro__bar\"\u003e\u003c\/div\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eWEB RITUAL SKATE TOWEL\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-headline\"\u003eBUILT FOR SWEAT, SLAMS, AND CURSED CURB SESSIONS.\u003c\/h2\u003e\n    \u003cp class=\"hf-rad-lead\"\u003e\n      The Web Ritual Skate Towel was made for actual skate sessions, not some spooky little fantasy version of them.\n      It dries fast, wipes sweat off your hands and face, sticks to metal with a built-in magnet and pairs with the Magnetic Towel Holder when you want it attached to your setup.\n      That keeps it close instead of ending up on the ground like every other generic towel that had no business showing up to the spot.\n      The art just happens to look like it knows something you don’t.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"hf-rad-pillrow\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK DRY\u003c\/span\u003e\n      \u003cspan\u003eBUILT-IN MAGNET\u003c\/span\u003e\n      \u003cspan\u003eMAGNET SYSTEM READY\u003c\/span\u003e\n      \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FEATURE BLOCKS --\u003e\n  \u003csection class=\"hf-rad-grid\"\u003e\n    \u003carticle class=\"hf-rad-card hf-rad-card--yellow\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eWHY IT HITS\u003c\/p\u003e\n      \u003ch3\u003eLooks cursed. Works like hell.\u003c\/h3\u003e\n      \u003cp\u003e\n        Sweaty palms. Dusty ledges. Sitting down for two minutes after getting worked by the same trick again.\n        Regular towels are useless in that kind of mess. The Web Ritual was built for the actual rhythm of a session.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eSUPER ABSORBENT\u003c\/p\u003e\n      \u003ch3\u003eDry off. Recenter. Try again.\u003c\/h3\u003e\n      \u003cp\u003e\n        Handles sweat fast so your face, hands, and neck stop feeling cooked before attempt number 87 at the thing that should have worked by now.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eQUICK DRY\u003c\/p\u003e\n      \u003ch3\u003eNo damp haunted rag energy.\u003c\/h3\u003e\n      \u003cp\u003e\n        Dries quickly between uses so you are not carrying around a wet, useless lump of fabric for the rest of the day.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eBUILT-IN MAGNET\u003c\/p\u003e\n      \u003ch3\u003eStick it somewhere smarter.\u003c\/h3\u003e\n      \u003cp\u003e\n        Rails, benches, fences, bleachers, cars. If it’s metal, the Web Ritual has a place to hang instead of ending up in the dirt.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eMAGNETIC TOWEL HOLDER READY\u003c\/p\u003e\n      \u003ch3\u003eSnap it into your setup.\u003c\/h3\u003e\n      \u003cp\u003e\n        Your towel’s built-in magnet snaps directly into the holder, giving it a clean place to snap in, stay ready, and stay off the ground instead of getting tossed wherever it lands.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eARTIST DESIGNED\u003c\/p\u003e\n      \u003ch3\u003eReal art. Real humans. No fake mysticism.\u003c\/h3\u003e\n      \u003cp\u003e\n        No generated sludge. No committee-built “edge.” Just limited-edition artwork by actual people making things with a pulse.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- UPSELL --\u003e\n  \u003csection class=\"hf-rad-upsell\"\u003e\n    \u003cdiv class=\"hf-rad-upsell__left\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003ePAIR IT WITH OUR MAGNETIC TOWEL HOLDER\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eYour towel has a magnet. Now it has somewhere to go.\u003c\/h2\u003e\n      \u003cp\u003e\n        The Magnetic Towel Holder is a soft silicone-wrapped magnet with a carabiner, built specifically for our magnetic towels. Clip it to your bag, belt loop, chair, or gear, then let your towel snap into place so it stays close, stays cleaner, and stays off the ground. There when you need it. Out of the way when you don’t.\n      \u003c\/p\u003e\n\n      \u003cul class=\"hf-rad-checks\"\u003e\n        \u003cli\u003eMade for Happy Faced magnetic towels\u003c\/li\u003e\n        \u003cli\u003eSoft silicone-wrapped magnet with carabiner\u003c\/li\u003e\n        \u003cli\u003eKeeps your towel up, clean, and ready\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-upsell__right\"\u003e\n      \u003cdiv class=\"hf-rad-upsell__photo-wrap\" style=\"position:relative;\"\u003e\n        \u003cimg class=\"hf-rad-upsell__photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Happy_Faced_Magnetic_Towel_Holder_with_measurements.jpg?v=1776465822\" alt=\"Happy Faced Magnetic Towel Holder\" width=\"900\" height=\"900\"\u003e\n\n        \u003c!-- Glow effect --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          inset:0;\n          border-radius:20px;\n          box-shadow:0 0 40px rgba(255,217,0,0.18), inset 0 0 20px rgba(255,217,0,0.08);\n          pointer-events:none;\n        \"\u003e\u003c\/div\u003e\n\n        \u003c!-- Badge --\u003e\n        \u003cdiv class=\"hf-rad-upsell__badge\" style=\"\n          background:#FFD900;\n          color:#000;\n          font-weight:900;\n          letter-spacing:.8px;\n          box-shadow:0 10px 25px rgba(255,217,0,0.25);\n        \"\u003e\n          MAGNETIC TOWEL READY\n        \u003c\/div\u003e\n\n        \u003c!-- Helper text --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          bottom:-28px;\n          left:50%;\n          transform:translateX(-50%);\n          font-size:12px;\n          color:#ccc;\n          text-align:center;\n          max-width:220px;\n          line-height:1.4;\n        \"\u003e\n          magnet snaps\u003cbr\u003edirectly to your towel\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- USE IT TWO WAYS --\u003e\n  \u003csection class=\"hf-rad-compare hf-rad-compare--equal\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eUSE IT TWO WAYS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBuilt to work at the spot and with your setup.\u003c\/h2\u003e\n      \u003cp class=\"hf-rad-lead\" style=\"max-width:760px;\"\u003e\n        The built-in magnet gives the Web Ritual two clean ways to work. Stick it directly to metal at the spot, or pair it with our Magnetic Towel Holder to keep it clipped to your gear and ready to grab. Same towel. Two smart ways to use it.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSTICK IT TO METAL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eAttach it to rails, benches, fences, bleachers, or your car\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel off the ground\u003c\/li\u003e\n          \u003cli\u003eFast and simple when you are skating\u003c\/li\u003e\n          \u003cli\u003ePerfect when there is metal nearby at the spot\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSNAP INTO HOLDER\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eClips to your bag, belt loop, chair, or gear\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel close, clean, and ready to grab\u003c\/li\u003e\n          \u003cli\u003ePerfect when you want your towel attached to your setup\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"hf-rad-compare\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eWHAT MAKES IT DIFFERENT\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eA normal towel would not survive the ceremony.\u003c\/h2\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--muted\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eREGULAR TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eFalls straight to the ground\u003c\/li\u003e\n          \u003cli\u003eGets damp and stays annoying\u003c\/li\u003e\n          \u003cli\u003eNo clean way to carry it\u003c\/li\u003e\n          \u003cli\u003eLooks like an afterthought\u003c\/li\u003e\n          \u003cli\u003eMade for nothing specific\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-rad-column hf-rad-column--good\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eWEB RITUAL SKATE TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSticks to metal with a built-in magnet\u003c\/li\u003e\n          \u003cli\u003eQuick-dry performance fabric\u003c\/li\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eArtist-designed limited-edition graphics\u003c\/li\u003e\n          \u003cli\u003eMade specifically for skateboarding\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ART STORY --\u003e\n  \u003csection class=\"hf-rad-story\"\u003e\n    \u003cdiv class=\"hf-rad-story__inner\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eTHE ART\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eLIMITED-EDITION ARTWORK WITH OCCULT ENERGY AND ZERO FAKE-DEPTH BULLSHIT.\u003c\/h2\u003e\n      \u003cp\u003e\n        The Web Ritual design pulls from ouija boards, spider webs, symbols, and all the strange little systems people use to make meaning out of chaos.\n        Which, honestly, is not that far off from skateboarding.\n      \u003c\/p\u003e\n      \u003cp\u003e\n        It’s bold, weird, a little ominous, and built to live on a towel that gets dragged through actual life.\n        Once Web Ritual is gone, it’s gone.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003csection class=\"hf-rad-specs\"\u003e\n    \u003cdiv class=\"hf-rad-specs__header\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eDETAILS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline hf-rad-subheadline--compact\"\u003eFor the detail-obsessed and the skeptics.\u003c\/h2\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-specs__grid\"\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMaterial\u003c\/span\u003e\n        \u003cstrong\u003ePerformance microfiber\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eDry Time\u003c\/span\u003e\n        \u003cstrong\u003eQuick dry\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMagnet\u003c\/span\u003e\n        \u003cstrong\u003eEmbedded\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eCarry\u003c\/span\u003e\n        \u003cstrong\u003eMagnet system compatible\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eArtwork\u003c\/span\u003e\n        \u003cstrong\u003eLimited edition\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eUse\u003c\/span\u003e\n        \u003cstrong\u003eSkate sessions, street spots, parks\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"hf-rad-faq-wrap\"\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-subheadline\"\u003eStuff people ask before they commit.\u003c\/h2\u003e\n\n    \u003cdiv class=\"hf-rad-faq\"\u003e\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat makes the Web Ritual Skate Towel different from a normal towel?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          It was built specifically for skateboarding, with quick-dry fabric, an embedded magnet,\n          and compatibility with the Magnetic Towel Holder system.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Web Ritual Skate Towel have a built-in magnet?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          Yes. The built-in magnet lets you stick it to metal surfaces like rails, benches, fences, bleachers, and cars so it stays off the ground and within reach.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it come with the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          No. The towel and the Magnetic Towel Holder are sold separately, so you can build your setup how you want.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Web Ritual Skate Towel without the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          Yes. You can use the built-in magnet on metal surfaces at the spot, or pair it with the Magnetic Towel Holder if you want a dedicated place for it on your gear.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Web Ritual Skate Towel for actual skate sessions?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          Yes. That’s exactly what it was made for.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the artwork limited edition?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          Yes. Each design is made in limited runs and won’t hang around forever.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"hf-ultimate-float\" id=\"hfUltimateFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-ultimate-float__inner\"\u003e\n    \u003cdiv class=\"hf-ultimate-float__copy\"\u003e\n      \u003cspan class=\"hf-ultimate-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-ultimate-float__btn\" id=\"hfScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function() {\n    var floatBar = document.getElementById('hfUltimateFloatBar');\n    var btn = document.getElementById('hfScrollTopBtn');\n    if (!floatBar || !btn) return;\n\n    var showAfter = 500;\n\n    function toggleFloatBar() {\n      if (window.scrollY \u003e showAfter) {\n        floatBar.classList.add('is-visible');\n        floatBar.setAttribute('aria-hidden', 'false');\n      } else {\n        floatBar.classList.remove('is-visible');\n        floatBar.setAttribute('aria-hidden', 'true');\n      }\n    }\n\n    btn.addEventListener('click', function() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    });\n\n    window.addEventListener('scroll', toggleFloatBar, { passive: true });\n    window.addEventListener('load', toggleFloatBar);\n    toggleFloatBar();\n  })();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  .hf-rad-product{\n    color:#fff;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-rad-product *{\n    box-sizing:border-box;\n  }\n\n  .hf-rad-product a{\n    text-decoration:none;\n  }\n\n  .hf-rad-kicker{\n    margin:0 0 14px;\n    color:#FFD900;\n    font-size:12px;\n    line-height:1.1;\n    letter-spacing:.18em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-headline{\n    margin:0 0 18px;\n    font-size:clamp(2rem, 5vw, 4rem);\n    line-height:.95;\n    letter-spacing:-.05em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline{\n    margin:0 0 18px;\n    font-size:clamp(1.5rem, 4vw, 2.7rem);\n    line-height:1;\n    letter-spacing:-.04em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline--compact{\n    font-size:clamp(1.2rem, 3vw, 2rem);\n    line-height:1.05;\n    letter-spacing:-.03em;\n    max-width:520px;\n  }\n\n  .hf-rad-lead,\n  .hf-rad-story p,\n  .hf-rad-upsell p{\n    margin:0 0 14px;\n    color:#d7d7d7;\n    font-size:1.05rem;\n    line-height:1.7;\n    max-width:840px;\n  }\n\n  .hf-rad-intro,\n  .hf-rad-grid,\n  .hf-rad-upsell,\n  .hf-rad-compare,\n  .hf-rad-story,\n  .hf-rad-specs,\n  .hf-rad-faq-wrap{\n    margin:0 0 26px;\n  }\n\n  .hf-rad-intro{\n    position:relative;\n    padding:28px 0 8px;\n  }\n\n  .hf-rad-intro__bar{\n    width:88px;\n    height:4px;\n    border-radius:999px;\n    background:#FFD900;\n    margin:0 0 22px;\n  }\n\n  .hf-rad-pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-rad-pillrow span{\n    padding:10px 12px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.14);\n    background:rgba(255,255,255,.04);\n    color:#fff;\n    font-size:.76rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:16px;\n  }\n\n  .hf-rad-card{\n    padding:22px;\n    border-radius:22px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    box-shadow:0 14px 30px rgba(0,0,0,.14);\n  }\n\n  .hf-rad-card--yellow{\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.14), transparent 40%),\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    border-color:rgba(255,217,0,.22);\n  }\n\n  .hf-rad-card__eyebrow{\n    margin:0 0 10px;\n    color:#FFD900;\n    font-size:.72rem;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card h3{\n    margin:0 0 10px;\n    font-size:1.2rem;\n    line-height:1.05;\n    letter-spacing:-.03em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card p{\n    margin:0;\n    color:#d6d6d6;\n    line-height:1.7;\n  }\n\n  .hf-rad-upsell{\n    display:grid;\n    grid-template-columns:1.1fr .9fr;\n    gap:20px;\n    align-items:center;\n    padding:28px;\n    border-radius:28px;\n    border:1px solid rgba(255,217,0,.24);\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-checks{\n    list-style:none;\n    margin:18px 0 0;\n    padding:0;\n    display:grid;\n    gap:10px;\n  }\n\n  .hf-rad-checks li{\n    position:relative;\n    padding-left:26px;\n    color:#e2e2e2;\n    line-height:1.5;\n  }\n\n  .hf-rad-checks li::before{\n    content:\"✓\";\n    position:absolute;\n    left:0;\n    top:0;\n    color:#FFD900;\n    font-weight:900;\n  }\n\n  .hf-rad-upsell__right{\n    display:flex;\n    flex-direction:column;\n    gap:12px;\n    align-items:flex-end;\n  }\n\n  .hf-rad-upsell__photo-wrap{\n    position:relative;\n    width:100%;\n    max-width:320px;\n    padding:18px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n    box-shadow:0 18px 34px rgba(0,0,0,.16);\n  }\n\n  .hf-rad-upsell__photo{\n    display:block;\n    width:100%;\n    height:auto;\n    border-radius:16px;\n    object-fit:contain;\n    filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));\n  }\n\n  .hf-rad-upsell__badge{\n    position:absolute;\n    right:14px;\n    bottom:14px;\n    padding:8px 10px;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    font-size:.7rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-compare{\n    padding:26px;\n    border-radius:28px;\n    border:1px solid rgba(255,255,255,.08);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.08), transparent 34%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-compare__intro{\n    margin-bottom:20px;\n  }\n\n  .hf-rad-compare__grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:16px;\n    align-items:start;\n  }\n\n  .hf-rad-column{\n    border-radius:22px;\n    overflow:hidden;\n    border:1px solid rgba(255,255,255,.10);\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-column__top{\n    padding:15px 18px;\n    font-size:.78rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-column--muted .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#ababab;\n  }\n\n  .hf-rad-column--good{\n    border-color:rgba(255,217,0,.28);\n    box-shadow:0 18px 34px rgba(255,217,0,.06);\n  }\n\n  .hf-rad-column--good .hf-rad-column__top{\n    background:#FFD900;\n    color:#000;\n  }\n\n  .hf-rad-column ul{\n    list-style:none;\n    margin:0;\n    padding:0;\n  }\n\n  .hf-rad-column li{\n    position:relative;\n    padding:18px 18px 18px 46px;\n    border-top:1px solid rgba(255,255,255,.08);\n    color:#e6e6e6;\n    line-height:1.55;\n  }\n\n  .hf-rad-column--muted li::before,\n  .hf-rad-column--good li::before,\n  .hf-rad-column--equal li::before{\n    position:absolute;\n    left:18px;\n    top:18px;\n    font-weight:900;\n  }\n\n  .hf-rad-column--muted li::before{\n    content:\"×\";\n    color:#7f7f7f;\n  }\n\n  .hf-rad-column--good li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column{\n    border-color:rgba(255,255,255,.10);\n    box-shadow:none;\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-compare--equal .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#fff;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-story{\n    padding:28px;\n    border-left:4px solid #FFD900;\n    background:rgba(255,255,255,.025);\n    border-radius:0 22px 22px 0;\n  }\n\n  .hf-rad-specs{\n    padding:22px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.025);\n  }\n\n  .hf-rad-specs__header{\n    margin-bottom:16px;\n  }\n\n  .hf-rad-specs__grid{\n    display:grid;\n    grid-template-columns:repeat(3,minmax(0,1fr));\n    gap:10px;\n  }\n\n  .hf-rad-spec{\n    display:flex;\n    flex-direction:column;\n    justify-content:flex-start;\n    gap:6px;\n    padding:14px 14px 13px;\n    border-radius:14px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.03);\n    min-width:0;\n  }\n\n  .hf-rad-spec span{\n    color:#9f9f9f;\n    font-size:.72rem;\n    line-height:1.1;\n    letter-spacing:.08em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-spec strong{\n    color:#fff;\n    text-align:left;\n    font-size:.96rem;\n    line-height:1.35;\n    word-break:break-word;\n  }\n\n  .hf-rad-faq{\n    display:grid;\n    gap:12px;\n  }\n\n  .hf-rad-faq details{\n    border:1px solid rgba(255,255,255,.10);\n    border-radius:18px;\n    background:rgba(255,255,255,.03);\n    overflow:hidden;\n  }\n\n  .hf-rad-faq summary{\n    list-style:none;\n    cursor:pointer;\n    padding:18px 20px;\n    font-weight:900;\n    line-height:1.4;\n    position:relative;\n    padding-right:52px;\n  }\n\n  .hf-rad-faq summary::-webkit-details-marker{\n    display:none;\n  }\n\n  .hf-rad-faq summary::after{\n    content:\"+\";\n    position:absolute;\n    right:18px;\n    top:50%;\n    transform:translateY(-50%);\n    color:#FFD900;\n    font-size:1.3rem;\n    font-weight:900;\n  }\n\n  .hf-rad-faq details[open] summary::after{\n    content:\"–\";\n  }\n\n  .hf-rad-faq details div{\n    padding:0 20px 20px;\n    color:#d7d7d7;\n    line-height:1.7;\n  }\n\n  .hf-rad-btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    font-size:.9rem;\n    font-weight:900;\n    letter-spacing:.05em;\n    text-transform:uppercase;\n    transition:all .2s ease;\n  }\n\n  .hf-rad-btn--primary{\n    background:#FFD900;\n    color:#000;\n    border:2px solid #FFD900;\n  }\n\n  .hf-rad-btn--primary:hover{\n    transform:translateY(-2px);\n    box-shadow:0 10px 30px rgba(255,217,0,.22);\n  }\n\n  .hf-rad-btn--ghost{\n    background:transparent;\n    color:#fff;\n    border:2px solid rgba(255,255,255,.16);\n  }\n\n  .hf-rad-btn--ghost:hover{\n    border-color:#FFD900;\n    color:#FFD900;\n  }\n\n  .hf-ultimate-float{\n    position:fixed;\n    left:50%;\n    bottom:18px;\n    transform:translateX(-50%) translateY(120%);\n    width:calc(100% - 24px);\n    max-width:760px;\n    z-index:9999;\n    opacity:0;\n    pointer-events:none;\n    transition:transform .28s ease, opacity .28s ease;\n  }\n\n  .hf-ultimate-float.is-visible{\n    transform:translateX(-50%) translateY(0);\n    opacity:1;\n    pointer-events:auto;\n  }\n\n  .hf-ultimate-float__inner{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    padding:12px;\n    border-radius:20px;\n    border:1px solid rgba(255,255,255,0.12);\n    background:rgba(10,10,10,0.92);\n    backdrop-filter:blur(12px);\n    box-shadow:0 18px 50px rgba(0,0,0,0.4);\n  }\n\n  .hf-ultimate-float__copy{\n    min-width:0;\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n\n  .hf-ultimate-float__eyebrow{\n    color:#FFD900;\n    font-size:0.72rem;\n    font-weight:800;\n    letter-spacing:0.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-ultimate-float__title{\n    color:#fff;\n    font-size:0.95rem;\n    font-weight:800;\n    line-height:1.1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .hf-ultimate-float__meta{\n    color:#cfcfcf;\n    font-size:0.82rem;\n    line-height:1.2;\n  }\n\n  .hf-ultimate-float__btn{\n    flex:0 0 auto;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:0.5rem;\n    min-height:50px;\n    padding:0.95rem 1.2rem;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    text-decoration:none;\n    font-weight:900;\n    font-size:0.84rem;\n    letter-spacing:0.08em;\n    text-transform:uppercase;\n    box-shadow:0 10px 20px rgba(0,0,0,0.25);\n    transition:transform .18s ease, opacity .18s ease;\n    border:none;\n    cursor:pointer;\n    font-family:inherit;\n  }\n\n  .hf-ultimate-float__btn:hover{\n    opacity:0.9;\n    transform:translateY(-1px);\n  }\n\n  @media (max-width: 1100px){\n    .hf-rad-grid{\n      grid-template-columns:repeat(2,1fr);\n    }\n\n    .hf-rad-upsell{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-upsell__right{\n      align-items:flex-start;\n      flex-direction:row;\n      flex-wrap:wrap;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hf-rad-grid,\n    .hf-rad-compare__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-card,\n    .hf-rad-compare,\n    .hf-rad-story,\n    .hf-rad-upsell,\n    .hf-rad-specs{\n      padding:20px;\n      border-radius:20px;\n    }\n\n    .hf-rad-column{\n      border-radius:18px;\n    }\n\n    .hf-rad-column__top{\n      padding:13px 14px;\n      font-size:.72rem;\n      letter-spacing:.1em;\n    }\n\n    .hf-rad-column li{\n      padding:14px 14px 14px 38px;\n      font-size:.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rad-column--muted li::before,\n    .hf-rad-column--good li::before,\n    .hf-rad-column--equal li::before{\n      left:14px;\n      top:14px;\n    }\n\n    .hf-rad-subheadline{\n      font-size:clamp(1.35rem, 7vw, 2rem);\n      line-height:1.02;\n    }\n\n    .hf-rad-subheadline--compact{\n      font-size:1.1rem;\n      line-height:1.08;\n      max-width:320px;\n      margin-bottom:14px;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:8px;\n    }\n\n    .hf-rad-spec{\n      padding:12px 12px 11px;\n      border-radius:12px;\n      gap:5px;\n    }\n\n    .hf-rad-spec span{\n      font-size:.66rem;\n      letter-spacing:.07em;\n    }\n\n    .hf-rad-spec strong{\n      font-size:.88rem;\n      line-height:1.25;\n    }\n\n    .hf-rad-upsell__right{\n      flex-direction:column;\n      width:100%;\n      align-items:stretch;\n    }\n\n    .hf-rad-upsell__photo-wrap{\n      max-width:none;\n    }\n  }\n\n  @media (max-width: 640px){\n    .hf-ultimate-float{\n      width:calc(100% - 16px);\n      bottom:12px;\n    }\n\n    .hf-ultimate-float__inner{\n      padding:10px;\n      gap:10px;\n    }\n\n    .hf-ultimate-float__title{\n      font-size:0.88rem;\n    }\n\n    .hf-ultimate-float__meta{\n      font-size:0.76rem;\n    }\n\n    .hf-ultimate-float__btn{\n      min-height:46px;\n      padding:0.9rem 1rem;\n      font-size:0.78rem;\n    }\n  }\n\n  @media (max-width: 420px){\n    .hf-rad-specs__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-ultimate-float__inner{\n      align-items:flex-start;\n      flex-direction:column;\n    }\n\n    .hf-ultimate-float__btn{\n      width:100%;\n    }\n  }\n\u003c\/style\u003e","brand":"Happy Faced","offers":[{"title":"Default Title","offer_id":51498389045569,"sku":"SKT-WEBRIT","price":24.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/84335189-D834-43E6-9FAC-D2F057C55287.png?v=1778597675"},{"product_id":"rainbow-coast-skate-towel","title":"Rainbow Coast Skate Towel","description":"\u003cdiv class=\"hf-rad-product\"\u003e\n\n  \u003c!-- INTRO STRIP --\u003e\n  \u003csection class=\"hf-rad-intro\"\u003e\n    \u003cdiv class=\"hf-rad-intro__bar\"\u003e\u003c\/div\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eRAINBOW COAST SKATE TOWEL\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-headline\"\u003eBUILT FOR SWEAT, SUN, AND CONCRETE BY THE COAST.\u003c\/h2\u003e\n    \u003cp class=\"hf-rad-lead\"\u003e\n      The Rainbow Coast Skate Towel was made for real sessions in real heat.\n      It dries fast, wipes sweat off your hands and face, sticks to metal with a built-in magnet and pairs with the Magnetic Towel Holder when you want it attached to your setup.\n      That keeps it close instead of ending up on the ground like every other towel that was never built for this.\n      It just happens to look good doing it.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"hf-rad-pillrow\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eQUICK DRY\u003c\/span\u003e\n      \u003cspan\u003eBUILT-IN MAGNET\u003c\/span\u003e\n      \u003cspan\u003eMAGNET SYSTEM READY\u003c\/span\u003e\n      \u003cspan\u003eLIMITED ART\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FEATURE BLOCKS --\u003e\n  \u003csection class=\"hf-rad-grid\"\u003e\n    \u003carticle class=\"hf-rad-card hf-rad-card--yellow\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eWHY IT HITS\u003c\/p\u003e\n      \u003ch3\u003eLooks clean. Handles chaos.\u003c\/h3\u003e\n      \u003cp\u003e\n        Sun overhead. Concrete dust everywhere. Sweat running into your eyes.\n        Regular towels fall apart out here. The Rainbow Coast was built for the real feel of skating outside, not some polished fantasy version of it.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eSUPER ABSORBENT\u003c\/p\u003e\n      \u003ch3\u003eDry off fast and keep rolling.\u003c\/h3\u003e\n      \u003cp\u003e\n        Pulls sweat off your face, hands, and neck so you can stop feeling slippery and get back to the trick that’s been disrespecting you all afternoon.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eQUICK DRY\u003c\/p\u003e\n      \u003ch3\u003eDries fast. Stays useful.\u003c\/h3\u003e\n      \u003cp\u003e\n        Quick-dry fabric means less damp towel nonsense and a lot less carrying around something that feels like a wet mistake.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eBUILT-IN MAGNET\u003c\/p\u003e\n      \u003ch3\u003eGive it a better place to live.\u003c\/h3\u003e\n      \u003cp\u003e\n        Benches, rails, fences, bleachers, cars. If it’s metal, the Rainbow Coast has somewhere better to hang than the ground.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eMAGNETIC TOWEL HOLDER READY\u003c\/p\u003e\n      \u003ch3\u003eSnap it into your setup.\u003c\/h3\u003e\n      \u003cp\u003e\n        Your towel’s built-in magnet snaps directly into the holder, giving it a clean place to snap in, stay ready, and stay off the ground instead of getting tossed wherever it lands.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eARTIST DESIGNED\u003c\/p\u003e\n      \u003ch3\u003eClean art by actual humans.\u003c\/h3\u003e\n      \u003cp\u003e\n        No fake edge. No overworked design sludge. Just limited-edition artwork with a crisp, laid-back hit that still knows how to show up.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- UPSELL --\u003e\n  \u003csection class=\"hf-rad-upsell\"\u003e\n    \u003cdiv class=\"hf-rad-upsell__left\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003ePAIR IT WITH OUR MAGNETIC TOWEL HOLDER\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eYour towel has a magnet. Now it has somewhere to go.\u003c\/h2\u003e\n      \u003cp\u003e\n        The Magnetic Towel Holder is a soft silicone-wrapped magnet with a carabiner, built specifically for our magnetic towels. Clip it to your bag, belt loop, chair, or gear, then let your towel snap into place so it stays close, stays cleaner, and stays off the ground. There when you need it. Out of the way when you don’t.\n      \u003c\/p\u003e\n\n      \u003cul class=\"hf-rad-checks\"\u003e\n        \u003cli\u003eMade for Happy Faced magnetic towels\u003c\/li\u003e\n        \u003cli\u003eSoft silicone-wrapped magnet with carabiner\u003c\/li\u003e\n        \u003cli\u003eKeeps your towel up, clean, and ready\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-upsell__right\"\u003e\n      \u003cdiv class=\"hf-rad-upsell__photo-wrap\" style=\"position:relative;\"\u003e\n        \u003cimg class=\"hf-rad-upsell__photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Happy_Faced_Magnetic_Towel_Holder_with_measurements.jpg?v=1776465822\" alt=\"Happy Faced Magnetic Towel Holder\" width=\"900\" height=\"900\"\u003e\n\n        \u003c!-- Glow effect --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          inset:0;\n          border-radius:20px;\n          box-shadow:0 0 40px rgba(255,217,0,0.18), inset 0 0 20px rgba(255,217,0,0.08);\n          pointer-events:none;\n        \"\u003e\u003c\/div\u003e\n\n        \u003c!-- Badge --\u003e\n        \u003cdiv class=\"hf-rad-upsell__badge\" style=\"\n          background:#FFD900;\n          color:#000;\n          font-weight:900;\n          letter-spacing:.8px;\n          box-shadow:0 10px 25px rgba(255,217,0,0.25);\n        \"\u003e\n          MAGNETIC TOWEL READY\n        \u003c\/div\u003e\n\n        \u003c!-- Helper text --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          bottom:-28px;\n          left:50%;\n          transform:translateX(-50%);\n          font-size:12px;\n          color:#ccc;\n          text-align:center;\n          max-width:220px;\n          line-height:1.4;\n        \"\u003e\n          magnet snaps\u003cbr\u003edirectly to your towel\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- USE IT TWO WAYS --\u003e\n  \u003csection class=\"hf-rad-compare hf-rad-compare--equal\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eUSE IT TWO WAYS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBuilt to work at the spot and with your setup.\u003c\/h2\u003e\n      \u003cp class=\"hf-rad-lead\" style=\"max-width:760px;\"\u003e\n        The built-in magnet gives the Rainbow Coast two clean ways to work. Stick it directly to metal at the spot, or pair it with our Magnetic Towel Holder to keep it clipped to your gear and ready to grab. Same towel. Two smart ways to use it.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSTICK IT TO METAL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eAttach it to benches, rails, fences, bleachers, or your car\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel off the ground\u003c\/li\u003e\n          \u003cli\u003eFast and simple when you are skating\u003c\/li\u003e\n          \u003cli\u003ePerfect when there is metal nearby at the spot\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSNAP INTO HOLDER\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eClips to your bag, belt loop, chair, or gear\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel close, clean, and ready to grab\u003c\/li\u003e\n          \u003cli\u003ePerfect when you want your towel attached to your setup\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"hf-rad-compare\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eWHAT MAKES IT DIFFERENT\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eA regular towel is not built for this kind of weather.\u003c\/h2\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--muted\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eREGULAR TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eFalls straight to the ground\u003c\/li\u003e\n          \u003cli\u003eGets damp and stays annoying\u003c\/li\u003e\n          \u003cli\u003eNo smart way to carry it\u003c\/li\u003e\n          \u003cli\u003eLooks random and forgettable\u003c\/li\u003e\n          \u003cli\u003eMade for basically nothing specific\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-rad-column hf-rad-column--good\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eRAINBOW COAST SKATE TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSticks to metal with a built-in magnet\u003c\/li\u003e\n          \u003cli\u003eQuick-dry performance fabric\u003c\/li\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eArtist-designed limited-edition graphics\u003c\/li\u003e\n          \u003cli\u003eMade specifically for skateboarding\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ART STORY --\u003e\n  \u003csection class=\"hf-rad-story\"\u003e\n    \u003cdiv class=\"hf-rad-story__inner\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eTHE ART\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eLimited-edition artwork with coastal calm and just enough punch.\u003c\/h2\u003e\n      \u003cp\u003e\n        The Rainbow Coast keeps it simple in the best way. Soft coastal tones, bold curved geometry, and that sun-meets-water feel without turning into cheesy beach-shop wallpaper.\n      \u003c\/p\u003e\n      \u003cp\u003e\n        It’s clean, graphic, and made to live on a towel that actually gets used. Once the Rainbow Coast is gone, it’s gone.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003csection class=\"hf-rad-specs\"\u003e\n    \u003cdiv class=\"hf-rad-specs__header\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eDETAILS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline hf-rad-subheadline--compact\"\u003eFor the detail-obsessed and the skeptics.\u003c\/h2\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-specs__grid\"\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMaterial\u003c\/span\u003e\n        \u003cstrong\u003ePerformance microfiber\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eDry Time\u003c\/span\u003e\n        \u003cstrong\u003eQuick dry\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMagnet\u003c\/span\u003e\n        \u003cstrong\u003eEmbedded\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eCarry\u003c\/span\u003e\n        \u003cstrong\u003eMagnet system compatible\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eArtwork\u003c\/span\u003e\n        \u003cstrong\u003eLimited edition\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eUse\u003c\/span\u003e\n        \u003cstrong\u003eSkate sessions, street spots, parks\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"hf-rad-faq-wrap\"\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-subheadline\"\u003eStuff people ask before they commit.\u003c\/h2\u003e\n\n    \u003cdiv class=\"hf-rad-faq\"\u003e\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat makes the Rainbow Coast Skate Towel different from a normal towel?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          It was built specifically for skateboarding, with quick-dry fabric, an embedded magnet,\n          and compatibility with the Magnetic Towel Holder system.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Rainbow Coast Skate Towel have a built-in magnet?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          Yes. The built-in magnet lets you stick it to metal surfaces like benches, rails, fences, bleachers, and cars so it stays off the ground and within reach.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes it come with the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          No. The towel and the Magnetic Towel Holder are sold separately, so you can build your setup how you want.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Rainbow Coast Skate Towel without the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          Yes. You can use the built-in magnet on metal surfaces at the spot, or pair it with the Magnetic Towel Holder if you want a dedicated place for it on your gear.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Rainbow Coast Skate Towel for actual skate sessions?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          Yes. That’s exactly what it was made for.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the artwork limited edition?\u003c\/summary\u003e\n        \u003cdiv\u003e\n          Yes. Each design is made in limited runs and won’t hang around forever.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"hf-ultimate-float\" id=\"hfUltimateFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-ultimate-float__inner\"\u003e\n    \u003cdiv class=\"hf-ultimate-float__copy\"\u003e\n      \u003cspan class=\"hf-ultimate-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-ultimate-float__btn\" id=\"hfScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function() {\n    var floatBar = document.getElementById('hfUltimateFloatBar');\n    var btn = document.getElementById('hfScrollTopBtn');\n    if (!floatBar || !btn) return;\n\n    var showAfter = 500;\n\n    function toggleFloatBar() {\n      if (window.scrollY \u003e showAfter) {\n        floatBar.classList.add('is-visible');\n        floatBar.setAttribute('aria-hidden', 'false');\n      } else {\n        floatBar.classList.remove('is-visible');\n        floatBar.setAttribute('aria-hidden', 'true');\n      }\n    }\n\n    btn.addEventListener('click', function() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    });\n\n    window.addEventListener('scroll', toggleFloatBar, { passive: true });\n    window.addEventListener('load', toggleFloatBar);\n    toggleFloatBar();\n  })();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  .hf-rad-product{\n    color:#fff;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-rad-product *{\n    box-sizing:border-box;\n  }\n\n  .hf-rad-product a{\n    text-decoration:none;\n  }\n\n  .hf-rad-kicker{\n    margin:0 0 14px;\n    color:#FFD900;\n    font-size:12px;\n    line-height:1.1;\n    letter-spacing:.18em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-headline{\n    margin:0 0 18px;\n    font-size:clamp(2rem, 5vw, 4rem);\n    line-height:.95;\n    letter-spacing:-.05em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline{\n    margin:0 0 18px;\n    font-size:clamp(1.5rem, 4vw, 2.7rem);\n    line-height:1;\n    letter-spacing:-.04em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline--compact{\n    font-size:clamp(1.2rem, 3vw, 2rem);\n    line-height:1.05;\n    letter-spacing:-.03em;\n    max-width:520px;\n  }\n\n  .hf-rad-lead,\n  .hf-rad-story p,\n  .hf-rad-upsell p{\n    margin:0 0 14px;\n    color:#d7d7d7;\n    font-size:1.05rem;\n    line-height:1.7;\n    max-width:840px;\n  }\n\n  .hf-rad-intro,\n  .hf-rad-grid,\n  .hf-rad-upsell,\n  .hf-rad-compare,\n  .hf-rad-story,\n  .hf-rad-specs,\n  .hf-rad-faq-wrap{\n    margin:0 0 26px;\n  }\n\n  .hf-rad-intro{\n    position:relative;\n    padding:28px 0 8px;\n  }\n\n  .hf-rad-intro__bar{\n    width:88px;\n    height:4px;\n    border-radius:999px;\n    background:#FFD900;\n    margin:0 0 22px;\n  }\n\n  .hf-rad-pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-rad-pillrow span{\n    padding:10px 12px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.14);\n    background:rgba(255,255,255,.04);\n    color:#fff;\n    font-size:.76rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:16px;\n  }\n\n  .hf-rad-card{\n    padding:22px;\n    border-radius:22px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    box-shadow:0 14px 30px rgba(0,0,0,.14);\n  }\n\n  .hf-rad-card--yellow{\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.14), transparent 40%),\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    border-color:rgba(255,217,0,.22);\n  }\n\n  .hf-rad-card__eyebrow{\n    margin:0 0 10px;\n    color:#FFD900;\n    font-size:.72rem;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card h3{\n    margin:0 0 10px;\n    font-size:1.2rem;\n    line-height:1.05;\n    letter-spacing:-.03em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card p{\n    margin:0;\n    color:#d6d6d6;\n    line-height:1.7;\n  }\n\n  .hf-rad-upsell{\n    display:grid;\n    grid-template-columns:1.1fr .9fr;\n    gap:20px;\n    align-items:center;\n    padding:28px;\n    border-radius:28px;\n    border:1px solid rgba(255,217,0,.24);\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-checks{\n    list-style:none;\n    margin:18px 0 0;\n    padding:0;\n    display:grid;\n    gap:10px;\n  }\n\n  .hf-rad-checks li{\n    position:relative;\n    padding-left:26px;\n    color:#e2e2e2;\n    line-height:1.5;\n  }\n\n  .hf-rad-checks li::before{\n    content:\"✓\";\n    position:absolute;\n    left:0;\n    top:0;\n    color:#FFD900;\n    font-weight:900;\n  }\n\n  .hf-rad-upsell__right{\n    display:flex;\n    flex-direction:column;\n    gap:12px;\n    align-items:flex-end;\n  }\n\n  .hf-rad-upsell__photo-wrap{\n    position:relative;\n    width:100%;\n    max-width:320px;\n    padding:18px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n    box-shadow:0 18px 34px rgba(0,0,0,.16);\n  }\n\n  .hf-rad-upsell__photo{\n    display:block;\n    width:100%;\n    height:auto;\n    border-radius:16px;\n    object-fit:contain;\n    filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));\n  }\n\n  .hf-rad-upsell__badge{\n    position:absolute;\n    right:14px;\n    bottom:14px;\n    padding:8px 10px;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    font-size:.7rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-compare{\n    padding:26px;\n    border-radius:28px;\n    border:1px solid rgba(255,255,255,.08);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.08), transparent 34%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-compare__intro{\n    margin-bottom:20px;\n  }\n\n  .hf-rad-compare__grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:16px;\n    align-items:start;\n  }\n\n  .hf-rad-column{\n    border-radius:22px;\n    overflow:hidden;\n    border:1px solid rgba(255,255,255,.10);\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-column__top{\n    padding:15px 18px;\n    font-size:.78rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-column--muted .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#ababab;\n  }\n\n  .hf-rad-column--good{\n    border-color:rgba(255,217,0,.28);\n    box-shadow:0 18px 34px rgba(255,217,0,.06);\n  }\n\n  .hf-rad-column--good .hf-rad-column__top{\n    background:#FFD900;\n    color:#000;\n  }\n\n  .hf-rad-column ul{\n    list-style:none;\n    margin:0;\n    padding:0;\n  }\n\n  .hf-rad-column li{\n    position:relative;\n    padding:18px 18px 18px 46px;\n    border-top:1px solid rgba(255,255,255,.08);\n    color:#e6e6e6;\n    line-height:1.55;\n  }\n\n  .hf-rad-column--muted li::before,\n  .hf-rad-column--good li::before,\n  .hf-rad-column--equal li::before{\n    position:absolute;\n    left:18px;\n    top:18px;\n    font-weight:900;\n  }\n\n  .hf-rad-column--muted li::before{\n    content:\"×\";\n    color:#7f7f7f;\n  }\n\n  .hf-rad-column--good li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column{\n    border-color:rgba(255,255,255,.10);\n    box-shadow:none;\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-compare--equal .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#fff;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-story{\n    padding:28px;\n    border-left:4px solid #FFD900;\n    background:rgba(255,255,255,.025);\n    border-radius:0 22px 22px 0;\n  }\n\n  .hf-rad-specs{\n    padding:22px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.025);\n  }\n\n  .hf-rad-specs__header{\n    margin-bottom:16px;\n  }\n\n  .hf-rad-specs__grid{\n    display:grid;\n    grid-template-columns:repeat(3,minmax(0,1fr));\n    gap:10px;\n  }\n\n  .hf-rad-spec{\n    display:flex;\n    flex-direction:column;\n    justify-content:flex-start;\n    gap:6px;\n    padding:14px 14px 13px;\n    border-radius:14px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.03);\n    min-width:0;\n  }\n\n  .hf-rad-spec span{\n    color:#9f9f9f;\n    font-size:.72rem;\n    line-height:1.1;\n    letter-spacing:.08em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-spec strong{\n    color:#fff;\n    text-align:left;\n    font-size:.96rem;\n    line-height:1.35;\n    word-break:break-word;\n  }\n\n  .hf-rad-faq{\n    display:grid;\n    gap:12px;\n  }\n\n  .hf-rad-faq details{\n    border:1px solid rgba(255,255,255,.10);\n    border-radius:18px;\n    background:rgba(255,255,255,.03);\n    overflow:hidden;\n  }\n\n  .hf-rad-faq summary{\n    list-style:none;\n    cursor:pointer;\n    padding:18px 20px;\n    font-weight:900;\n    line-height:1.4;\n    position:relative;\n    padding-right:52px;\n  }\n\n  .hf-rad-faq summary::-webkit-details-marker{\n    display:none;\n  }\n\n  .hf-rad-faq summary::after{\n    content:\"+\";\n    position:absolute;\n    right:18px;\n    top:50%;\n    transform:translateY(-50%);\n    color:#FFD900;\n    font-size:1.3rem;\n    font-weight:900;\n  }\n\n  .hf-rad-faq details[open] summary::after{\n    content:\"–\";\n  }\n\n  .hf-rad-faq details div{\n    padding:0 20px 20px;\n    color:#d7d7d7;\n    line-height:1.7;\n  }\n\n  .hf-rad-btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    font-size:.9rem;\n    font-weight:900;\n    letter-spacing:.05em;\n    text-transform:uppercase;\n    transition:all .2s ease;\n  }\n\n  .hf-rad-btn--primary{\n    background:#FFD900;\n    color:#000;\n    border:2px solid #FFD900;\n  }\n\n  .hf-rad-btn--primary:hover{\n    transform:translateY(-2px);\n    box-shadow:0 10px 30px rgba(255,217,0,.22);\n  }\n\n  .hf-rad-btn--ghost{\n    background:transparent;\n    color:#fff;\n    border:2px solid rgba(255,255,255,.16);\n  }\n\n  .hf-rad-btn--ghost:hover{\n    border-color:#FFD900;\n    color:#FFD900;\n  }\n\n  .hf-ultimate-float{\n    position:fixed;\n    left:50%;\n    bottom:18px;\n    transform:translateX(-50%) translateY(120%);\n    width:calc(100% - 24px);\n    max-width:760px;\n    z-index:9999;\n    opacity:0;\n    pointer-events:none;\n    transition:transform .28s ease, opacity .28s ease;\n  }\n\n  .hf-ultimate-float.is-visible{\n    transform:translateX(-50%) translateY(0);\n    opacity:1;\n    pointer-events:auto;\n  }\n\n  .hf-ultimate-float__inner{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    padding:12px;\n    border-radius:20px;\n    border:1px solid rgba(255,255,255,0.12);\n    background:rgba(10,10,10,0.92);\n    backdrop-filter:blur(12px);\n    box-shadow:0 18px 50px rgba(0,0,0,0.4);\n  }\n\n  .hf-ultimate-float__copy{\n    min-width:0;\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n\n  .hf-ultimate-float__eyebrow{\n    color:#FFD900;\n    font-size:0.72rem;\n    font-weight:800;\n    letter-spacing:0.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-ultimate-float__title{\n    color:#fff;\n    font-size:0.95rem;\n    font-weight:800;\n    line-height:1.1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .hf-ultimate-float__meta{\n    color:#cfcfcf;\n    font-size:0.82rem;\n    line-height:1.2;\n  }\n\n  .hf-ultimate-float__btn{\n    flex:0 0 auto;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:0.5rem;\n    min-height:50px;\n    padding:0.95rem 1.2rem;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    text-decoration:none;\n    font-weight:900;\n    font-size:0.84rem;\n    letter-spacing:0.08em;\n    text-transform:uppercase;\n    box-shadow:0 10px 20px rgba(0,0,0,0.25);\n    transition:transform .18s ease, opacity .18s ease;\n    border:none;\n    cursor:pointer;\n    font-family:inherit;\n  }\n\n  .hf-ultimate-float__btn:hover{\n    opacity:0.9;\n    transform:translateY(-1px);\n  }\n\n  @media (max-width: 1100px){\n    .hf-rad-grid{\n      grid-template-columns:repeat(2,1fr);\n    }\n\n    .hf-rad-upsell{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-upsell__right{\n      align-items:flex-start;\n      flex-direction:row;\n      flex-wrap:wrap;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hf-rad-grid,\n    .hf-rad-compare__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-card,\n    .hf-rad-compare,\n    .hf-rad-story,\n    .hf-rad-upsell,\n    .hf-rad-specs{\n      padding:20px;\n      border-radius:20px;\n    }\n\n    .hf-rad-column{\n      border-radius:18px;\n    }\n\n    .hf-rad-column__top{\n      padding:13px 14px;\n      font-size:.72rem;\n      letter-spacing:.1em;\n    }\n\n    .hf-rad-column li{\n      padding:14px 14px 14px 38px;\n      font-size:.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rad-column--muted li::before,\n    .hf-rad-column--good li::before,\n    .hf-rad-column--equal li::before{\n      left:14px;\n      top:14px;\n    }\n\n    .hf-rad-subheadline{\n      font-size:clamp(1.35rem, 7vw, 2rem);\n      line-height:1.02;\n    }\n\n    .hf-rad-subheadline--compact{\n      font-size:1.1rem;\n      line-height:1.08;\n      max-width:320px;\n      margin-bottom:14px;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:8px;\n    }\n\n    .hf-rad-spec{\n      padding:12px 12px 11px;\n      border-radius:12px;\n      gap:5px;\n    }\n\n    .hf-rad-spec span{\n      font-size:.66rem;\n      letter-spacing:.07em;\n    }\n\n    .hf-rad-spec strong{\n      font-size:.88rem;\n      line-height:1.25;\n    }\n\n    .hf-rad-upsell__right{\n      flex-direction:column;\n      width:100%;\n      align-items:stretch;\n    }\n\n    .hf-rad-upsell__photo-wrap{\n      max-width:none;\n    }\n\n    .hf-rad-btn{\n      width:100%;\n    }\n  }\n\n  @media (max-width: 640px){\n    .hf-ultimate-float{\n      width:calc(100% - 16px);\n      bottom:12px;\n    }\n\n    .hf-ultimate-float__inner{\n      padding:10px;\n      gap:10px;\n    }\n\n    .hf-ultimate-float__title{\n      font-size:0.88rem;\n    }\n\n    .hf-ultimate-float__meta{\n      font-size:0.76rem;\n    }\n\n    .hf-ultimate-float__btn{\n      min-height:46px;\n      padding:0.9rem 1rem;\n      font-size:0.78rem;\n    }\n  }\n\n  @media (max-width: 420px){\n    .hf-rad-specs__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-ultimate-float__inner{\n      align-items:flex-start;\n      flex-direction:column;\n    }\n\n    .hf-ultimate-float__btn{\n      width:100%;\n    }\n  }\n\u003c\/style\u003e","brand":"Happy Faced","offers":[{"title":"Default Title","offer_id":51505630445889,"sku":"SKT-RNBWC","price":24.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/BC1A0944-27A4-46DC-AF1A-3714D636CCB6.png?v=1778604526"},{"product_id":"yellow-checker-skate-towel","title":"Yellow Checker Skate Towel","description":"\u003cdiv class=\"hf-rad-product\"\u003e\n  \u003c!-- INTRO STRIP --\u003e\n  \u003csection class=\"hf-rad-intro\"\u003e\n    \u003cdiv class=\"hf-rad-intro__bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eYELLOW CHECKER SKATE TOWEL\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-headline\"\u003eA TOWEL BUILT FOR SWEAT, SPEED, AND ALL-DAY SKATE SESSIONS.\u003c\/h2\u003e\n    \u003cp class=\"hf-rad-lead\"\u003eThe Yellow Checker Skate Towel was made for actual skate sessions, not some decorative version of them. It dries fast, wipes sweat off your hands and face, sticks to metal with a built-in magnet and pairs with the Magnetic Towel Holder when you want it attached to your setup. That keeps it close instead of ending up on the ground like every other towel that showed up to the spot with no idea what was coming. It just happens to look exactly right doing it.\u003c\/p\u003e\n    \u003cdiv class=\"hf-rad-pillrow\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e \u003cspan\u003eQUICK DRY\u003c\/span\u003e \u003cspan\u003eBUILT-IN MAGNET\u003c\/span\u003e \u003cspan\u003eMAGNET SYSTEM READY\u003c\/span\u003e \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FEATURE BLOCKS --\u003e\n  \u003csection class=\"hf-rad-grid\"\u003e\n    \u003carticle class=\"hf-rad-card hf-rad-card--yellow\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eWHY IT HITS\u003c\/p\u003e\n      \u003ch3\u003eLooks classic. Works like hell.\u003c\/h3\u003e\n      \u003cp\u003eRegular towels fall on the ground, stay damp too long, and ride around in your bag like some weird wet afterthought. The Yellow Checker fixes that with quick-dry fabric, a built-in magnet, and a setup made for actual skateboarding.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eSUPER ABSORBENT\u003c\/p\u003e\n      \u003ch3\u003eDry off fast. Get back to it.\u003c\/h3\u003e\n      \u003cp\u003ePulls sweat off your face and hands quickly so you can stop feeling slippery and get back to the trick that is eating your afternoon.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eQUICK DRY\u003c\/p\u003e\n      \u003ch3\u003eDries fast. No wet towel drag.\u003c\/h3\u003e\n      \u003cp\u003eMade from quick-dry performance microfiber so it stays useful instead of turning into a damp problem riding around in your bag.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eBUILT-IN MAGNET\u003c\/p\u003e\n      \u003ch3\u003eStick it somewhere smarter.\u003c\/h3\u003e\n      \u003cp\u003eThis is the part that changes everything. Rails, benches, fences, bleachers, cars. If it’s metal, the Yellow Checker has a better place to hang than the ground.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eMAGNETIC TOWEL HOLDER READY\u003c\/p\u003e\n      \u003ch3\u003eSnap it into your setup.\u003c\/h3\u003e\n      \u003cp\u003eYour towel’s built-in magnet snaps directly into the holder, giving it a clean place to snap in, stay ready, and stay off the ground instead of getting tossed wherever it lands.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eARTIST DESIGNED\u003c\/p\u003e\n      \u003ch3\u003eClassic graphic. Real attitude.\u003c\/h3\u003e\n      \u003cp\u003eNo fake edge. No overworked nonsense. Just a bold limited-edition checker hit that feels right at home around grip tape, scraped shins, and long days at the spot.\u003c\/p\u003e\n    \u003c\/article\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- UPSELL --\u003e\n  \u003csection class=\"hf-rad-upsell\"\u003e\n    \u003cdiv class=\"hf-rad-upsell__left\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003ePAIR IT WITH OUR MAGNETIC TOWEL HOLDER\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eYour towel has a magnet. Now it has somewhere to go.\u003c\/h2\u003e\n      \u003cp\u003eThe Magnetic Towel Holder is a soft silicone-wrapped magnet with a carabiner, built specifically for our magnetic towels. Clip it to your bag, belt loop, chair, or gear, then let your towel snap into place so it stays close, stays cleaner, and stays off the ground. There when you need it. Out of the way when you don’t.\u003c\/p\u003e\n      \u003cul class=\"hf-rad-checks\"\u003e\n        \u003cli\u003eMade for Happy Faced magnetic towels\u003c\/li\u003e\n        \u003cli\u003eSoft silicone-wrapped magnet with carabiner\u003c\/li\u003e\n        \u003cli\u003eKeeps your towel up, clean, and ready\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-upsell__right\"\u003e\n      \u003cdiv class=\"hf-rad-upsell__photo-wrap\" style=\"position:relative;\"\u003e\n        \u003cimg class=\"hf-rad-upsell__photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Happy_Faced_Magnetic_Towel_Holder_with_measurements.jpg?v=1776465822\" alt=\"Happy Faced Magnetic Towel Holder\" width=\"900\" height=\"900\"\u003e\n\n        \u003c!-- Glow effect --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          inset:0;\n          border-radius:20px;\n          box-shadow:0 0 40px rgba(255,217,0,0.18), inset 0 0 20px rgba(255,217,0,0.08);\n          pointer-events:none;\n        \"\u003e\u003c\/div\u003e\n\n        \u003c!-- Badge --\u003e\n        \u003cdiv class=\"hf-rad-upsell__badge\" style=\"\n          background:#FFD900;\n          color:#000;\n          font-weight:900;\n          letter-spacing:.8px;\n          box-shadow:0 10px 25px rgba(255,217,0,0.25);\n        \"\u003e\n          MAGNETIC TOWEL READY\n        \u003c\/div\u003e\n\n        \u003c!-- Helper text --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          bottom:-28px;\n          left:50%;\n          transform:translateX(-50%);\n          font-size:12px;\n          color:#ccc;\n          text-align:center;\n          max-width:220px;\n          line-height:1.4;\n        \"\u003e\n          magnet snaps\u003cbr\u003edirectly to your towel\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- USE IT TWO WAYS --\u003e\n  \u003csection class=\"hf-rad-compare hf-rad-compare--equal\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eUSE IT TWO WAYS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBuilt to work at the spot and with your setup.\u003c\/h2\u003e\n      \u003cp class=\"hf-rad-lead\" style=\"max-width:760px;\"\u003eThe built-in magnet gives the Yellow Checker two clean ways to work. Stick it directly to metal at the spot, or pair it with our Magnetic Towel Holder to keep it clipped to your gear and ready to grab. Same towel. Two smart ways to use it.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSTICK IT TO METAL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eAttach it to rails, benches, fences, bleachers, or your car\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel off the ground\u003c\/li\u003e\n          \u003cli\u003eFast and simple when you are skating\u003c\/li\u003e\n          \u003cli\u003ePerfect when there is metal nearby at the spot\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSNAP INTO HOLDER\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eClips to your bag, belt loop, chair, or gear\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel close, clean, and ready to grab\u003c\/li\u003e\n          \u003cli\u003ePerfect when you want your towel attached to your setup\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"hf-rad-compare\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eWHAT MAKES IT DIFFERENT\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eA regular towel does not have this kind of range.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--muted\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eREGULAR TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eFalls on the ground\u003c\/li\u003e\n          \u003cli\u003eGets damp and smelly and weird\u003c\/li\u003e\n          \u003cli\u003eNo clean way to carry it\u003c\/li\u003e\n          \u003cli\u003eLooks accidental\u003c\/li\u003e\n          \u003cli\u003eMade for basically nothing specific\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--good\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eYELLOW CHECKER SKATE TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSticks to metal with a built-in magnet\u003c\/li\u003e\n          \u003cli\u003eQuick-dry performance fabric\u003c\/li\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eArtist-designed limited-edition graphics\u003c\/li\u003e\n          \u003cli\u003eMade specifically for skateboarding\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ART STORY --\u003e\n  \u003csection class=\"hf-rad-story\"\u003e\n    \u003cdiv class=\"hf-rad-story__inner\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eTHE ART\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eLimited-edition artwork with zero extra fluff.\u003c\/h2\u003e\n      \u003cp\u003eThe Yellow Checker is clean, loud, and impossible to miss. It taps into that classic skate visual language without trying too hard to reinvent the wheel.\u003c\/p\u003e\n      \u003cp\u003eBold pattern. Strong contrast. No filler. Just a limited-edition graphic that looks right where it is supposed to: at the spot. Once it is gone, it is gone.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003csection class=\"hf-rad-specs\"\u003e\n    \u003cdiv class=\"hf-rad-specs__header\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eDETAILS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline hf-rad-subheadline--compact\"\u003eFor the detail-obsessed and the skeptics.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-specs__grid\"\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMaterial\u003c\/span\u003e \u003cstrong\u003ePerformance microfiber\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eDry Time\u003c\/span\u003e \u003cstrong\u003eQuick dry\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMagnet\u003c\/span\u003e \u003cstrong\u003eEmbedded\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eCarry\u003c\/span\u003e \u003cstrong\u003eMagnet system compatible\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eArtwork\u003c\/span\u003e \u003cstrong\u003eLimited edition\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eUse\u003c\/span\u003e \u003cstrong\u003eSkate sessions, street spots, parks\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"hf-rad-faq-wrap\"\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-subheadline\"\u003eStuff people ask before they commit.\u003c\/h2\u003e\n    \u003cdiv class=\"hf-rad-faq\"\u003e\n      \u003cdetails open=\"\"\u003e\n        \u003csummary\u003eWhat makes the Yellow Checker Skate Towel different from a normal towel?\u003c\/summary\u003e\n        \u003cdiv\u003eThe Yellow Checker was built specifically for skateboarding, with quick-dry fabric, an embedded magnet, and compatibility with the Magnetic Towel Holder system.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Yellow Checker Skate Towel have a built-in magnet?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. The built-in magnet lets you stick it to metal surfaces like rails, benches, fences, bleachers, and cars so it stays off the ground and within reach.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Yellow Checker Skate Towel come with the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eNo. The towel and the Magnetic Towel Holder are sold separately, so you can build your setup how you want.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Yellow Checker Skate Towel without the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. You can use the built-in magnet on metal surfaces at the spot, or pair it with the Magnetic Towel Holder if you want a dedicated place for it on your gear.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Yellow Checker Skate Towel for actual skate sessions?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. That is exactly what it was made for. It was built for sweat, speed, street spots, skateparks, and everything else that comes with a real session.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the Yellow Checker Skate Towel limited edition?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. Each design is made in limited runs and won’t hang around forever.\u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"hf-ultimate-float\" id=\"hfUltimateFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-ultimate-float__inner\"\u003e\n    \u003cdiv class=\"hf-ultimate-float__copy\"\u003e\n      \u003cspan class=\"hf-ultimate-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-ultimate-float__btn\" id=\"hfScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function() {\n    var floatBar = document.getElementById('hfUltimateFloatBar');\n    var btn = document.getElementById('hfScrollTopBtn');\n    if (!floatBar || !btn) return;\n\n    var showAfter = 500;\n\n    function toggleFloatBar() {\n      if (window.scrollY \u003e showAfter) {\n        floatBar.classList.add('is-visible');\n        floatBar.setAttribute('aria-hidden', 'false');\n      } else {\n        floatBar.classList.remove('is-visible');\n        floatBar.setAttribute('aria-hidden', 'true');\n      }\n    }\n\n    btn.addEventListener('click', function() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    });\n\n    window.addEventListener('scroll', toggleFloatBar, { passive: true });\n    window.addEventListener('load', toggleFloatBar);\n    toggleFloatBar();\n  })();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  .hf-rad-product{\n    color:#fff;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-rad-product *{\n    box-sizing:border-box;\n  }\n\n  .hf-rad-product a{\n    text-decoration:none;\n  }\n\n  .hf-rad-kicker{\n    margin:0 0 14px;\n    color:#FFD900;\n    font-size:12px;\n    line-height:1.1;\n    letter-spacing:.18em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-headline{\n    margin:0 0 18px;\n    font-size:clamp(2rem, 5vw, 4rem);\n    line-height:.95;\n    letter-spacing:-.05em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline{\n    margin:0 0 18px;\n    font-size:clamp(1.5rem, 4vw, 2.7rem);\n    line-height:1;\n    letter-spacing:-.04em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline--compact{\n    font-size:clamp(1.2rem, 3vw, 2rem);\n    line-height:1.05;\n    letter-spacing:-.03em;\n    max-width:520px;\n  }\n\n  .hf-rad-lead,\n  .hf-rad-story p,\n  .hf-rad-upsell p{\n    margin:0 0 14px;\n    color:#d7d7d7;\n    font-size:1.05rem;\n    line-height:1.7;\n    max-width:840px;\n  }\n\n  .hf-rad-intro,\n  .hf-rad-grid,\n  .hf-rad-upsell,\n  .hf-rad-compare,\n  .hf-rad-story,\n  .hf-rad-specs,\n  .hf-rad-faq-wrap{\n    margin:0 0 26px;\n  }\n\n  .hf-rad-intro{\n    position:relative;\n    padding:28px 0 8px;\n  }\n\n  .hf-rad-intro__bar{\n    width:88px;\n    height:4px;\n    border-radius:999px;\n    background:#FFD900;\n    margin:0 0 22px;\n  }\n\n  .hf-rad-pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-rad-pillrow span{\n    padding:10px 12px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.14);\n    background:rgba(255,255,255,.04);\n    color:#fff;\n    font-size:.76rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:16px;\n  }\n\n  .hf-rad-card{\n    padding:22px;\n    border-radius:22px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    box-shadow:0 14px 30px rgba(0,0,0,.14);\n  }\n\n  .hf-rad-card--yellow{\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.14), transparent 40%),\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    border-color:rgba(255,217,0,.22);\n  }\n\n  .hf-rad-card__eyebrow{\n    margin:0 0 10px;\n    color:#FFD900;\n    font-size:.72rem;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card h3{\n    margin:0 0 10px;\n    font-size:1.2rem;\n    line-height:1.05;\n    letter-spacing:-.03em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card p{\n    margin:0;\n    color:#d6d6d6;\n    line-height:1.7;\n  }\n\n  .hf-rad-upsell{\n    display:grid;\n    grid-template-columns:1.1fr .9fr;\n    gap:20px;\n    align-items:center;\n    padding:28px;\n    border-radius:28px;\n    border:1px solid rgba(255,217,0,.24);\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-checks{\n    list-style:none;\n    margin:18px 0 0;\n    padding:0;\n    display:grid;\n    gap:10px;\n  }\n\n  .hf-rad-checks li{\n    position:relative;\n    padding-left:26px;\n    color:#e2e2e2;\n    line-height:1.5;\n  }\n\n  .hf-rad-checks li::before{\n    content:\"✓\";\n    position:absolute;\n    left:0;\n    top:0;\n    color:#FFD900;\n    font-weight:900;\n  }\n\n  .hf-rad-upsell__right{\n    display:flex;\n    flex-direction:column;\n    gap:12px;\n    align-items:flex-end;\n  }\n\n  .hf-rad-upsell__photo-wrap{\n    position:relative;\n    width:100%;\n    max-width:320px;\n    padding:18px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n    box-shadow:0 18px 34px rgba(0,0,0,.16);\n  }\n\n  .hf-rad-upsell__photo{\n    display:block;\n    width:100%;\n    height:auto;\n    border-radius:16px;\n    object-fit:contain;\n    filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));\n  }\n\n  .hf-rad-upsell__badge{\n    position:absolute;\n    right:14px;\n    bottom:14px;\n    padding:8px 10px;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    font-size:.7rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-compare{\n    padding:26px;\n    border-radius:28px;\n    border:1px solid rgba(255,255,255,.08);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.08), transparent 34%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-compare__intro{\n    margin-bottom:20px;\n  }\n\n  .hf-rad-compare__grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:16px;\n    align-items:start;\n  }\n\n  .hf-rad-column{\n    border-radius:22px;\n    overflow:hidden;\n    border:1px solid rgba(255,255,255,.10);\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-column__top{\n    padding:15px 18px;\n    font-size:.78rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-column--muted .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#ababab;\n  }\n\n  .hf-rad-column--good{\n    border-color:rgba(255,217,0,.28);\n    box-shadow:0 18px 34px rgba(255,217,0,.06);\n  }\n\n  .hf-rad-column--good .hf-rad-column__top{\n    background:#FFD900;\n    color:#000;\n  }\n\n  .hf-rad-column ul{\n    list-style:none;\n    margin:0;\n    padding:0;\n  }\n\n  .hf-rad-column li{\n    position:relative;\n    padding:18px 18px 18px 46px;\n    border-top:1px solid rgba(255,255,255,.08);\n    color:#e6e6e6;\n    line-height:1.55;\n  }\n\n  .hf-rad-column--muted li::before,\n  .hf-rad-column--good li::before,\n  .hf-rad-column--equal li::before{\n    position:absolute;\n    left:18px;\n    top:18px;\n    font-weight:900;\n  }\n\n  .hf-rad-column--muted li::before{\n    content:\"×\";\n    color:#7f7f7f;\n  }\n\n  .hf-rad-column--good li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column{\n    border-color:rgba(255,255,255,.10);\n    box-shadow:none;\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-compare--equal .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#fff;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-story{\n    padding:28px;\n    border-left:4px solid #FFD900;\n    background:rgba(255,255,255,.025);\n    border-radius:0 22px 22px 0;\n  }\n\n  .hf-rad-specs{\n    padding:22px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.025);\n  }\n\n  .hf-rad-specs__header{\n    margin-bottom:16px;\n  }\n\n  .hf-rad-specs__grid{\n    display:grid;\n    grid-template-columns:repeat(3,minmax(0,1fr));\n    gap:10px;\n  }\n\n  .hf-rad-spec{\n    display:flex;\n    flex-direction:column;\n    justify-content:flex-start;\n    gap:6px;\n    padding:14px 14px 13px;\n    border-radius:14px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.03);\n    min-width:0;\n  }\n\n  .hf-rad-spec span{\n    color:#9f9f9f;\n    font-size:.72rem;\n    line-height:1.1;\n    letter-spacing:.08em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-spec strong{\n    color:#fff;\n    text-align:left;\n    font-size:.96rem;\n    line-height:1.35;\n    word-break:break-word;\n  }\n\n  .hf-rad-faq{\n    display:grid;\n    gap:12px;\n  }\n\n  .hf-rad-faq details{\n    border:1px solid rgba(255,255,255,.10);\n    border-radius:18px;\n    background:rgba(255,255,255,.03);\n    overflow:hidden;\n  }\n\n  .hf-rad-faq summary{\n    list-style:none;\n    cursor:pointer;\n    padding:18px 20px;\n    font-weight:900;\n    line-height:1.4;\n    position:relative;\n    padding-right:52px;\n  }\n\n  .hf-rad-faq summary::-webkit-details-marker{\n    display:none;\n  }\n\n  .hf-rad-faq summary::after{\n    content:\"+\";\n    position:absolute;\n    right:18px;\n    top:50%;\n    transform:translateY(-50%);\n    color:#FFD900;\n    font-size:1.3rem;\n    font-weight:900;\n  }\n\n  .hf-rad-faq details[open] summary::after{\n    content:\"–\";\n  }\n\n  .hf-rad-faq details div{\n    padding:0 20px 20px;\n    color:#d7d7d7;\n    line-height:1.7;\n  }\n\n  .hf-rad-btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    font-size:.9rem;\n    font-weight:900;\n    letter-spacing:.05em;\n    text-transform:uppercase;\n    transition:all .2s ease;\n  }\n\n  .hf-rad-btn--primary{\n    background:#FFD900;\n    color:#000;\n    border:2px solid #FFD900;\n  }\n\n  .hf-rad-btn--primary:hover{\n    transform:translateY(-2px);\n    box-shadow:0 10px 30px rgba(255,217,0,.22);\n  }\n\n  .hf-rad-btn--ghost{\n    background:transparent;\n    color:#fff;\n    border:2px solid rgba(255,255,255,.16);\n  }\n\n  .hf-rad-btn--ghost:hover{\n    border-color:#FFD900;\n    color:#FFD900;\n  }\n\n  .hf-ultimate-float{\n    position:fixed;\n    left:50%;\n    bottom:18px;\n    transform:translateX(-50%) translateY(120%);\n    width:calc(100% - 24px);\n    max-width:760px;\n    z-index:9999;\n    opacity:0;\n    pointer-events:none;\n    transition:transform .28s ease, opacity .28s ease;\n  }\n\n  .hf-ultimate-float.is-visible{\n    transform:translateX(-50%) translateY(0);\n    opacity:1;\n    pointer-events:auto;\n  }\n\n  .hf-ultimate-float__inner{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    padding:12px;\n    border-radius:20px;\n    border:1px solid rgba(255,255,255,0.12);\n    background:rgba(10,10,10,0.92);\n    backdrop-filter:blur(12px);\n    box-shadow:0 18px 50px rgba(0,0,0,0.4);\n  }\n\n  .hf-ultimate-float__copy{\n    min-width:0;\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n\n  .hf-ultimate-float__eyebrow{\n    color:#FFD900;\n    font-size:0.72rem;\n    font-weight:800;\n    letter-spacing:0.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-ultimate-float__title{\n    color:#fff;\n    font-size:0.95rem;\n    font-weight:800;\n    line-height:1.1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .hf-ultimate-float__meta{\n    color:#cfcfcf;\n    font-size:0.82rem;\n    line-height:1.2;\n  }\n\n  .hf-ultimate-float__btn{\n    flex:0 0 auto;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:0.5rem;\n    min-height:50px;\n    padding:0.95rem 1.2rem;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    text-decoration:none;\n    font-weight:900;\n    font-size:0.84rem;\n    letter-spacing:0.08em;\n    text-transform:uppercase;\n    box-shadow:0 10px 20px rgba(0,0,0,0.25);\n    transition:transform .18s ease, opacity .18s ease;\n    border:none;\n    cursor:pointer;\n    font-family:inherit;\n  }\n\n  .hf-ultimate-float__btn:hover{\n    opacity:0.9;\n    transform:translateY(-1px);\n  }\n\n  @media (max-width: 1100px){\n    .hf-rad-grid{\n      grid-template-columns:repeat(2,1fr);\n    }\n\n    .hf-rad-upsell{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-upsell__right{\n      align-items:flex-start;\n      flex-direction:row;\n      flex-wrap:wrap;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hf-rad-grid,\n    .hf-rad-compare__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-card,\n    .hf-rad-compare,\n    .hf-rad-story,\n    .hf-rad-upsell,\n    .hf-rad-specs{\n      padding:20px;\n      border-radius:20px;\n    }\n\n    .hf-rad-column{\n      border-radius:18px;\n    }\n\n    .hf-rad-column__top{\n      padding:13px 14px;\n      font-size:.72rem;\n      letter-spacing:.1em;\n    }\n\n    .hf-rad-column li{\n      padding:14px 14px 14px 38px;\n      font-size:.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rad-column--muted li::before,\n    .hf-rad-column--good li::before,\n    .hf-rad-column--equal li::before{\n      left:14px;\n      top:14px;\n    }\n\n    .hf-rad-subheadline{\n      font-size:clamp(1.35rem, 7vw, 2rem);\n      line-height:1.02;\n    }\n\n    .hf-rad-subheadline--compact{\n      font-size:1.1rem;\n      line-height:1.08;\n      max-width:320px;\n      margin-bottom:14px;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:8px;\n    }\n\n    .hf-rad-spec{\n      padding:12px 12px 11px;\n      border-radius:12px;\n      gap:5px;\n    }\n\n    .hf-rad-spec span{\n      font-size:.66rem;\n      letter-spacing:.07em;\n    }\n\n    .hf-rad-spec strong{\n      font-size:.88rem;\n      line-height:1.25;\n    }\n\n    .hf-rad-upsell__right{\n      flex-direction:column;\n      width:100%;\n      align-items:stretch;\n    }\n\n    .hf-rad-upsell__photo-wrap{\n      max-width:none;\n    }\n\n    .hf-rad-btn{\n      width:100%;\n    }\n  }\n\n  @media (max-width: 640px){\n    .hf-ultimate-float{\n      width:calc(100% - 16px);\n      bottom:12px;\n    }\n\n    .hf-ultimate-float__inner{\n      padding:10px;\n      gap:10px;\n    }\n\n    .hf-ultimate-float__title{\n      font-size:0.88rem;\n    }\n\n    .hf-ultimate-float__meta{\n      font-size:0.76rem;\n    }\n\n    .hf-ultimate-float__btn{\n      min-height:46px;\n      padding:0.9rem 1rem;\n      font-size:0.78rem;\n    }\n  }\n\n  @media (max-width: 420px){\n    .hf-rad-specs__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-ultimate-float__inner{\n      align-items:flex-start;\n      flex-direction:column;\n    }\n\n    .hf-ultimate-float__btn{\n      width:100%;\n    }\n  }\n\u003c\/style\u003e","brand":"Happy Faced","offers":[{"title":"Default Title","offer_id":51505633591617,"sku":"SKT-YCHK","price":24.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Yellow_Checker_Skateboarding_Towel_1.png?v=1778879424"},{"product_id":"its-all-gravy-skate-towel","title":"It’s All Gravy Skate Towel","description":"\u003cdiv class=\"hf-rad-product\"\u003e\n  \u003c!-- INTRO STRIP --\u003e\n  \u003csection class=\"hf-rad-intro\"\u003e\n    \u003cdiv class=\"hf-rad-intro__bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eIT'S ALL GRAVY SKATE TOWEL\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-headline\"\u003eA TOWEL BUILT FOR SWEAT, SLAMS, AND KEEPING IT MOVING.\u003c\/h2\u003e\n    \u003cp class=\"hf-rad-lead\"\u003eThe It’s All Gravy Skate Towel was made for actual skate sessions, not some polished version of them. It dries fast, wipes sweat off your hands and face, sticks to metal with a built-in magnet and pairs with the Magnetic Towel Holder when you want it attached to your setup. That keeps it close instead of ending up on the ground like every other towel that showed up to the spot completely unprepared. The art just happens to come with a little heat too.\u003c\/p\u003e\n    \u003cdiv class=\"hf-rad-pillrow\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e \u003cspan\u003eQUICK DRY\u003c\/span\u003e \u003cspan\u003eBUILT-IN MAGNET\u003c\/span\u003e \u003cspan\u003eMAGNET SYSTEM READY\u003c\/span\u003e \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FEATURE BLOCKS --\u003e\n  \u003csection class=\"hf-rad-grid\"\u003e\n    \u003carticle class=\"hf-rad-card hf-rad-card--yellow\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eWHY IT HITS\u003c\/p\u003e\n      \u003ch3\u003eLooks loose. Works like hell.\u003c\/h3\u003e\n      \u003cp\u003eRegular towels fall on the ground, stay damp too long, and get dragged around like soggy session baggage. The It’s All Gravy fixes that with quick-dry fabric, a built-in magnet, and a setup made for actual skateboarding.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eSUPER ABSORBENT\u003c\/p\u003e\n      \u003ch3\u003eDry off fast. Pretend you're fine.\u003c\/h3\u003e\n      \u003cp\u003eHandles sweat quickly so your face and hands stop feeling wrecked before attempt number 63 at the thing that should have worked an hour ago.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eQUICK DRY\u003c\/p\u003e\n      \u003ch3\u003eDries fast. No soggy baggage.\u003c\/h3\u003e\n      \u003cp\u003eMade from quick-dry performance microfiber so you are not hauling around a damp nasty towel that turns useless halfway through the session.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eBUILT-IN MAGNET\u003c\/p\u003e\n      \u003ch3\u003eStick it to metal and do your thing.\u003c\/h3\u003e\n      \u003cp\u003eThis is the part that changes everything. Rails, benches, fences, bleachers, cars. If it’s metal, the It’s All Gravy has somewhere smarter to wait than the ground.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eMAGNETIC TOWEL HOLDER READY\u003c\/p\u003e\n      \u003ch3\u003eSnap it into your setup.\u003c\/h3\u003e\n      \u003cp\u003eYour towel’s built-in magnet snaps directly into the holder, giving it a clean place to snap in, stay ready, and stay off the ground instead of getting tossed wherever it lands.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eARTIST DESIGNED\u003c\/p\u003e\n      \u003ch3\u003eReal art with a little burn to it.\u003c\/h3\u003e\n      \u003cp\u003eNo fake edge. No design-by-committee sludge. Just limited-edition artwork by actual humans making dope things with some flavor.\u003c\/p\u003e\n    \u003c\/article\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- UPSELL --\u003e\n  \u003csection class=\"hf-rad-upsell\"\u003e\n    \u003cdiv class=\"hf-rad-upsell__left\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003ePAIR IT WITH OUR MAGNETIC TOWEL HOLDER\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eYour towel has a magnet. Now it has somewhere to go.\u003c\/h2\u003e\n      \u003cp\u003eThe Magnetic Towel Holder is a soft silicone-wrapped magnet with a carabiner, built specifically for our magnetic towels. Clip it to your bag, belt loop, chair, or gear, then let your towel snap into place so it stays close, stays cleaner, and stays off the ground. There when you need it. Out of the way when you don’t.\u003c\/p\u003e\n      \u003cul class=\"hf-rad-checks\"\u003e\n        \u003cli\u003eMade for Happy Faced magnetic towels\u003c\/li\u003e\n        \u003cli\u003eSoft silicone-wrapped magnet with carabiner\u003c\/li\u003e\n        \u003cli\u003eKeeps your towel up, clean, and ready\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-upsell__right\"\u003e\n      \u003cdiv class=\"hf-rad-upsell__photo-wrap\" style=\"position:relative;\"\u003e\n        \u003cimg class=\"hf-rad-upsell__photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Happy_Faced_Magnetic_Towel_Holder_with_measurements.jpg?v=1776465822\" alt=\"Happy Faced Magnetic Towel Holder\" width=\"900\" height=\"900\"\u003e\n\n        \u003c!-- Glow effect --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          inset:0;\n          border-radius:20px;\n          box-shadow:0 0 40px rgba(255,217,0,0.18), inset 0 0 20px rgba(255,217,0,0.08);\n          pointer-events:none;\n        \"\u003e\u003c\/div\u003e\n\n        \u003c!-- Badge --\u003e\n        \u003cdiv class=\"hf-rad-upsell__badge\" style=\"\n          background:#FFD900;\n          color:#000;\n          font-weight:900;\n          letter-spacing:.8px;\n          box-shadow:0 10px 25px rgba(255,217,0,0.25);\n        \"\u003e\n          MAGNETIC TOWEL READY\n        \u003c\/div\u003e\n\n        \u003c!-- Helper text --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          bottom:-28px;\n          left:50%;\n          transform:translateX(-50%);\n          font-size:12px;\n          color:#ccc;\n          text-align:center;\n          max-width:220px;\n          line-height:1.4;\n        \"\u003e\n          magnet snaps\u003cbr\u003edirectly to your towel\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- USE IT TWO WAYS --\u003e\n  \u003csection class=\"hf-rad-compare hf-rad-compare--equal\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eUSE IT TWO WAYS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBuilt to work at the spot and with your setup.\u003c\/h2\u003e\n      \u003cp class=\"hf-rad-lead\" style=\"max-width:760px;\"\u003eThe built-in magnet gives the It’s All Gravy two clean ways to work. Stick it directly to metal at the spot, or pair it with our Magnetic Towel Holder to keep it clipped to your gear and ready to grab. Same towel. Two smart ways to use it.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSTICK IT TO METAL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eAttach it to rails, benches, fences, bleachers, or your car\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel off the ground\u003c\/li\u003e\n          \u003cli\u003eFast and simple when you are skating\u003c\/li\u003e\n          \u003cli\u003ePerfect when there is metal nearby at the spot\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSNAP INTO HOLDER\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eClips to your bag, belt loop, chair, or gear\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel close, clean, and ready to grab\u003c\/li\u003e\n          \u003cli\u003ePerfect when you want your towel attached to your setup\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"hf-rad-compare\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eWHAT MAKES IT DIFFERENT\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eA regular towel can't handle the sauce.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--muted\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eREGULAR TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eFalls on the ground immediately\u003c\/li\u003e\n          \u003cli\u003eGets damp and stays annoying\u003c\/li\u003e\n          \u003cli\u003eNo clean way to carry it\u003c\/li\u003e\n          \u003cli\u003eLooks random and forgettable\u003c\/li\u003e\n          \u003cli\u003eMade for basically nothing specific\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--good\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eIT'S ALL GRAVY SKATE TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSticks to metal with a built-in magnet\u003c\/li\u003e\n          \u003cli\u003eQuick-dry performance fabric\u003c\/li\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eArtist-designed limited-edition graphics\u003c\/li\u003e\n          \u003cli\u003eMade specifically for skateboarding\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ART STORY --\u003e\n  \u003csection class=\"hf-rad-story\"\u003e\n    \u003cdiv class=\"hf-rad-story__inner\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eTHE ART\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eLimited-edition artwork with heat, motion, and a slightly fried brain.\u003c\/h2\u003e\n      \u003cp\u003eThe It’s All Gravy design feels like sunstroke, speed, and weird confidence all rolled together. Layered lettering, retro colorway, and that burned-in circular energy that looks like the session got loud and stayed that way.\u003c\/p\u003e\n      \u003cp\u003eDesigned by \u003ca href=\"https:\/\/happyfaced.com\/pages\/mari-monteiro\" target=\"_blank\" title=\"Mari Monteiro Happy Faced Artist\" rel=\"noopener\"\u003eMari Monteiro\u003c\/a\u003e, it is bold, messy in the right way, and built to live on a towel that actually gets used. Once It’s All Gravy is gone, it is gone.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003csection class=\"hf-rad-specs\"\u003e\n    \u003cdiv class=\"hf-rad-specs__header\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eDETAILS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline hf-rad-subheadline--compact\"\u003eFor the detail-obsessed and the skeptics.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-specs__grid\"\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMaterial\u003c\/span\u003e \u003cstrong\u003ePerformance microfiber\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eDry Time\u003c\/span\u003e \u003cstrong\u003eQuick dry\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMagnet\u003c\/span\u003e \u003cstrong\u003eEmbedded\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eCarry\u003c\/span\u003e \u003cstrong\u003eMagnet system compatible\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eArtwork\u003c\/span\u003e \u003cstrong\u003eLimited edition\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eUse\u003c\/span\u003e \u003cstrong\u003eSkate sessions, street spots, parks\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"hf-rad-faq-wrap\"\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-subheadline\"\u003eStuff people ask before they commit.\u003c\/h2\u003e\n    \u003cdiv class=\"hf-rad-faq\"\u003e\n      \u003cdetails open=\"\"\u003e\n        \u003csummary\u003eWhat makes the It's All Gravy Skate Towel different from a normal towel?\u003c\/summary\u003e\n        \u003cdiv\u003eThe It's All Gravy was built specifically for skateboarding, with quick-dry fabric, an embedded magnet, and compatibility with the Magnetic Towel Holder system.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the It's All Gravy Skate Towel have a built-in magnet?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. The built-in magnet lets you stick it to metal surfaces like rails, benches, fences, bleachers, and cars so it stays off the ground and within reach.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the It's All Gravy Skate Towel come with the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eNo. The towel and the Magnetic Towel Holder are sold separately, so you can build your setup how you want.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the It's All Gravy Skate Towel without the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. You can use the built-in magnet on metal surfaces at the spot, or pair it with the Magnetic Towel Holder if you want a dedicated place for it on your gear.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the It's All Gravy Skate Towel for actual skate sessions?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. That is the whole point of this thing. It was made for sweat, grime, street spots, skateparks, repeated tries, and everything else that comes with skating.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the artwork limited edition?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. Each design is made in limited runs and won’t hang around forever.\u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"hf-ultimate-float\" id=\"hfUltimateFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-ultimate-float__inner\"\u003e\n    \u003cdiv class=\"hf-ultimate-float__copy\"\u003e\n      \u003cspan class=\"hf-ultimate-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-ultimate-float__btn\" id=\"hfScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function() {\n    var floatBar = document.getElementById('hfUltimateFloatBar');\n    var btn = document.getElementById('hfScrollTopBtn');\n    if (!floatBar || !btn) return;\n\n    var showAfter = 500;\n\n    function toggleFloatBar() {\n      if (window.scrollY \u003e showAfter) {\n        floatBar.classList.add('is-visible');\n        floatBar.setAttribute('aria-hidden', 'false');\n      } else {\n        floatBar.classList.remove('is-visible');\n        floatBar.setAttribute('aria-hidden', 'true');\n      }\n    }\n\n    btn.addEventListener('click', function() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    });\n\n    window.addEventListener('scroll', toggleFloatBar, { passive: true });\n    window.addEventListener('load', toggleFloatBar);\n    toggleFloatBar();\n  })();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  .hf-rad-product{\n    color:#fff;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-rad-product *{\n    box-sizing:border-box;\n  }\n\n  .hf-rad-product a{\n    text-decoration:none;\n  }\n\n  .hf-rad-kicker{\n    margin:0 0 14px;\n    color:#FFD900;\n    font-size:12px;\n    line-height:1.1;\n    letter-spacing:.18em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-headline{\n    margin:0 0 18px;\n    font-size:clamp(2rem, 5vw, 4rem);\n    line-height:.95;\n    letter-spacing:-.05em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline{\n    margin:0 0 18px;\n    font-size:clamp(1.5rem, 4vw, 2.7rem);\n    line-height:1;\n    letter-spacing:-.04em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline--compact{\n    font-size:clamp(1.2rem, 3vw, 2rem);\n    line-height:1.05;\n    letter-spacing:-.03em;\n    max-width:520px;\n  }\n\n  .hf-rad-lead,\n  .hf-rad-story p,\n  .hf-rad-upsell p{\n    margin:0 0 14px;\n    color:#d7d7d7;\n    font-size:1.05rem;\n    line-height:1.7;\n    max-width:840px;\n  }\n\n  .hf-rad-intro,\n  .hf-rad-grid,\n  .hf-rad-upsell,\n  .hf-rad-compare,\n  .hf-rad-story,\n  .hf-rad-specs,\n  .hf-rad-faq-wrap{\n    margin:0 0 26px;\n  }\n\n  .hf-rad-intro{\n    position:relative;\n    padding:28px 0 8px;\n  }\n\n  .hf-rad-intro__bar{\n    width:88px;\n    height:4px;\n    border-radius:999px;\n    background:#FFD900;\n    margin:0 0 22px;\n  }\n\n  .hf-rad-pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-rad-pillrow span{\n    padding:10px 12px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.14);\n    background:rgba(255,255,255,.04);\n    color:#fff;\n    font-size:.76rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:16px;\n  }\n\n  .hf-rad-card{\n    padding:22px;\n    border-radius:22px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    box-shadow:0 14px 30px rgba(0,0,0,.14);\n  }\n\n  .hf-rad-card--yellow{\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.14), transparent 40%),\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    border-color:rgba(255,217,0,.22);\n  }\n\n  .hf-rad-card__eyebrow{\n    margin:0 0 10px;\n    color:#FFD900;\n    font-size:.72rem;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card h3{\n    margin:0 0 10px;\n    font-size:1.2rem;\n    line-height:1.05;\n    letter-spacing:-.03em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card p{\n    margin:0;\n    color:#d6d6d6;\n    line-height:1.7;\n  }\n\n  .hf-rad-upsell{\n    display:grid;\n    grid-template-columns:1.1fr .9fr;\n    gap:20px;\n    align-items:center;\n    padding:28px;\n    border-radius:28px;\n    border:1px solid rgba(255,217,0,.24);\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-checks{\n    list-style:none;\n    margin:18px 0 0;\n    padding:0;\n    display:grid;\n    gap:10px;\n  }\n\n  .hf-rad-checks li{\n    position:relative;\n    padding-left:26px;\n    color:#e2e2e2;\n    line-height:1.5;\n  }\n\n  .hf-rad-checks li::before{\n    content:\"✓\";\n    position:absolute;\n    left:0;\n    top:0;\n    color:#FFD900;\n    font-weight:900;\n  }\n\n  .hf-rad-upsell__right{\n    display:flex;\n    flex-direction:column;\n    gap:12px;\n    align-items:flex-end;\n  }\n\n  .hf-rad-upsell__photo-wrap{\n    position:relative;\n    width:100%;\n    max-width:320px;\n    padding:18px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n    box-shadow:0 18px 34px rgba(0,0,0,.16);\n  }\n\n  .hf-rad-upsell__photo{\n    display:block;\n    width:100%;\n    height:auto;\n    border-radius:16px;\n    object-fit:contain;\n    filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));\n  }\n\n  .hf-rad-upsell__badge{\n    position:absolute;\n    right:14px;\n    bottom:14px;\n    padding:8px 10px;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    font-size:.7rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-compare{\n    padding:26px;\n    border-radius:28px;\n    border:1px solid rgba(255,255,255,.08);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.08), transparent 34%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-compare__intro{\n    margin-bottom:20px;\n  }\n\n  .hf-rad-compare__grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:16px;\n    align-items:start;\n  }\n\n  .hf-rad-column{\n    border-radius:22px;\n    overflow:hidden;\n    border:1px solid rgba(255,255,255,.10);\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-column__top{\n    padding:15px 18px;\n    font-size:.78rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-column--muted .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#ababab;\n  }\n\n  .hf-rad-column--good{\n    border-color:rgba(255,217,0,.28);\n    box-shadow:0 18px 34px rgba(255,217,0,.06);\n  }\n\n  .hf-rad-column--good .hf-rad-column__top{\n    background:#FFD900;\n    color:#000;\n  }\n\n  .hf-rad-column ul{\n    list-style:none;\n    margin:0;\n    padding:0;\n  }\n\n  .hf-rad-column li{\n    position:relative;\n    padding:18px 18px 18px 46px;\n    border-top:1px solid rgba(255,255,255,.08);\n    color:#e6e6e6;\n    line-height:1.55;\n  }\n\n  .hf-rad-column--muted li::before,\n  .hf-rad-column--good li::before,\n  .hf-rad-column--equal li::before{\n    position:absolute;\n    left:18px;\n    top:18px;\n    font-weight:900;\n  }\n\n  .hf-rad-column--muted li::before{\n    content:\"×\";\n    color:#7f7f7f;\n  }\n\n  .hf-rad-column--good li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column{\n    border-color:rgba(255,255,255,.10);\n    box-shadow:none;\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-compare--equal .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#fff;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-story{\n    padding:28px;\n    border-left:4px solid #FFD900;\n    background:rgba(255,255,255,.025);\n    border-radius:0 22px 22px 0;\n  }\n\n  .hf-rad-specs{\n    padding:22px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.025);\n  }\n\n  .hf-rad-specs__header{\n    margin-bottom:16px;\n  }\n\n  .hf-rad-specs__grid{\n    display:grid;\n    grid-template-columns:repeat(3,minmax(0,1fr));\n    gap:10px;\n  }\n\n  .hf-rad-spec{\n    display:flex;\n    flex-direction:column;\n    justify-content:flex-start;\n    gap:6px;\n    padding:14px 14px 13px;\n    border-radius:14px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.03);\n    min-width:0;\n  }\n\n  .hf-rad-spec span{\n    color:#9f9f9f;\n    font-size:.72rem;\n    line-height:1.1;\n    letter-spacing:.08em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-spec strong{\n    color:#fff;\n    text-align:left;\n    font-size:.96rem;\n    line-height:1.35;\n    word-break:break-word;\n  }\n\n  .hf-rad-faq{\n    display:grid;\n    gap:12px;\n  }\n\n  .hf-rad-faq details{\n    border:1px solid rgba(255,255,255,.10);\n    border-radius:18px;\n    background:rgba(255,255,255,.03);\n    overflow:hidden;\n  }\n\n  .hf-rad-faq summary{\n    list-style:none;\n    cursor:pointer;\n    padding:18px 20px;\n    font-weight:900;\n    line-height:1.4;\n    position:relative;\n    padding-right:52px;\n  }\n\n  .hf-rad-faq summary::-webkit-details-marker{\n    display:none;\n  }\n\n  .hf-rad-faq summary::after{\n    content:\"+\";\n    position:absolute;\n    right:18px;\n    top:50%;\n    transform:translateY(-50%);\n    color:#FFD900;\n    font-size:1.3rem;\n    font-weight:900;\n  }\n\n  .hf-rad-faq details[open] summary::after{\n    content:\"–\";\n  }\n\n  .hf-rad-faq details div{\n    padding:0 20px 20px;\n    color:#d7d7d7;\n    line-height:1.7;\n  }\n\n  .hf-rad-btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    font-size:.9rem;\n    font-weight:900;\n    letter-spacing:.05em;\n    text-transform:uppercase;\n    transition:all .2s ease;\n  }\n\n  .hf-rad-btn--primary{\n    background:#FFD900;\n    color:#000;\n    border:2px solid #FFD900;\n  }\n\n  .hf-rad-btn--primary:hover{\n    transform:translateY(-2px);\n    box-shadow:0 10px 30px rgba(255,217,0,.22);\n  }\n\n  .hf-rad-btn--ghost{\n    background:transparent;\n    color:#fff;\n    border:2px solid rgba(255,255,255,.16);\n  }\n\n  .hf-rad-btn--ghost:hover{\n    border-color:#FFD900;\n    color:#FFD900;\n  }\n\n  .hf-ultimate-float{\n    position:fixed;\n    left:50%;\n    bottom:18px;\n    transform:translateX(-50%) translateY(120%);\n    width:calc(100% - 24px);\n    max-width:760px;\n    z-index:9999;\n    opacity:0;\n    pointer-events:none;\n    transition:transform .28s ease, opacity .28s ease;\n  }\n\n  .hf-ultimate-float.is-visible{\n    transform:translateX(-50%) translateY(0);\n    opacity:1;\n    pointer-events:auto;\n  }\n\n  .hf-ultimate-float__inner{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    padding:12px;\n    border-radius:20px;\n    border:1px solid rgba(255,255,255,0.12);\n    background:rgba(10,10,10,0.92);\n    backdrop-filter:blur(12px);\n    box-shadow:0 18px 50px rgba(0,0,0,0.4);\n  }\n\n  .hf-ultimate-float__copy{\n    min-width:0;\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n\n  .hf-ultimate-float__eyebrow{\n    color:#FFD900;\n    font-size:0.72rem;\n    font-weight:800;\n    letter-spacing:0.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-ultimate-float__title{\n    color:#fff;\n    font-size:0.95rem;\n    font-weight:800;\n    line-height:1.1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .hf-ultimate-float__meta{\n    color:#cfcfcf;\n    font-size:0.82rem;\n    line-height:1.2;\n  }\n\n  .hf-ultimate-float__btn{\n    flex:0 0 auto;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:0.5rem;\n    min-height:50px;\n    padding:0.95rem 1.2rem;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    text-decoration:none;\n    font-weight:900;\n    font-size:0.84rem;\n    letter-spacing:0.08em;\n    text-transform:uppercase;\n    box-shadow:0 10px 20px rgba(0,0,0,0.25);\n    transition:transform .18s ease, opacity .18s ease;\n    border:none;\n    cursor:pointer;\n    font-family:inherit;\n  }\n\n  .hf-ultimate-float__btn:hover{\n    opacity:0.9;\n    transform:translateY(-1px);\n  }\n\n  @media (max-width: 1100px){\n    .hf-rad-grid{\n      grid-template-columns:repeat(2,1fr);\n    }\n\n    .hf-rad-upsell{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-upsell__right{\n      align-items:flex-start;\n      flex-direction:row;\n      flex-wrap:wrap;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hf-rad-grid,\n    .hf-rad-compare__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-card,\n    .hf-rad-compare,\n    .hf-rad-story,\n    .hf-rad-upsell,\n    .hf-rad-specs{\n      padding:20px;\n      border-radius:20px;\n    }\n\n    .hf-rad-column{\n      border-radius:18px;\n    }\n\n    .hf-rad-column__top{\n      padding:13px 14px;\n      font-size:.72rem;\n      letter-spacing:.1em;\n    }\n\n    .hf-rad-column li{\n      padding:14px 14px 14px 38px;\n      font-size:.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rad-column--muted li::before,\n    .hf-rad-column--good li::before,\n    .hf-rad-column--equal li::before{\n      left:14px;\n      top:14px;\n    }\n\n    .hf-rad-subheadline{\n      font-size:clamp(1.35rem, 7vw, 2rem);\n      line-height:1.02;\n    }\n\n    .hf-rad-subheadline--compact{\n      font-size:1.1rem;\n      line-height:1.08;\n      max-width:320px;\n      margin-bottom:14px;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:8px;\n    }\n\n    .hf-rad-spec{\n      padding:12px 12px 11px;\n      border-radius:12px;\n      gap:5px;\n    }\n\n    .hf-rad-spec span{\n      font-size:.66rem;\n      letter-spacing:.07em;\n    }\n\n    .hf-rad-spec strong{\n      font-size:.88rem;\n      line-height:1.25;\n    }\n\n    .hf-rad-upsell__right{\n      flex-direction:column;\n      width:100%;\n      align-items:stretch;\n    }\n\n    .hf-rad-upsell__photo-wrap{\n      max-width:none;\n    }\n\n    .hf-rad-btn{\n      width:100%;\n    }\n  }\n\n  @media (max-width: 640px){\n    .hf-ultimate-float{\n      width:calc(100% - 16px);\n      bottom:12px;\n    }\n\n    .hf-ultimate-float__inner{\n      padding:10px;\n      gap:10px;\n    }\n\n    .hf-ultimate-float__title{\n      font-size:0.88rem;\n    }\n\n    .hf-ultimate-float__meta{\n      font-size:0.76rem;\n    }\n\n    .hf-ultimate-float__btn{\n      min-height:46px;\n      padding:0.9rem 1rem;\n      font-size:0.78rem;\n    }\n  }\n\n  @media (max-width: 420px){\n    .hf-rad-specs__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-ultimate-float__inner{\n      align-items:flex-start;\n      flex-direction:column;\n    }\n\n    .hf-ultimate-float__btn{\n      width:100%;\n    }\n  }\n\u003c\/style\u003e","brand":"Happy Faced","offers":[{"title":"Default Title","offer_id":51509213823297,"sku":"SKT-GRAVY","price":24.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/4FD35E44-D07F-4BFD-A4F7-70ABC773C7F2.png?v=1778604039"},{"product_id":"bandito-skate-towel","title":"Bandito Skate Towel","description":"\u003cdiv class=\"hf-rad-product\"\u003e\n  \u003c!-- INTRO STRIP --\u003e\n  \u003csection class=\"hf-rad-intro\"\u003e\n    \u003cdiv class=\"hf-rad-intro__bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eBANDITO SKATE TOWEL\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-headline\"\u003eA TOWEL BUILT FOR SWEAT, CURBS, AND DUSTY SESSIONS.\u003c\/h2\u003e\n    \u003cp class=\"hf-rad-lead\"\u003eThe Bandito Skate Towel was made for actual skate sessions, not some cleaned-up version of them. It dries fast, wipes sweat off your hands and face, sticks to metal with a built-in magnet and pairs with the Magnetic Towel Holder when you want it attached to your setup. That keeps it close instead of ending up on the ground like every other towel that showed up to the spot with no plan. The bandana attitude just makes it look even better doing it.\u003c\/p\u003e\n    \u003cdiv class=\"hf-rad-pillrow\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e \u003cspan\u003eQUICK DRY\u003c\/span\u003e \u003cspan\u003eBUILT-IN MAGNET\u003c\/span\u003e \u003cspan\u003eMAGNET SYSTEM READY\u003c\/span\u003e \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FEATURE BLOCKS --\u003e\n  \u003csection class=\"hf-rad-grid\"\u003e\n    \u003carticle class=\"hf-rad-card hf-rad-card--yellow\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eWHY IT HITS\u003c\/p\u003e\n      \u003ch3\u003eLooks sharp. Works like hell.\u003c\/h3\u003e\n      \u003cp\u003eRegular towels fall on the ground, stay damp too long, and get shoved in your bag like a soggy afterthought. The Bandito fixes that with quick-dry fabric, a built-in magnet, and a setup made for actual skateboarding.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eSUPER ABSORBENT\u003c\/p\u003e\n      \u003ch3\u003eWipe down. Reset. Go again.\u003c\/h3\u003e\n      \u003cp\u003ePulls sweat off your face and hands fast so you can stop slipping around and get back to the trick that is currently ruining your day.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eQUICK DRY\u003c\/p\u003e\n      \u003ch3\u003eDries fast. Stays useful.\u003c\/h3\u003e\n      \u003cp\u003eMade from quick-dry performance microfiber so it does not turn into a damp little burden living in your bag by the middle of the session.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eBUILT-IN MAGNET\u003c\/p\u003e\n      \u003ch3\u003eMetal nearby? Good. Problem solved.\u003c\/h3\u003e\n      \u003cp\u003eThis is the part that changes everything. Stick it to rails, benches, fences, bleachers, or your car and keep your towel clean, close, and off the same filthy ground you are already getting worked by.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eMAGNETIC TOWEL HOLDER READY\u003c\/p\u003e\n      \u003ch3\u003eSnap it into your setup.\u003c\/h3\u003e\n      \u003cp\u003eYour towel’s built-in magnet snaps directly into the holder, giving it a clean place to snap in, stay ready, and stay off the ground instead of getting tossed wherever it lands.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eARTIST DESIGNED\u003c\/p\u003e\n      \u003ch3\u003eReal artwork with actual bite.\u003c\/h3\u003e\n      \u003cp\u003eNo fake streetwear sludge. No corporate “edgy” garbage. Just limited-edition art by real humans who know better than to make boring things.\u003c\/p\u003e\n    \u003c\/article\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- UPSELL --\u003e\n  \u003csection class=\"hf-rad-upsell\"\u003e\n    \u003cdiv class=\"hf-rad-upsell__left\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003ePAIR IT WITH OUR MAGNETIC TOWEL HOLDER\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eYour towel has a magnet. Now it has somewhere to go.\u003c\/h2\u003e\n      \u003cp\u003eThe Magnetic Towel Holder is a soft silicone-wrapped magnet with a carabiner, built specifically for our magnetic towels. Clip it to your bag, belt loop, chair, or gear, then let your towel snap into place so it stays close, stays cleaner, and stays off the ground. There when you need it. Out of the way when you don’t.\u003c\/p\u003e\n      \u003cul class=\"hf-rad-checks\"\u003e\n        \u003cli\u003eMade for Happy Faced magnetic towels\u003c\/li\u003e\n        \u003cli\u003eSoft silicone-wrapped magnet with carabiner\u003c\/li\u003e\n        \u003cli\u003eKeeps your towel up, clean, and ready\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-upsell__right\"\u003e\n      \u003cdiv class=\"hf-rad-upsell__photo-wrap\" style=\"position:relative;\"\u003e\n        \n        \u003cimg class=\"hf-rad-upsell__photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Happy_Faced_Magnetic_Towel_Holder_with_measurements.jpg?v=1776465822\" alt=\"Happy Faced Magnetic Towel Holder\" width=\"900\" height=\"900\"\u003e\n\n        \u003c!-- Glow effect --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          inset:0;\n          border-radius:20px;\n          box-shadow:0 0 40px rgba(255,217,0,0.18), inset 0 0 20px rgba(255,217,0,0.08);\n          pointer-events:none;\n        \"\u003e\u003c\/div\u003e\n\n        \u003c!-- Badge --\u003e\n        \u003cdiv class=\"hf-rad-upsell__badge\" style=\"\n          background:#FFD900;\n          color:#000;\n          font-weight:900;\n          letter-spacing:.8px;\n          box-shadow:0 10px 25px rgba(255,217,0,0.25);\n        \"\u003e\n          MAGNETIC TOWEL READY\n        \u003c\/div\u003e\n\n        \u003c!-- Helper text --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          bottom:-28px;\n          left:50%;\n          transform:translateX(-50%);\n          font-size:12px;\n          color:#ccc;\n          text-align:center;\n          max-width:220px;\n          line-height:1.4;\n        \"\u003e\n          magnet snaps\u003cbr\u003edirectly to your towel\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- USE IT TWO WAYS --\u003e\n  \u003csection class=\"hf-rad-compare hf-rad-compare--equal\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eUSE IT TWO WAYS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBuilt to work at the spot and with your setup.\u003c\/h2\u003e\n      \u003cp class=\"hf-rad-lead\" style=\"max-width:760px;\"\u003eThe built-in magnet gives the Bandito two clean ways to work. Stick it directly to metal at the spot, or pair it with our Magnetic Towel Holder to keep it clipped to your gear and ready to grab. Same towel. Two smart ways to use it.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSTICK IT TO METAL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eAttach it to rails, benches, fences, bleachers, or your car\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel off filthy ground\u003c\/li\u003e\n          \u003cli\u003eFast and simple when you are skating\u003c\/li\u003e\n          \u003cli\u003ePerfect when there is metal nearby at the spot\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSNAP INTO HOLDER\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eClips to your bag, belt loop, chair, or gear\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel close, clean, and ready to grab\u003c\/li\u003e\n          \u003cli\u003ePerfect when you want your towel attached to your setup\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"hf-rad-compare\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eWHAT MAKES IT DIFFERENT\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eA normal towel would get wrecked here.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--muted\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eREGULAR TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eEnds up on the ground\u003c\/li\u003e\n          \u003cli\u003eStays damp too long\u003c\/li\u003e\n          \u003cli\u003eAnnoying to carry around\u003c\/li\u003e\n          \u003cli\u003eLooks like an afterthought\u003c\/li\u003e\n          \u003cli\u003eMade for nothing in particular\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--good\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eBANDITO SKATE TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSticks to metal with a built-in magnet\u003c\/li\u003e\n          \u003cli\u003eQuick-dry performance fabric\u003c\/li\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eArtist-designed limited-edition graphics\u003c\/li\u003e\n          \u003cli\u003eMade specifically for skateboarding\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ART STORY --\u003e\n  \u003csection class=\"hf-rad-story\"\u003e\n    \u003cdiv class=\"hf-rad-story__inner\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eTHE ART\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBandana-inspired artwork with better taste and more bite.\u003c\/h2\u003e\n      \u003cp\u003eThe Bandito pulls from classic bandana language, then tightens it up for skate life. Bold symmetry. Sharp contrast. Black, yellow, and white doing exactly what they should without slipping into fake outlaw costume nonsense.\u003c\/p\u003e\n      \u003cp\u003eIt is limited-edition artwork made by real people, and once Bandito is gone, it is gone.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003csection class=\"hf-rad-specs\"\u003e\n    \u003cdiv class=\"hf-rad-specs__header\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eDETAILS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline hf-rad-subheadline--compact\"\u003eFor the detail freaks and the skeptical bastards.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-specs__grid\"\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMaterial\u003c\/span\u003e \u003cstrong\u003ePerformance microfiber\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eDry Time\u003c\/span\u003e \u003cstrong\u003eQuick dry\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMagnet\u003c\/span\u003e \u003cstrong\u003eEmbedded\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eCarry\u003c\/span\u003e \u003cstrong\u003eMagnet system compatible\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eArtwork\u003c\/span\u003e \u003cstrong\u003eLimited edition\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eUse\u003c\/span\u003e \u003cstrong\u003eSkate sessions, street spots, parks\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"hf-rad-faq-wrap\"\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-subheadline\"\u003eStuff people ask before they pull the trigger.\u003c\/h2\u003e\n    \u003cdiv class=\"hf-rad-faq\"\u003e\n      \u003cdetails open=\"\"\u003e\n        \u003csummary\u003eWhat makes the Bandito Skate Towel different from a regular towel?\u003c\/summary\u003e\n        \u003cdiv\u003eThe Bandito was built specifically for skateboarding, with quick-dry performance fabric, an embedded magnet, and compatibility with the Magnetic Towel Holder system.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Bandito Skate Towel have a built-in magnet?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. The built-in magnet lets you stick it to metal surfaces like rails, benches, fences, bleachers, and cars so it stays off the ground and within reach.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Bandito Skate Towel come with the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eNo. The towel and the Magnetic Towel Holder are sold separately, so you can build your setup however you want.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the Bandito Skate Towel without the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. You can use the built-in magnet on metal surfaces at the spot, or pair it with the Magnetic Towel Holder if you want a dedicated place for it on your gear.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the Bandito Skate Towel made for actual skate sessions?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. That is the whole point. It was made for sweat, dust, repeated tries, street spots, skateparks, and everything else that comes with skating.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the Bandito Skate Towel limited edition?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. Each design is released in limited runs, and once this one is gone, it is gone.\u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"hf-ultimate-float\" id=\"hfUltimateFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-ultimate-float__inner\"\u003e\n    \u003cdiv class=\"hf-ultimate-float__copy\"\u003e\n      \u003cspan class=\"hf-ultimate-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-ultimate-float__btn\" id=\"hfScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function() {\n    var floatBar = document.getElementById('hfUltimateFloatBar');\n    var btn = document.getElementById('hfScrollTopBtn');\n    if (!floatBar || !btn) return;\n\n    var showAfter = 500;\n\n    function toggleFloatBar() {\n      if (window.scrollY \u003e showAfter) {\n        floatBar.classList.add('is-visible');\n        floatBar.setAttribute('aria-hidden', 'false');\n      } else {\n        floatBar.classList.remove('is-visible');\n        floatBar.setAttribute('aria-hidden', 'true');\n      }\n    }\n\n    btn.addEventListener('click', function() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    });\n\n    window.addEventListener('scroll', toggleFloatBar, { passive: true });\n    window.addEventListener('load', toggleFloatBar);\n    toggleFloatBar();\n  })();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  .hf-rad-product{\n    color:#fff;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-rad-product *{\n    box-sizing:border-box;\n  }\n\n  .hf-rad-product a{\n    text-decoration:none;\n  }\n\n  .hf-rad-kicker{\n    margin:0 0 14px;\n    color:#FFD900;\n    font-size:12px;\n    line-height:1.1;\n    letter-spacing:.18em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-headline{\n    margin:0 0 18px;\n    font-size:clamp(2rem, 5vw, 4rem);\n    line-height:.95;\n    letter-spacing:-.05em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline{\n    margin:0 0 18px;\n    font-size:clamp(1.5rem, 4vw, 2.7rem);\n    line-height:1;\n    letter-spacing:-.04em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline--compact{\n    font-size:clamp(1.2rem, 3vw, 2rem);\n    line-height:1.05;\n    letter-spacing:-.03em;\n    max-width:520px;\n  }\n\n  .hf-rad-lead,\n  .hf-rad-story p,\n  .hf-rad-upsell p{\n    margin:0 0 14px;\n    color:#d7d7d7;\n    font-size:1.05rem;\n    line-height:1.7;\n    max-width:840px;\n  }\n\n  .hf-rad-intro,\n  .hf-rad-grid,\n  .hf-rad-upsell,\n  .hf-rad-compare,\n  .hf-rad-story,\n  .hf-rad-specs,\n  .hf-rad-faq-wrap{\n    margin:0 0 26px;\n  }\n\n  .hf-rad-intro{\n    position:relative;\n    padding:28px 0 8px;\n  }\n\n  .hf-rad-intro__bar{\n    width:88px;\n    height:4px;\n    border-radius:999px;\n    background:#FFD900;\n    margin:0 0 22px;\n  }\n\n  .hf-rad-pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-rad-pillrow span{\n    padding:10px 12px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.14);\n    background:rgba(255,255,255,.04);\n    color:#fff;\n    font-size:.76rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:16px;\n  }\n\n  .hf-rad-card{\n    padding:22px;\n    border-radius:22px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    box-shadow:0 14px 30px rgba(0,0,0,.14);\n  }\n\n  .hf-rad-card--yellow{\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.14), transparent 40%),\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    border-color:rgba(255,217,0,.22);\n  }\n\n  .hf-rad-card__eyebrow{\n    margin:0 0 10px;\n    color:#FFD900;\n    font-size:.72rem;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card h3{\n    margin:0 0 10px;\n    font-size:1.2rem;\n    line-height:1.05;\n    letter-spacing:-.03em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card p{\n    margin:0;\n    color:#d6d6d6;\n    line-height:1.7;\n  }\n\n  .hf-rad-upsell{\n    display:grid;\n    grid-template-columns:1.1fr .9fr;\n    gap:20px;\n    align-items:center;\n    padding:28px;\n    border-radius:28px;\n    border:1px solid rgba(255,217,0,.24);\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-checks{\n    list-style:none;\n    margin:18px 0 0;\n    padding:0;\n    display:grid;\n    gap:10px;\n  }\n\n  .hf-rad-checks li{\n    position:relative;\n    padding-left:26px;\n    color:#e2e2e2;\n    line-height:1.5;\n  }\n\n  .hf-rad-checks li::before{\n    content:\"✓\";\n    position:absolute;\n    left:0;\n    top:0;\n    color:#FFD900;\n    font-weight:900;\n  }\n\n  .hf-rad-upsell__right{\n    display:flex;\n    flex-direction:column;\n    gap:12px;\n    align-items:flex-end;\n  }\n\n  .hf-rad-upsell__photo-wrap{\n    position:relative;\n    width:100%;\n    max-width:320px;\n    padding:18px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n    box-shadow:0 18px 34px rgba(0,0,0,.16);\n  }\n\n  .hf-rad-upsell__photo{\n    display:block;\n    width:100%;\n    height:auto;\n    border-radius:16px;\n    object-fit:contain;\n    filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));\n  }\n\n  .hf-rad-upsell__badge{\n    position:absolute;\n    right:14px;\n    bottom:14px;\n    padding:8px 10px;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    font-size:.7rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-compare{\n    padding:26px;\n    border-radius:28px;\n    border:1px solid rgba(255,255,255,.08);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.08), transparent 34%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-compare__intro{\n    margin-bottom:20px;\n  }\n\n  .hf-rad-compare__grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:16px;\n    align-items:start;\n  }\n\n  .hf-rad-column{\n    border-radius:22px;\n    overflow:hidden;\n    border:1px solid rgba(255,255,255,.10);\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-column__top{\n    padding:15px 18px;\n    font-size:.78rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-column--muted .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#ababab;\n  }\n\n  .hf-rad-column--good{\n    border-color:rgba(255,217,0,.28);\n    box-shadow:0 18px 34px rgba(255,217,0,.06);\n  }\n\n  .hf-rad-column--good .hf-rad-column__top{\n    background:#FFD900;\n    color:#000;\n  }\n\n  .hf-rad-column ul{\n    list-style:none;\n    margin:0;\n    padding:0;\n  }\n\n  .hf-rad-column li{\n    position:relative;\n    padding:18px 18px 18px 46px;\n    border-top:1px solid rgba(255,255,255,.08);\n    color:#e6e6e6;\n    line-height:1.55;\n  }\n\n  .hf-rad-column--muted li::before,\n  .hf-rad-column--good li::before,\n  .hf-rad-column--equal li::before{\n    position:absolute;\n    left:18px;\n    top:18px;\n    font-weight:900;\n  }\n\n  .hf-rad-column--muted li::before{\n    content:\"×\";\n    color:#7f7f7f;\n  }\n\n  .hf-rad-column--good li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column{\n    border-color:rgba(255,255,255,.10);\n    box-shadow:none;\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-compare--equal .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#fff;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-story{\n    padding:28px;\n    border-left:4px solid #FFD900;\n    background:rgba(255,255,255,.025);\n    border-radius:0 22px 22px 0;\n  }\n\n  .hf-rad-specs{\n    padding:22px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.025);\n  }\n\n  .hf-rad-specs__header{\n    margin-bottom:16px;\n  }\n\n  .hf-rad-specs__grid{\n    display:grid;\n    grid-template-columns:repeat(3,minmax(0,1fr));\n    gap:10px;\n  }\n\n  .hf-rad-spec{\n    display:flex;\n    flex-direction:column;\n    justify-content:flex-start;\n    gap:6px;\n    padding:14px 14px 13px;\n    border-radius:14px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.03);\n    min-width:0;\n  }\n\n  .hf-rad-spec span{\n    color:#9f9f9f;\n    font-size:.72rem;\n    line-height:1.1;\n    letter-spacing:.08em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-spec strong{\n    color:#fff;\n    text-align:left;\n    font-size:.96rem;\n    line-height:1.35;\n    word-break:break-word;\n  }\n\n  .hf-rad-faq{\n    display:grid;\n    gap:12px;\n  }\n\n  .hf-rad-faq details{\n    border:1px solid rgba(255,255,255,.10);\n    border-radius:18px;\n    background:rgba(255,255,255,.03);\n    overflow:hidden;\n  }\n\n  .hf-rad-faq summary{\n    list-style:none;\n    cursor:pointer;\n    padding:18px 20px;\n    font-weight:900;\n    line-height:1.4;\n    position:relative;\n    padding-right:52px;\n  }\n\n  .hf-rad-faq summary::-webkit-details-marker{\n    display:none;\n  }\n\n  .hf-rad-faq summary::after{\n    content:\"+\";\n    position:absolute;\n    right:18px;\n    top:50%;\n    transform:translateY(-50%);\n    color:#FFD900;\n    font-size:1.3rem;\n    font-weight:900;\n  }\n\n  .hf-rad-faq details[open] summary::after{\n    content:\"–\";\n  }\n\n  .hf-rad-faq details div{\n    padding:0 20px 20px;\n    color:#d7d7d7;\n    line-height:1.7;\n  }\n\n  .hf-rad-btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    font-size:.9rem;\n    font-weight:900;\n    letter-spacing:.05em;\n    text-transform:uppercase;\n    transition:all .2s ease;\n  }\n\n  .hf-rad-btn--primary{\n    background:#FFD900;\n    color:#000;\n    border:2px solid #FFD900;\n  }\n\n  .hf-rad-btn--primary:hover{\n    transform:translateY(-2px);\n    box-shadow:0 10px 30px rgba(255,217,0,.22);\n  }\n\n  .hf-rad-btn--ghost{\n    background:transparent;\n    color:#fff;\n    border:2px solid rgba(255,255,255,.16);\n  }\n\n  .hf-rad-btn--ghost:hover{\n    border-color:#FFD900;\n    color:#FFD900;\n  }\n\n  .hf-ultimate-float{\n    position:fixed;\n    left:50%;\n    bottom:18px;\n    transform:translateX(-50%) translateY(120%);\n    width:calc(100% - 24px);\n    max-width:760px;\n    z-index:9999;\n    opacity:0;\n    pointer-events:none;\n    transition:transform .28s ease, opacity .28s ease;\n  }\n\n  .hf-ultimate-float.is-visible{\n    transform:translateX(-50%) translateY(0);\n    opacity:1;\n    pointer-events:auto;\n  }\n\n  .hf-ultimate-float__inner{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    padding:12px;\n    border-radius:20px;\n    border:1px solid rgba(255,255,255,0.12);\n    background:rgba(10,10,10,0.92);\n    backdrop-filter:blur(12px);\n    box-shadow:0 18px 50px rgba(0,0,0,0.4);\n  }\n\n  .hf-ultimate-float__copy{\n    min-width:0;\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n\n  .hf-ultimate-float__eyebrow{\n    color:#FFD900;\n    font-size:0.72rem;\n    font-weight:800;\n    letter-spacing:0.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-ultimate-float__title{\n    color:#fff;\n    font-size:0.95rem;\n    font-weight:800;\n    line-height:1.1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .hf-ultimate-float__meta{\n    color:#cfcfcf;\n    font-size:0.82rem;\n    line-height:1.2;\n  }\n\n  .hf-ultimate-float__btn{\n    flex:0 0 auto;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:0.5rem;\n    min-height:50px;\n    padding:0.95rem 1.2rem;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    text-decoration:none;\n    font-weight:900;\n    font-size:0.84rem;\n    letter-spacing:0.08em;\n    text-transform:uppercase;\n    box-shadow:0 10px 20px rgba(0,0,0,0.25);\n    transition:transform .18s ease, opacity .18s ease;\n    border:none;\n    cursor:pointer;\n    font-family:inherit;\n  }\n\n  .hf-ultimate-float__btn:hover{\n    opacity:0.9;\n    transform:translateY(-1px);\n  }\n\n  @media (max-width: 1100px){\n    .hf-rad-grid{\n      grid-template-columns:repeat(2,1fr);\n    }\n\n    .hf-rad-upsell{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-upsell__right{\n      align-items:flex-start;\n      flex-direction:row;\n      flex-wrap:wrap;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hf-rad-grid,\n    .hf-rad-compare__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-card,\n    .hf-rad-compare,\n    .hf-rad-story,\n    .hf-rad-upsell,\n    .hf-rad-specs{\n      padding:20px;\n      border-radius:20px;\n    }\n\n    .hf-rad-column{\n      border-radius:18px;\n    }\n\n    .hf-rad-column__top{\n      padding:13px 14px;\n      font-size:.72rem;\n      letter-spacing:.1em;\n    }\n\n    .hf-rad-column li{\n      padding:14px 14px 14px 38px;\n      font-size:.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rad-column--muted li::before,\n    .hf-rad-column--good li::before,\n    .hf-rad-column--equal li::before{\n      left:14px;\n      top:14px;\n    }\n\n    .hf-rad-subheadline{\n      font-size:clamp(1.35rem, 7vw, 2rem);\n      line-height:1.02;\n    }\n\n    .hf-rad-subheadline--compact{\n      font-size:1.1rem;\n      line-height:1.08;\n      max-width:320px;\n      margin-bottom:14px;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:8px;\n    }\n\n    .hf-rad-spec{\n      padding:12px 12px 11px;\n      border-radius:12px;\n      gap:5px;\n    }\n\n    .hf-rad-spec span{\n      font-size:.66rem;\n      letter-spacing:.07em;\n    }\n\n    .hf-rad-spec strong{\n      font-size:.88rem;\n      line-height:1.25;\n    }\n\n    .hf-rad-upsell__right{\n      flex-direction:column;\n      width:100%;\n      align-items:stretch;\n    }\n\n    .hf-rad-upsell__photo-wrap{\n      max-width:none;\n    }\n\n    .hf-rad-btn{\n      width:100%;\n    }\n  }\n\n  @media (max-width: 640px){\n    .hf-ultimate-float{\n      width:calc(100% - 16px);\n      bottom:12px;\n    }\n\n    .hf-ultimate-float__inner{\n      padding:10px;\n      gap:10px;\n    }\n\n    .hf-ultimate-float__title{\n      font-size:0.88rem;\n    }\n\n    .hf-ultimate-float__meta{\n      font-size:0.76rem;\n    }\n\n    .hf-ultimate-float__btn{\n      min-height:46px;\n      padding:0.9rem 1rem;\n      font-size:0.78rem;\n    }\n  }\n\n  @media (max-width: 420px){\n    .hf-rad-specs__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-ultimate-float__inner{\n      align-items:flex-start;\n      flex-direction:column;\n    }\n\n    .hf-ultimate-float__btn{\n      width:100%;\n    }\n  }\n\u003c\/style\u003e","brand":"Happy Faced","offers":[{"title":"Default Title","offer_id":51509333262657,"sku":"SKT-BANDITO","price":24.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/FAEEE7F6-1369-4462-8BD7-B9CE4B67EA12.png?v=1778604890"},{"product_id":"attack-skate-towel","title":"Attack Skate Towel","description":"\u003cdiv class=\"hf-rad-product\"\u003e\n  \u003c!-- INTRO STRIP --\u003e\n  \u003csection class=\"hf-rad-intro\"\u003e\n    \u003cdiv class=\"hf-rad-intro__bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eATTACK SKATE TOWEL\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-headline\"\u003eA TOWEL BUILT FOR SWEAT, SLAMS, AND LOSING YOUR MIND OVER ONE TRICK.\u003c\/h2\u003e\n    \u003cp class=\"hf-rad-lead\"\u003eThe Attack Skate Towel was made for real skate sessions, not some neat little fantasy version of them. It dries fast, wipes sweat off your hands and face, sticks to metal with a built-in magnet and pairs with the Magnetic Towel Holder when you want it attached to your setup. That keeps it close instead of ending up on the ground like every other towel that had the misfortune of showing up at the spot. The art just happens to look completely fried too.\u003c\/p\u003e\n    \u003cdiv class=\"hf-rad-pillrow\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e \u003cspan\u003eQUICK DRY\u003c\/span\u003e \u003cspan\u003eBUILT-IN MAGNET\u003c\/span\u003e \u003cspan\u003eMAGNET SYSTEM READY\u003c\/span\u003e \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FEATURE BLOCKS --\u003e\n  \u003csection class=\"hf-rad-grid\"\u003e\n    \u003carticle class=\"hf-rad-card hf-rad-card--yellow\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eWHY IT HITS\u003c\/p\u003e\n      \u003ch3\u003eLooks unhinged. Works like hell.\u003c\/h3\u003e\n      \u003cp\u003eRegular towels fall on the ground, stay damp too long, and get stuffed in your bag like a soggy afterthought. The Attack fixes that with quick-dry fabric, a built-in magnet, and a setup made for actual skateboarding.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eSUPER ABSORBENT\u003c\/p\u003e\n      \u003ch3\u003eWipe off. Reset. Go again.\u003c\/h3\u003e\n      \u003cp\u003ePulls sweat off your face and hands fast so you can stop slipping around and get back to the trick that has been disrespecting you for the last forty-five minutes.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eQUICK DRY\u003c\/p\u003e\n      \u003ch3\u003eDries fast. Stays useful.\u003c\/h3\u003e\n      \u003cp\u003eMade from quick-dry performance microfiber so it does not turn into a damp little burden halfway through the session.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eBUILT-IN MAGNET\u003c\/p\u003e\n      \u003ch3\u003eStick it to metal. Keep it off the damn ground.\u003c\/h3\u003e\n      \u003cp\u003eThis is the part that changes everything. Stick it to rails, benches, fences, bleachers, or your car and keep your towel clean, close, and out of the parking lot filth.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eMAGNETIC TOWEL HOLDER READY\u003c\/p\u003e\n      \u003ch3\u003eSnap it into your setup.\u003c\/h3\u003e\n      \u003cp\u003eYour towel’s built-in magnet snaps directly into the holder, giving it a clean place to snap in, stay ready, and stay off the ground instead of getting tossed wherever it lands.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eARTIST DESIGNED\u003c\/p\u003e\n      \u003ch3\u003eReal artwork. No fake edge.\u003c\/h3\u003e\n      \u003cp\u003eNo corporate “streetwear” nonsense. No made-up rebellion. Just limited-edition artwork by real humans making something loud, weird, funny, and right.\u003c\/p\u003e\n    \u003c\/article\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- UPSELL --\u003e\n  \u003csection class=\"hf-rad-upsell\"\u003e\n    \u003cdiv class=\"hf-rad-upsell__left\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003ePAIR IT WITH OUR MAGNETIC TOWEL HOLDER\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eYour towel has a magnet. Now it has somewhere to go.\u003c\/h2\u003e\n      \u003cp\u003eThe Magnetic Towel Holder is a soft silicone-wrapped magnet with a carabiner, built specifically for our magnetic towels. Clip it to your bag, belt loop, chair, or gear, then let your towel snap into place so it stays close, stays cleaner, and stays off the ground. There when you need it. Out of the way when you don’t.\u003c\/p\u003e\n      \u003cul class=\"hf-rad-checks\"\u003e\n        \u003cli\u003eMade for Happy Faced magnetic towels\u003c\/li\u003e\n        \u003cli\u003eSoft silicone-wrapped magnet with carabiner\u003c\/li\u003e\n        \u003cli\u003eKeeps your towel up, clean, and ready\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-upsell__right\"\u003e\n      \u003cdiv class=\"hf-rad-upsell__photo-wrap\" style=\"position:relative;\"\u003e\n        \n        \u003cimg class=\"hf-rad-upsell__photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Happy_Faced_Magnetic_Towel_Holder_with_measurements.jpg?v=1776465822\" alt=\"Happy Faced Magnetic Towel Holder\" width=\"900\" height=\"900\"\u003e\n\n        \u003c!-- Glow effect --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          inset:0;\n          border-radius:20px;\n          box-shadow:0 0 40px rgba(255,217,0,0.18), inset 0 0 20px rgba(255,217,0,0.08);\n          pointer-events:none;\n        \"\u003e\u003c\/div\u003e\n\n        \u003c!-- Badge --\u003e\n        \u003cdiv class=\"hf-rad-upsell__badge\" style=\"\n          background:#FFD900;\n          color:#000;\n          font-weight:900;\n          letter-spacing:.8px;\n          box-shadow:0 10px 25px rgba(255,217,0,0.25);\n        \"\u003e\n          MAGNETIC TOWEL READY\n        \u003c\/div\u003e\n\n        \u003c!-- Helper text --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          bottom:-28px;\n          left:50%;\n          transform:translateX(-50%);\n          font-size:12px;\n          color:#ccc;\n          text-align:center;\n          max-width:220px;\n          line-height:1.4;\n        \"\u003e\n          magnet snaps\u003cbr\u003edirectly to your towel\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- USE IT TWO WAYS --\u003e\n  \u003csection class=\"hf-rad-compare hf-rad-compare--equal\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eUSE IT TWO WAYS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBuilt to work at the spot and with your setup.\u003c\/h2\u003e\n      \u003cp class=\"hf-rad-lead\" style=\"max-width:760px;\"\u003eThe built-in magnet gives the Attack two clean ways to work. Stick it directly to metal at the spot, or pair it with our Magnetic Towel Holder to keep it clipped to your gear and ready to grab. Same towel. Two smart ways to use it.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSTICK IT TO METAL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eAttach it to rails, benches, fences, bleachers, or your car\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel off filthy ground\u003c\/li\u003e\n          \u003cli\u003eFast and simple when you are skating\u003c\/li\u003e\n          \u003cli\u003ePerfect when there is metal nearby at the spot\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSNAP INTO HOLDER\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eClips to your bag, belt loop, chair, or gear\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel close, clean, and ready to grab\u003c\/li\u003e\n          \u003cli\u003ePerfect when you want your towel attached to your setup\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"hf-rad-compare\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eWHAT MAKES IT DIFFERENT\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eA normal towel would get wrecked here.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--muted\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eREGULAR TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eEnds up on the ground\u003c\/li\u003e\n          \u003cli\u003eStays damp too long\u003c\/li\u003e\n          \u003cli\u003eAnnoying to carry around\u003c\/li\u003e\n          \u003cli\u003eLooks like an afterthought\u003c\/li\u003e\n          \u003cli\u003eMade for nothing in particular\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--good\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eATTACK SKATE TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSticks to metal with a built-in magnet\u003c\/li\u003e\n          \u003cli\u003eQuick-dry performance microfiber\u003c\/li\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eArtist-designed limited-edition graphics\u003c\/li\u003e\n          \u003cli\u003eMade specifically for skateboarding\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ART STORY --\u003e\n  \u003csection class=\"hf-rad-story\"\u003e\n    \u003cdiv class=\"hf-rad-story__inner\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eTHE ART\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eMutant skull artwork with zero interest in behaving.\u003c\/h2\u003e\n      \u003cp\u003eThe Attack goes full fried-brain mode: neon spirals, glowing eyes, exposed brain, and a skateboard buried in the mess like that somehow helped. It is loud, weird, and exactly the kind of bad idea that makes perfect sense at the spot.\u003c\/p\u003e\n      \u003cp\u003eIt is limited-edition artwork made by real people, and once Attack is gone, it is gone.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003csection class=\"hf-rad-specs\"\u003e\n    \u003cdiv class=\"hf-rad-specs__header\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eDETAILS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline hf-rad-subheadline--compact\"\u003eFor the detail freaks and the skeptical bastards.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-specs__grid\"\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMaterial\u003c\/span\u003e \u003cstrong\u003ePerformance microfiber\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eDry Time\u003c\/span\u003e \u003cstrong\u003eQuick dry\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMagnet\u003c\/span\u003e \u003cstrong\u003eEmbedded\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eCarry\u003c\/span\u003e \u003cstrong\u003eMagnet system compatible\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eArtwork\u003c\/span\u003e \u003cstrong\u003eLimited edition\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eUse\u003c\/span\u003e \u003cstrong\u003eSkate sessions, street spots, parks\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"hf-rad-faq-wrap\"\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-subheadline\"\u003eStuff people ask before they pull the trigger.\u003c\/h2\u003e\n    \u003cdiv class=\"hf-rad-faq\"\u003e\n      \u003cdetails open=\"\"\u003e\n        \u003csummary\u003eWhat makes the Attack Skate Towel different from a regular towel?\u003c\/summary\u003e\n        \u003cdiv\u003eThe Attack was built specifically for skateboarding, with quick-dry performance microfiber, an embedded magnet, and compatibility with the Magnetic Towel Holder system.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Attack Skate Towel have a built-in magnet?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. The built-in magnet lets you stick it to metal surfaces like rails, benches, fences, bleachers, and cars so it stays off the ground and within reach.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Attack Skate Towel come with the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eNo. The towel and the Magnetic Towel Holder are sold separately, so you can build your setup however you want.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the towel without the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. You can use the built-in magnet on metal surfaces at the spot, or pair it with the Magnetic Towel Holder if you want a dedicated place for it on your gear.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the Attack Skate Towel made for actual skate sessions?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. That is the whole point. It was made for sweat, dirt, repeated tries, street spots, skateparks, and everything else that comes with skating.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the Attack Skate Towel limited edition?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. Each design is released in limited runs, and once this one is gone, it is gone.\u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"hf-ultimate-float\" id=\"hfUltimateFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-ultimate-float__inner\"\u003e\n    \u003cdiv class=\"hf-ultimate-float__copy\"\u003e\n      \u003cspan class=\"hf-ultimate-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-ultimate-float__btn\" id=\"hfScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function() {\n    var floatBar = document.getElementById('hfUltimateFloatBar');\n    var btn = document.getElementById('hfScrollTopBtn');\n    if (!floatBar || !btn) return;\n\n    var showAfter = 500;\n\n    function toggleFloatBar() {\n      if (window.scrollY \u003e showAfter) {\n        floatBar.classList.add('is-visible');\n        floatBar.setAttribute('aria-hidden', 'false');\n      } else {\n        floatBar.classList.remove('is-visible');\n        floatBar.setAttribute('aria-hidden', 'true');\n      }\n    }\n\n    btn.addEventListener('click', function() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    });\n\n    window.addEventListener('scroll', toggleFloatBar, { passive: true });\n    window.addEventListener('load', toggleFloatBar);\n    toggleFloatBar();\n  })();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  .hf-rad-product{\n    color:#fff;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-rad-product *{\n    box-sizing:border-box;\n  }\n\n  .hf-rad-product a{\n    text-decoration:none;\n  }\n\n  .hf-rad-kicker{\n    margin:0 0 14px;\n    color:#FFD900;\n    font-size:12px;\n    line-height:1.1;\n    letter-spacing:.18em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-headline{\n    margin:0 0 18px;\n    font-size:clamp(2rem, 5vw, 4rem);\n    line-height:.95;\n    letter-spacing:-.05em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline{\n    margin:0 0 18px;\n    font-size:clamp(1.5rem, 4vw, 2.7rem);\n    line-height:1;\n    letter-spacing:-.04em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline--compact{\n    font-size:clamp(1.2rem, 3vw, 2rem);\n    line-height:1.05;\n    letter-spacing:-.03em;\n    max-width:520px;\n  }\n\n  .hf-rad-lead,\n  .hf-rad-story p,\n  .hf-rad-upsell p{\n    margin:0 0 14px;\n    color:#d7d7d7;\n    font-size:1.05rem;\n    line-height:1.7;\n    max-width:840px;\n  }\n\n  .hf-rad-intro,\n  .hf-rad-grid,\n  .hf-rad-upsell,\n  .hf-rad-compare,\n  .hf-rad-story,\n  .hf-rad-specs,\n  .hf-rad-faq-wrap{\n    margin:0 0 26px;\n  }\n\n  .hf-rad-intro{\n    position:relative;\n    padding:28px 0 8px;\n  }\n\n  .hf-rad-intro__bar{\n    width:88px;\n    height:4px;\n    border-radius:999px;\n    background:#FFD900;\n    margin:0 0 22px;\n  }\n\n  .hf-rad-pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-rad-pillrow span{\n    padding:10px 12px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.14);\n    background:rgba(255,255,255,.04);\n    color:#fff;\n    font-size:.76rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:16px;\n  }\n\n  .hf-rad-card{\n    padding:22px;\n    border-radius:22px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    box-shadow:0 14px 30px rgba(0,0,0,.14);\n  }\n\n  .hf-rad-card--yellow{\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.14), transparent 40%),\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    border-color:rgba(255,217,0,.22);\n  }\n\n  .hf-rad-card__eyebrow{\n    margin:0 0 10px;\n    color:#FFD900;\n    font-size:.72rem;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card h3{\n    margin:0 0 10px;\n    font-size:1.2rem;\n    line-height:1.05;\n    letter-spacing:-.03em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card p{\n    margin:0;\n    color:#d6d6d6;\n    line-height:1.7;\n  }\n\n  .hf-rad-upsell{\n    display:grid;\n    grid-template-columns:1.1fr .9fr;\n    gap:20px;\n    align-items:center;\n    padding:28px;\n    border-radius:28px;\n    border:1px solid rgba(255,217,0,.24);\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-checks{\n    list-style:none;\n    margin:18px 0 0;\n    padding:0;\n    display:grid;\n    gap:10px;\n  }\n\n  .hf-rad-checks li{\n    position:relative;\n    padding-left:26px;\n    color:#e2e2e2;\n    line-height:1.5;\n  }\n\n  .hf-rad-checks li::before{\n    content:\"✓\";\n    position:absolute;\n    left:0;\n    top:0;\n    color:#FFD900;\n    font-weight:900;\n  }\n\n  .hf-rad-upsell__right{\n    display:flex;\n    flex-direction:column;\n    gap:12px;\n    align-items:flex-end;\n  }\n\n  .hf-rad-upsell__photo-wrap{\n    position:relative;\n    width:100%;\n    max-width:320px;\n    padding:18px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n    box-shadow:0 18px 34px rgba(0,0,0,.16);\n  }\n\n  .hf-rad-upsell__photo{\n    display:block;\n    width:100%;\n    height:auto;\n    border-radius:16px;\n    object-fit:contain;\n    filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));\n  }\n\n  .hf-rad-upsell__badge{\n    position:absolute;\n    right:14px;\n    bottom:14px;\n    padding:8px 10px;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    font-size:.7rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-compare{\n    padding:26px;\n    border-radius:28px;\n    border:1px solid rgba(255,255,255,.08);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.08), transparent 34%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-compare__intro{\n    margin-bottom:20px;\n  }\n\n  .hf-rad-compare__grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:16px;\n    align-items:start;\n  }\n\n  .hf-rad-column{\n    border-radius:22px;\n    overflow:hidden;\n    border:1px solid rgba(255,255,255,.10);\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-column__top{\n    padding:15px 18px;\n    font-size:.78rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-column--muted .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#ababab;\n  }\n\n  .hf-rad-column--good{\n    border-color:rgba(255,217,0,.28);\n    box-shadow:0 18px 34px rgba(255,217,0,.06);\n  }\n\n  .hf-rad-column--good .hf-rad-column__top{\n    background:#FFD900;\n    color:#000;\n  }\n\n  .hf-rad-column ul{\n    list-style:none;\n    margin:0;\n    padding:0;\n  }\n\n  .hf-rad-column li{\n    position:relative;\n    padding:18px 18px 18px 46px;\n    border-top:1px solid rgba(255,255,255,.08);\n    color:#e6e6e6;\n    line-height:1.55;\n  }\n\n  .hf-rad-column--muted li::before,\n  .hf-rad-column--good li::before,\n  .hf-rad-column--equal li::before{\n    position:absolute;\n    left:18px;\n    top:18px;\n    font-weight:900;\n  }\n\n  .hf-rad-column--muted li::before{\n    content:\"×\";\n    color:#7f7f7f;\n  }\n\n  .hf-rad-column--good li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column{\n    border-color:rgba(255,255,255,.10);\n    box-shadow:none;\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-compare--equal .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#fff;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-story{\n    padding:28px;\n    border-left:4px solid #FFD900;\n    background:rgba(255,255,255,.025);\n    border-radius:0 22px 22px 0;\n  }\n\n  .hf-rad-specs{\n    padding:22px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.025);\n  }\n\n  .hf-rad-specs__header{\n    margin-bottom:16px;\n  }\n\n  .hf-rad-specs__grid{\n    display:grid;\n    grid-template-columns:repeat(3,minmax(0,1fr));\n    gap:10px;\n  }\n\n  .hf-rad-spec{\n    display:flex;\n    flex-direction:column;\n    justify-content:flex-start;\n    gap:6px;\n    padding:14px 14px 13px;\n    border-radius:14px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.03);\n    min-width:0;\n  }\n\n  .hf-rad-spec span{\n    color:#9f9f9f;\n    font-size:.72rem;\n    line-height:1.1;\n    letter-spacing:.08em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-spec strong{\n    color:#fff;\n    text-align:left;\n    font-size:.96rem;\n    line-height:1.35;\n    word-break:break-word;\n  }\n\n  .hf-rad-faq{\n    display:grid;\n    gap:12px;\n  }\n\n  .hf-rad-faq details{\n    border:1px solid rgba(255,255,255,.10);\n    border-radius:18px;\n    background:rgba(255,255,255,.03);\n    overflow:hidden;\n  }\n\n  .hf-rad-faq summary{\n    list-style:none;\n    cursor:pointer;\n    padding:18px 20px;\n    font-weight:900;\n    line-height:1.4;\n    position:relative;\n    padding-right:52px;\n  }\n\n  .hf-rad-faq summary::-webkit-details-marker{\n    display:none;\n  }\n\n  .hf-rad-faq summary::after{\n    content:\"+\";\n    position:absolute;\n    right:18px;\n    top:50%;\n    transform:translateY(-50%);\n    color:#FFD900;\n    font-size:1.3rem;\n    font-weight:900;\n  }\n\n  .hf-rad-faq details[open] summary::after{\n    content:\"–\";\n  }\n\n  .hf-rad-faq details div{\n    padding:0 20px 20px;\n    color:#d7d7d7;\n    line-height:1.7;\n  }\n\n  .hf-rad-btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    font-size:.9rem;\n    font-weight:900;\n    letter-spacing:.05em;\n    text-transform:uppercase;\n    transition:all .2s ease;\n  }\n\n  .hf-rad-btn--primary{\n    background:#FFD900;\n    color:#000;\n    border:2px solid #FFD900;\n  }\n\n  .hf-rad-btn--primary:hover{\n    transform:translateY(-2px);\n    box-shadow:0 10px 30px rgba(255,217,0,.22);\n  }\n\n  .hf-rad-btn--ghost{\n    background:transparent;\n    color:#fff;\n    border:2px solid rgba(255,255,255,.16);\n  }\n\n  .hf-rad-btn--ghost:hover{\n    border-color:#FFD900;\n    color:#FFD900;\n  }\n\n  .hf-ultimate-float{\n    position:fixed;\n    left:50%;\n    bottom:18px;\n    transform:translateX(-50%) translateY(120%);\n    width:calc(100% - 24px);\n    max-width:760px;\n    z-index:9999;\n    opacity:0;\n    pointer-events:none;\n    transition:transform .28s ease, opacity .28s ease;\n  }\n\n  .hf-ultimate-float.is-visible{\n    transform:translateX(-50%) translateY(0);\n    opacity:1;\n    pointer-events:auto;\n  }\n\n  .hf-ultimate-float__inner{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    padding:12px;\n    border-radius:20px;\n    border:1px solid rgba(255,255,255,0.12);\n    background:rgba(10,10,10,0.92);\n    backdrop-filter:blur(12px);\n    box-shadow:0 18px 50px rgba(0,0,0,0.4);\n  }\n\n  .hf-ultimate-float__copy{\n    min-width:0;\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n\n  .hf-ultimate-float__eyebrow{\n    color:#FFD900;\n    font-size:0.72rem;\n    font-weight:800;\n    letter-spacing:0.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-ultimate-float__title{\n    color:#fff;\n    font-size:0.95rem;\n    font-weight:800;\n    line-height:1.1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .hf-ultimate-float__meta{\n    color:#cfcfcf;\n    font-size:0.82rem;\n    line-height:1.2;\n  }\n\n  .hf-ultimate-float__btn{\n    flex:0 0 auto;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:0.5rem;\n    min-height:50px;\n    padding:0.95rem 1.2rem;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    text-decoration:none;\n    font-weight:900;\n    font-size:0.84rem;\n    letter-spacing:0.08em;\n    text-transform:uppercase;\n    box-shadow:0 10px 20px rgba(0,0,0,0.25);\n    transition:transform .18s ease, opacity .18s ease;\n    border:none;\n    cursor:pointer;\n    font-family:inherit;\n  }\n\n  .hf-ultimate-float__btn:hover{\n    opacity:0.9;\n    transform:translateY(-1px);\n  }\n\n  @media (max-width: 1100px){\n    .hf-rad-grid{\n      grid-template-columns:repeat(2,1fr);\n    }\n\n    .hf-rad-upsell{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-upsell__right{\n      align-items:flex-start;\n      flex-direction:row;\n      flex-wrap:wrap;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hf-rad-grid,\n    .hf-rad-compare__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-card,\n    .hf-rad-compare,\n    .hf-rad-story,\n    .hf-rad-upsell,\n    .hf-rad-specs{\n      padding:20px;\n      border-radius:20px;\n    }\n\n    .hf-rad-column{\n      border-radius:18px;\n    }\n\n    .hf-rad-column__top{\n      padding:13px 14px;\n      font-size:.72rem;\n      letter-spacing:.1em;\n    }\n\n    .hf-rad-column li{\n      padding:14px 14px 14px 38px;\n      font-size:.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rad-column--muted li::before,\n    .hf-rad-column--good li::before,\n    .hf-rad-column--equal li::before{\n      left:14px;\n      top:14px;\n    }\n\n    .hf-rad-subheadline{\n      font-size:clamp(1.35rem, 7vw, 2rem);\n      line-height:1.02;\n    }\n\n    .hf-rad-subheadline--compact{\n      font-size:1.1rem;\n      line-height:1.08;\n      max-width:320px;\n      margin-bottom:14px;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:8px;\n    }\n\n    .hf-rad-spec{\n      padding:12px 12px 11px;\n      border-radius:12px;\n      gap:5px;\n    }\n\n    .hf-rad-spec span{\n      font-size:.66rem;\n      letter-spacing:.07em;\n    }\n\n    .hf-rad-spec strong{\n      font-size:.88rem;\n      line-height:1.25;\n    }\n\n    .hf-rad-upsell__right{\n      flex-direction:column;\n      width:100%;\n      align-items:stretch;\n    }\n\n    .hf-rad-upsell__photo-wrap{\n      max-width:none;\n    }\n\n    .hf-rad-btn{\n      width:100%;\n    }\n  }\n\n  @media (max-width: 640px){\n    .hf-ultimate-float{\n      width:calc(100% - 16px);\n      bottom:12px;\n    }\n\n    .hf-ultimate-float__inner{\n      padding:10px;\n      gap:10px;\n    }\n\n    .hf-ultimate-float__title{\n      font-size:0.88rem;\n    }\n\n    .hf-ultimate-float__meta{\n      font-size:0.76rem;\n    }\n\n    .hf-ultimate-float__btn{\n      min-height:46px;\n      padding:0.9rem 1rem;\n      font-size:0.78rem;\n    }\n  }\n\n  @media (max-width: 420px){\n    .hf-rad-specs__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-ultimate-float__inner{\n      align-items:flex-start;\n      flex-direction:column;\n    }\n\n    .hf-ultimate-float__btn{\n      width:100%;\n    }\n  }\n\u003c\/style\u003e","brand":"Happy Faced","offers":[{"title":"Default Title","offer_id":51539861569857,"sku":"SKT-ATTCK","price":24.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/1915E77A-239D-488B-8A2A-F99B09F56885.png?v=1778604295"}],"url":"https:\/\/happyfaced.com\/collections\/featured-towels.oembed","provider":"Happy Faced","version":"1.0","type":"link"}