{"product_id":"duality-sidekick-towel","title":"Duality Sidekick Towel","description":"\u003csection class=\"hf-duality-wrap\" aria-labelledby=\"hf-duality-title\"\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__lead p{\n      margin: 0 0 1rem;\n    }\n\n    .hf-duality__lead p:last-child{\n      margin-bottom: 0;\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__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-duality__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-duality__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-duality__cta-btn:hover{\n      opacity: 0.9;\n      transform: translateY(-1px);\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--full{\n      grid-column:1 \/ -1;\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    @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  \u003c\/style\u003e\n\n  \u003carticle class=\"hf-duality\" itemscope itemtype=\"https:\/\/schema.org\/Product\"\u003e\n    \u003cmeta itemprop=\"name\" content=\"Duality Sidekick Towel\"\u003e\n\n    \u003cheader class=\"hf-duality__hero\"\u003e\n      \u003cdiv class=\"hf-duality__hero-main\"\u003e\n        \u003cp class=\"hf-duality__kicker\"\u003eJOAN TARRAGÓ SIDEKICK TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-duality__title\" id=\"hf-duality-title\" itemprop=\"name\"\u003e\n          DUALITY\n          \u003cspan\u003eBoth halves of the story. Quick-dry. Packable. Trying not to be a dick.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cdiv class=\"hf-duality__lead\" itemprop=\"description\"\u003e\n          \u003cp\u003e\n            The Duality Sidekick Towel’s ultra-absorbent, quick-dry, sand-resistant, and artist-designed for people who know we’re all a mix of opposites.\n          \u003c\/p\u003e\n          \u003cp\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      \u003c\/div\u003e\n\n      \u003caside class=\"hf-duality__hero-side\" aria-label=\"Why it earns the spot\"\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\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \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\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \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\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \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    \u003cdiv class=\"hf-duality__pills\" aria-label=\"Towel features\"\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\/div\u003e\n\n    \u003csection class=\"hf-duality__grid\" aria-labelledby=\"hf-duality-difference\"\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 id=\"hf-duality-difference\"\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__cta hf-duality__card--full\"\u003e\n        \u003cp\u003eAlready convinced? Weird. Efficient. We respect it.\u003c\/p\u003e\n        \u003cbutton class=\"hf-duality__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      \u003csection class=\"hf-duality__card\" aria-labelledby=\"hf-duality-feel\"\u003e\n        \u003cspan class=\"hf-duality__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3 id=\"hf-duality-feel\"\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\/section\u003e\n\n      \u003csection class=\"hf-duality__card\" aria-labelledby=\"hf-duality-design-story\"\u003e\n        \u003cspan class=\"hf-duality__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3 id=\"hf-duality-design-story\"\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          Created by \u003ca href=\"https:\/\/happyfaced.com\/pages\/joan-tarrago\" target=\"_blank\" title=\"Artist Profile for Joan Tarragó\" rel=\"noopener\"\u003eJoan Tarragó\u003c\/a\u003e, Duality nods to that outward push and pull—ebb and flow, pleasure and pain, proud moments and the ones we’d rather not explain.\n        \u003c\/p\u003e\n      \u003c\/section\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-duality__faq\" aria-labelledby=\"hf-duality-faq-title\"\u003e\n      \u003ch3 id=\"hf-duality-faq-title\"\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\" aria-labelledby=\"hf-duality-specs-title\"\u003e\n      \u003ch3 id=\"hf-duality-specs-title\"\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-duality__spec-grid\" aria-label=\"Available sizes\"\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 hf-duality__meta--full\"\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\n    \u003cdiv class=\"hf-duality__cta\"\u003e\n      \u003cp\u003eYou made it to the end. That feels like towel-buying behavior.\u003c\/p\u003e\n      \u003cbutton class=\"hf-duality__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 type=\"application\/ld+json\"\u003e\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is this towel best for?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"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      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does it dry fast?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"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      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is it sand-free?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"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      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is it eco-friendly?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"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      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Will it smell?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"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      }\n    }\n  ]\n}\n  \u003c\/script\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":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","url":"https:\/\/happyfaced.com\/products\/duality-sidekick-towel","provider":"Happy Faced","version":"1.0","type":"link"}