{"title":"Large Towels Built for Beach, Pool \u0026 Lounging","description":"\u003cdiv class=\"hf-collection-hero\"\u003e\n  \u003cdiv class=\"hf-collection-hero__glow\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"hf-collection-hero__inner\"\u003e\n    \u003cp class=\"hf-collection-hero__kicker hf-collection-hero__kicker--main\"\u003eLARGE TOWELS\u003c\/p\u003e\n\n    \u003cp class=\"hf-collection-hero__text\"\u003e\n      \u003cspan style=\"color: rgb(255, 217, 0);\"\u003eThe beach towel. The pool towel. The full-body drying, chair-covering, sand-claiming main character towel.\u003c\/span\u003e\u003cbr\u003e\n      \u003cspan style=\"color: rgb(255, 217, 0);\"\u003eMaximum coverage. Quick dry. Super absorbent. Soft, durable, and artist-designed.\u003c\/span\u003e\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"hf-collection-hero__pillrow\"\u003e\n      \u003cspan\u003e72X36 INCHES\u003c\/span\u003e\n      \u003cspan\u003eBEACH READY\u003c\/span\u003e\n      \u003cspan\u003eQUICK DRY\u003c\/span\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e\n      \u003cspan\u003eFULL-BODY COVERAGE\u003c\/span\u003e\n      \u003cspan\u003ePOOL APPROVED\u003c\/span\u003e\n      \u003cspan\u003eLOUNGE FRIENDLY\u003c\/span\u003e\n      \u003cspan\u003eARTIST-DESIGNED\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .hf-collection-hero{\n    position:relative;\n    overflow:hidden;\n    background:#1d1d1d;\n    color:#fff;\n    border:none;\n    border-radius:0;\n    padding:64px 28px 52px;\n    margin:0 0 28px;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-collection-hero__glow{\n    position:absolute;\n    inset:0;\n    pointer-events:none;\n    opacity:.85;\n    background:\n      radial-gradient(circle at 12% 18%, rgba(255,217,0,.22), transparent 30%),\n      radial-gradient(circle at 88% 0%, rgba(255,255,255,.05), transparent 20%);\n  }\n\n  .hf-collection-hero__inner{\n    position:relative;\n    z-index:1;\n    max-width:1200px;\n  }\n\n  .hf-collection-hero__kicker--main{\n    margin:0 0 14px;\n    font-size:clamp(2.6rem, 6vw, 4.6rem);\n    line-height:.88;\n    letter-spacing:-.07em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-collection-hero__text{\n    margin:0;\n    max-width:760px;\n    color:#dcdcdc;\n    font-size:1.05rem;\n    line-height:1.6;\n  }\n\n  .hf-collection-hero__pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-collection-hero__pillrow span{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:36px;\n    padding:0 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:.74rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n    backdrop-filter:blur(6px);\n    white-space:nowrap;\n  }\n\n  @media (min-width:900px){\n    .hf-collection-hero__kicker--main{\n      white-space:nowrap;\n    }\n  }\n\n  @media (max-width:767px){\n    .hf-collection-hero{\n      margin-left:-20px;\n      margin-right:-20px;\n      padding:26px 12px 20px;\n    }\n\n    .hf-collection-hero__inner{\n      max-width:none;\n      width:100%;\n    }\n\n    .hf-collection-hero__kicker--main{\n      margin:0 0 10px;\n      font-size:clamp(2.2rem, 11.5vw, 3.2rem);\n      line-height:.86;\n      letter-spacing:-.08em;\n      text-wrap:balance;\n      white-space:normal;\n    }\n\n    .hf-collection-hero__text{\n      max-width:none;\n      font-size:.92rem;\n      line-height:1.45;\n    }\n\n    .hf-collection-hero__pillrow{\n      gap:7px;\n      margin-top:14px;\n    }\n\n    .hf-collection-hero__pillrow span{\n      min-height:30px;\n      padding:0 9px;\n      font-size:.62rem;\n      letter-spacing:.06em;\n    }\n  }\n\n  @media (max-width:420px){\n    .hf-collection-hero{\n      margin-left:-16px;\n      margin-right:-16px;\n      padding:24px 10px 18px;\n    }\n\n    .hf-collection-hero__kicker--main{\n      font-size:clamp(2rem, 12vw, 2.6rem);\n    }\n  }\n\u003c\/style\u003e","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":"coastal-connection","title":"Coastal Connection","description":"\u003csection class=\"hf-coastal-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-coastal-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-coastal{\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-coastal: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-coastal__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-coastal__hero-main,\n    .hf-coastal__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-coastal__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-coastal__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-coastal__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-coastal__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-coastal__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-coastal__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-coastal__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-coastal__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-coastal__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-coastal__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-coastal__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-coastal__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-coastal__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-coastal__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-coastal__card--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-coastal__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-coastal__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-coastal__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-coastal__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-coastal__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-coastal__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-coastal__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-coastal__faq h3,\n    .hf-coastal__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-coastal__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-coastal__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-coastal__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-coastal__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-coastal__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-coastal__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-coastal__faq-answer{\n      padding:0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-coastal__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-coastal__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-coastal__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-coastal__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-coastal__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-coastal__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-coastal__spec-meta{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-coastal__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-coastal__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-coastal__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-coastal-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-coastal-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-coastal-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-coastal-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-coastal-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-coastal-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-coastal-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-coastal-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-coastal-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-coastal{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-coastal__hero,\n      .hf-coastal__grid,\n      .hf-coastal__feature-list,\n      .hf-coastal__spec-grid,\n      .hf-coastal__spec-meta{\n        grid-template-columns:1fr;\n      }\n\n      .hf-coastal__title{\n        font-size:clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-coastal__hero-main,\n      .hf-coastal__hero-side,\n      .hf-coastal__card,\n      .hf-coastal__faq,\n      .hf-coastal__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-coastal-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-coastal-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-coastal-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-coastal-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-coastal-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-coastal\"\u003e\n    \u003cheader class=\"hf-coastal__hero\"\u003e\n      \u003cdiv class=\"hf-coastal__hero-main\"\u003e\n        \u003cp class=\"hf-coastal__kicker\"\u003eCOASTAL CONNECTION\u003c\/p\u003e\n        \u003ch2 class=\"hf-coastal__title\"\u003e\n          WHERE EVERYTHING MEETS\n          \u003cspan\u003eQuick-dry. Packable. Built for water or land.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-coastal__lead\"\u003e\n          Coastal Connection feels like a good trip along the edge of everything — clouds spinning overhead, the sun dropping low, endless blue pushing in, and trees holding the shoreline together by sheer nerve.\n          \u003cbr\u003e\u003cbr\u003e\n          It’s that rare sweet spot where all the best parts of nature stop behaving like separate things and start crashing together in exactly the right way. Ocean, wind, light, land, movement. All of it connected. All of it alive.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-coastal__hero-side\"\u003e\n        \u003cp class=\"hf-coastal__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-coastal__side-quote\"\u003eYour go-anywhere, do-anything towel. At home near the water. At home off the trail. At home in the overlap.\u003c\/p\u003e\n        \u003cul class=\"hf-coastal__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-coastal__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eMade for beach days, coast drives, trail pull-offs, campground mornings, and the kinds of days that refuse to stay in one lane.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-coastal__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eLight enough to carry anywhere, useful enough to stop being an afterthought.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-coastal__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eBuilt for water or land because the best days usually involve both.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-coastal__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-coastal__grid\"\u003e\n      \u003cdiv class=\"hf-coastal__card hf-coastal__card--full\"\u003e\n        \u003cspan class=\"hf-coastal__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eNot just a beach towel. Not just an outdoor towel. Better than both.\u003c\/h3\u003e\n        \u003cp\u003e\n          Coastal Connection is built for the whole day, not just one setting in it. Water, bluff, dirt, driftwood, road shoulder, beach blanket, backseat, trailhead, late-afternoon wind. It moves the way a good day moves — from one thing into the next without asking permission.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-coastal__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry, ultra-absorbent microfiber\u003c\/strong\u003e\n            Pulls in water fast and dries quickly so it’s ready again before the day is over.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free, shake-clean weave\u003c\/strong\u003e\n            Sand, dust, and trail grit let go easily instead of embedding themselves in every inch of your life.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact, lightweight, and easy to stash\u003c\/strong\u003e\n            Packs down small for beach bags, backpacks, duffels, trunks, and overfilled weekend gear piles.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial and odor-resistant\u003c\/strong\u003e\n            Helps keep funk in check through repeat use, long days, and less-than-perfect habits.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEco-friendly microfiber build\u003c\/strong\u003e\n            Made from a recycled microfiber blend that works hard and holds up.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDesigned for the crossover\u003c\/strong\u003e\n            This one is made for people who stop at the beach on the way to somewhere else — or stop somewhere else on the way to the beach.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-coastal__card\"\u003e\n        \u003cspan class=\"hf-coastal__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eLike a coast day that kept getting better.\u003c\/h3\u003e\n        \u003cp\u003e\n          Light, soft, and easy to live with.\n          \u003cbr\u003e\u003cbr\u003e\n          No stiff hotel-towel energy. No soggy cotton drag. Just smooth microfiber that feels good after saltwater, lake water, shower water, or the kind of sweat you earn honestly.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-coastal__card\"\u003e\n        \u003cspan class=\"hf-coastal__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eCoastal Connection.\u003c\/h3\u003e\n        \u003cp\u003e\n          Some places feel like crossroads for all the best things in nature. Clouds building overhead. The sun flattening itself into the horizon. Trees leaning toward the water. Waves working the same stretch of land they’ve always worked.\n          \u003cbr\u003e\u003cbr\u003e\n          This design is about that collision — not chaos, exactly, but that wild perfect meeting point where everything belongs because nothing is trying too hard to.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-coastal__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is Coastal Connection best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-coastal__faq-answer\"\u003e\n          Beach days, coast drives, trail stops, lake hangs, campground mornings, road trips, pool sessions, everyday showers, and all the weird little crossover moments that make a good day feel bigger.\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-coastal__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which makes it ideal for repeat use, travel, and all-day moving around.\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-coastal__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand and grit shake off easily instead of hanging on and following you into the car, tent, or house.\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-coastal__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic spun into soft polyester yarn and woven into microfiber, so it’s reusable, washable, and built to last.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWater towel or land towel?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-coastal__faq-answer\"\u003e\n          Both. That’s the whole point. Coastal Connection was built to feel equally right near the water, off the trail, or anywhere in the overlap between them.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-coastal__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-coastal__spec-grid\"\u003e\n        \u003cdiv class=\"hf-coastal__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-coastal__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-coastal__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-coastal__spec-meta\"\u003e\n        \u003cdiv class=\"hf-coastal__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-coastal__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-coastal__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, coast, trail, lake, road trips, camping, pool, travel, 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-coastal-float\" id=\"hfCoastalFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-coastal-float__inner\"\u003e\n      \u003cdiv class=\"hf-coastal-float__copy\"\u003e\n        \u003cspan class=\"hf-coastal-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-coastal-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-coastal-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-coastal-float__btn\" id=\"hfCoastalScrollTopBtn\" 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('hfCoastalFloatBar');\n      var btn = document.getElementById('hfCoastalScrollTopBtn');\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":48469109375297,"sku":null,"price":36.0,"currency_code":"USD","in_stock":false},{"title":"MEDIUM","offer_id":48469109506369,"sku":null,"price":32.0,"currency_code":"USD","in_stock":false},{"title":"SMALL","offer_id":48469109637441,"sku":null,"price":28.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Abel-HappyFaced-CoastalConnectionfrontcomingsoon.png?v=1723064617"},{"product_id":"free-to-be-me","title":"Free To Be Me","description":"\u003csection class=\"hf-freetobe-wrap\"\u003e\n  \u003cstyle\u003e\n    .hf-freetobe-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-freetobe{\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-freetobe: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-freetobe__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-freetobe__hero-main,\n    .hf-freetobe__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-freetobe__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-freetobe__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-freetobe__title span{\n      display:block;\n      color:#fff;\n    }\n\n    .hf-freetobe__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-freetobe__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-freetobe__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-freetobe__mini-list{\n      display:grid;\n      gap:10px;\n      margin:0;\n      padding:0;\n      list-style:none;\n    }\n\n    .hf-freetobe__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-freetobe__mini-list li:first-child{\n      border-top:0;\n      padding-top:0;\n    }\n\n    .hf-freetobe__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-freetobe__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-freetobe__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-freetobe__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-freetobe__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-freetobe__card--full{\n      grid-column:1 \/ -1;\n    }\n\n    .hf-freetobe__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-freetobe__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-freetobe__card p{\n      margin:0;\n      color:#efefef;\n      font-size:1rem;\n      line-height:1.7;\n    }\n\n    .hf-freetobe__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-freetobe__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-freetobe__feature-list strong{\n      color:var(--hf-yellow);\n      display:block;\n      margin-bottom:4px;\n      font-size:0.98rem;\n    }\n\n    .hf-freetobe__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-freetobe__faq h3,\n    .hf-freetobe__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-freetobe__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-freetobe__faq details:last-child{\n      margin-bottom:0;\n    }\n\n    .hf-freetobe__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-freetobe__faq summary::-webkit-details-marker{\n      display:none;\n    }\n\n    .hf-freetobe__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-freetobe__faq details[open] summary:after{\n      content:\"–\";\n    }\n\n    .hf-freetobe__faq-answer{\n      padding:0 18px 18px;\n      color:#e8e8e8;\n      line-height:1.65;\n      font-size:0.97rem;\n    }\n\n    .hf-freetobe__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-freetobe__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-freetobe__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-freetobe__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-freetobe__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-freetobe__spec-box span{\n      color:#f1f1f1;\n      font-size:0.95rem;\n      line-height:1.45;\n    }\n\n    .hf-freetobe__spec-meta{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n\n    .hf-freetobe__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-freetobe__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-freetobe__meta p{\n      margin:0;\n      color:#efefef;\n      line-height:1.6;\n      font-size:0.96rem;\n    }\n\n    .hf-freetobe-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-freetobe-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-freetobe-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-freetobe-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-freetobe-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-freetobe-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-freetobe-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-freetobe-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-freetobe-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\n    }\n\n    @media (max-width: 820px){\n      .hf-freetobe{\n        padding:18px;\n        border-radius:24px;\n      }\n\n      .hf-freetobe__hero,\n      .hf-freetobe__grid,\n      .hf-freetobe__feature-list,\n      .hf-freetobe__spec-grid,\n      .hf-freetobe__spec-meta{\n        grid-template-columns:1fr;\n      }\n\n      .hf-freetobe__title{\n        font-size:clamp(1.7rem, 8vw, 2.5rem);\n      }\n\n      .hf-freetobe__hero-main,\n      .hf-freetobe__hero-side,\n      .hf-freetobe__card,\n      .hf-freetobe__faq,\n      .hf-freetobe__specs{\n        padding:18px;\n      }\n    }\n\n    @media (max-width: 640px){\n      .hf-freetobe-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-freetobe-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-freetobe-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-freetobe-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-freetobe-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-freetobe\"\u003e\n    \u003cheader class=\"hf-freetobe__hero\"\u003e\n      \u003cdiv class=\"hf-freetobe__hero-main\"\u003e\n        \u003cp class=\"hf-freetobe__kicker\"\u003eFREE TO BE ME\u003c\/p\u003e\n        \u003ch2 class=\"hf-freetobe__title\"\u003e\n          OPEN HEART. NO APOLOGY.\n          \u003cspan\u003eQuick-dry. Packable. Water or land.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-freetobe__lead\"\u003e\n          Free to Be Me feels like that rare moment when things stop fighting each other inside you and finally start moving in the same direction.\n          \u003cbr\u003e\u003cbr\u003e\n          Lighter. Softer. More honest. Like opening your chest to the air and finding out it doesn’t destroy you — it just makes room. This one carries that kind of energy: vulnerable without being fragile, bright without being fake, and fully at peace with taking up exactly the space it takes up.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003caside class=\"hf-freetobe__hero-side\"\u003e\n        \u003cp class=\"hf-freetobe__side-label\"\u003eWhy it earns the spot\u003c\/p\u003e\n        \u003cp class=\"hf-freetobe__side-quote\"\u003eA go-anywhere, do-anything towel with a little more heart in it than most.\u003c\/p\u003e\n        \u003cul class=\"hf-freetobe__mini-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-freetobe__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eBuilt for beach days, trail stops, pool hangs, road trips, and the slower moments in between.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-freetobe__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eLight enough to toss in the bag without thinking twice, useful enough to come out every time.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"hf-freetobe__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eAt home in the sun, near the water, on the grass, or anywhere you finally let yourself breathe a little.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/aside\u003e\n    \u003c\/header\u003e\n\n    \u003csection class=\"hf-freetobe__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-freetobe__grid\"\u003e\n      \u003cdiv class=\"hf-freetobe__card hf-freetobe__card--full\"\u003e\n        \u003cspan class=\"hf-freetobe__section-tag\"\u003eWhat makes it different\u003c\/span\u003e\n        \u003ch3\u003eMore than just something to dry off with.\u003c\/h3\u003e\n        \u003cp\u003e\n          Free to Be Me carries a softer kind of strength. It’s still a real performance towel — fast-drying, easy to pack, ready for water or land — but the design brings something else with it. A little openness. A little relief. A little reminder that not everything good has to arrive armored.\n        \u003c\/p\u003e\n\n        \u003cul class=\"hf-freetobe__feature-list\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eQuick-dry, ultra-absorbent microfiber\u003c\/strong\u003e\n            Pulls in water fast and dries quickly so it keeps up with the day instead of dragging behind it.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand-free, shake-clean weave\u003c\/strong\u003e\n            Sand and grit let go easily instead of building a second home in your bag, car, or sheets.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eCompact and lightweight\u003c\/strong\u003e\n            Easy to stash in beach bags, backpacks, duffels, or whatever else your day is already spilling out of.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eAntimicrobial and odor-resistant\u003c\/strong\u003e\n            Helps keep funk in check through repeat use, hot days, and imperfect routines.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eWater or land versatility\u003c\/strong\u003e\n            Built to feel right by the shore, on the trail, at the pool, or anywhere else a better towel would come in handy.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eEmotion with utility\u003c\/strong\u003e\n            The design has lift to it. Not in a cheesy way — in a real way. It feels like somebody made it from the inside out.\n          \u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-freetobe__card\"\u003e\n        \u003cspan class=\"hf-freetobe__section-tag\"\u003eHow it feels\u003c\/span\u003e\n        \u003ch3\u003eLight, open, and easy to be around.\u003c\/h3\u003e\n        \u003cp\u003e\n          Soft microfiber that feels good on skin after saltwater, showers, lake water, or long hot days outside.\n          \u003cbr\u003e\u003cbr\u003e\n          No heavy drag. No damp slump. Just something clean, airy, and useful that doesn’t ask for much while still giving a lot back.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"hf-freetobe__card\"\u003e\n        \u003cspan class=\"hf-freetobe__section-tag\"\u003eDesign story\u003c\/span\u003e\n        \u003ch3\u003eFree to be me.\u003c\/h3\u003e\n        \u003cp\u003e\n          “When I open my heart and connect with my vision the world radiates an emotional kind of beauty.”\n          \u003cbr\u003e\u003cbr\u003e\n          That’s the core of this one. Angie described it like feeling like a blooming butterfly — heart wide open, delicate and light, but finally right. Not performative freedom. Not fake positivity. Just that rare honest feeling of finally letting yourself be exactly what you are.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-freetobe__faq\"\u003e\n      \u003ch3\u003eQuestions, Answered\u003c\/h3\u003e\n\n      \u003cdetails open\u003e\n        \u003csummary\u003eWhat is Free to Be Me best for?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-freetobe__faq-answer\"\u003e\n          Beach days, pool hangs, trail stops, road trips, lake days, campground mornings, and everyday moments that feel a little better when the gear you brought actually pulls its weight.\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-freetobe__faq-answer\"\u003e\n          Yes. The quick-dry microfiber dries significantly faster than standard cotton, which makes it ideal for repeat use, travel, and all-day movement.\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-freetobe__faq-answer\"\u003e\n          It’s designed as a sand-free style towel. Sand and grit shake off easily instead of hanging on and coming back home with you.\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-freetobe__faq-answer\"\u003e\n          Yes. 88% of the towel is made from recycled plastic spun into soft polyester yarn and woven into microfiber, so it’s reusable, washable, and built to last.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eWater towel or land towel?\u003c\/summary\u003e\n        \u003cdiv class=\"hf-freetobe__faq-answer\"\u003e\n          Both. Same as the other Tide and Trail style uses, this one is meant to feel right near the water, out on land, or anywhere in the middle.\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"hf-freetobe__specs\"\u003e\n      \u003ch3\u003eSpecs\u003c\/h3\u003e\n\n      \u003cdiv class=\"hf-freetobe__spec-grid\"\u003e\n        \u003cdiv class=\"hf-freetobe__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-freetobe__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-freetobe__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-freetobe__spec-meta\"\u003e\n        \u003cdiv class=\"hf-freetobe__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-freetobe__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-freetobe__meta\" style=\"grid-column:1 \/ -1;\"\u003e\n          \u003cstrong\u003eUse\u003c\/strong\u003e\n          \u003cp\u003eBeach, trail, lake, road trips, camping, pool, travel, 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-freetobe-float\" id=\"hfFreeToBeFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-freetobe-float__inner\"\u003e\n      \u003cdiv class=\"hf-freetobe-float__copy\"\u003e\n        \u003cspan class=\"hf-freetobe-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n        \u003cspan class=\"hf-freetobe-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n        \u003cspan class=\"hf-freetobe-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-freetobe-float__btn\" id=\"hfFreeToBeScrollTopBtn\" 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('hfFreeToBeFloatBar');\n      var btn = document.getElementById('hfFreeToBeScrollTopBtn');\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":48617491693889,"sku":null,"price":36.0,"currency_code":"USD","in_stock":false},{"title":"MEDIUM","offer_id":48617491726657,"sku":null,"price":32.0,"currency_code":"USD","in_stock":false},{"title":"SMALL","offer_id":48617491759425,"sku":null,"price":28.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/COMINGSOONLOGO.png?v=1723064606"},{"product_id":"to-dye-for","title":"To Dye For","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__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    .hf-creature-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-creature-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-creature-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-creature-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-creature-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-creature-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-creature-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-creature-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-creature-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\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\n    @media (max-width: 640px){\n      .hf-creature-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-creature-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-creature-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-creature-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-creature-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-creature\"\u003e\n    \u003cheader class=\"hf-creature__hero\"\u003e\n      \u003cdiv class=\"hf-creature__hero-main\"\u003e\n        \u003cp class=\"hf-creature__kicker\"\u003eTO DYE FOR TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-creature__title\"\u003e\n          TO DYE FOR\n          \u003cspan\u003eFloating through it like the world can wait.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-creature__lead\"\u003e\n          Sun out. Drink up. Bones loose.\n          \u003cbr\u003e\u003cbr\u003e\n          This one feels like the kind of day where time quits bothering you and everything gets a little lighter.\n          \u003cbr\u003e\u003cbr\u003e\n          Quick-dry, sand-resistant microfiber built for beach hangs, lake days, pool drifting, and staying out longer than you meant to.\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. Completely unbothered.\u003c\/p\u003e\n        \u003cul class=\"hf-creature__mini-list\"\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand instead of clinging to every last bad decision.\u003c\/span\u003e\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small so it doesn’t kill the vibe in your bag.\u003c\/span\u003e\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eLooks like summer got weird in the best possible way.\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\u003eART BY REAL HUMANS\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 floating, drifting, and doing absolutely nothing in style.\u003c\/h3\u003e\n        \u003cp\u003e\n          Regular towels act like the day has a schedule. Dry off. Pack up. Be responsible.\n          \u003cbr\u003e\u003cbr\u003e\n          This one does not.\n          \u003cbr\u003e\u003cbr\u003e\n          It’s made for long afternoons, cold drinks, questionable sunscreen habits, and that exact moment when you decide one more hour sounds pretty damn reasonable.\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 dragging around a damp towel while the sun is still putting in work.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eActually absorbs\u003c\/strong\u003e\n            Water, sweat, splashes, spills. It handles the mess without turning into one.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand doesn’t cling\u003c\/strong\u003e\n            Give it a shake and get back to floating through your poor decisions.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eDoesn’t get funky fast\u003c\/strong\u003e\n            Less smell. Less swamp. Less ruined vibe.\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, repeat dips, and repeat refusal to leave.\n          \u003c\/li\u003e\n        \u003c\/ul\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 remotely uptight.\u003c\/h3\u003e\n        \u003cp\u003e\n          No heavy cotton drag. No soggy lump ruining the rest of your stuff.\n          \u003cbr\u003e\u003cbr\u003e\n          Just a towel that dries fast, packs easy, and stays chill even when the day gets a little loose.\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\u003eHalf vacation. Half fever dream. Fully committed.\u003c\/h3\u003e\n        \u003cp\u003e\n          A skeleton kicked back in a floatie, drink in hand, sharks nearby, flowers drifting, sun grinning like none of this is remotely normal.\n          \u003cbr\u003e\u003cbr\u003e\n          Exactly.\n          \u003cbr\u003e\u003cbr\u003e\n          This design is pure laid-back chaos. Bright, surreal, and weirdly peaceful. Like the best days usually are.\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, pool hangs, lake trips, boat days, travel, and any situation where you plan to stay a little longer than you said you would.\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-resistant?\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, pool, lake, boat, travel, float days, 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  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-creature-float\" id=\"hfCreatureFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-creature-float__inner\"\u003e\n      \u003cdiv class=\"hf-creature-float__copy\"\u003e\n        \u003cspan class=\"hf-creature-float__eyebrow\"\u003eTo Dye For Towel\u003c\/span\u003e\n        \u003cspan class=\"hf-creature-float__title\"\u003eBright. Weird. Dry by the time you need it again.\u003c\/span\u003e\n        \u003cspan class=\"hf-creature-float__meta\"\u003eQuick-Dry · Sand-Resistant · Packable\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-creature-float__btn\" id=\"hfCreatureScrollTopBtn\" 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('hfCreatureFloatBar');\n      var btn = document.getElementById('hfCreatureScrollTopBtn');\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":48617975710017,"sku":null,"price":36.0,"currency_code":"USD","in_stock":false},{"title":"MEDIUM","offer_id":48617975742785,"sku":null,"price":32.0,"currency_code":"USD","in_stock":false},{"title":"SMALL","offer_id":48617975775553,"sku":null,"price":28.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/To_Dye_For_Towel_Front15cm.png?v=1776539651"},{"product_id":"not-my-second-rodeo","title":"Not My Second Rodeo","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__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    .hf-creature-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-creature-float.is-visible{\n      transform:translateX(-50%) translateY(0);\n      opacity:1;\n      pointer-events:auto;\n    }\n\n    .hf-creature-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-creature-float__copy{\n      min-width:0;\n      display:flex;\n      flex-direction:column;\n      gap:2px;\n    }\n\n    .hf-creature-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-creature-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-creature-float__meta{\n      color:#cfcfcf;\n      font-size:0.82rem;\n      line-height:1.2;\n    }\n\n    .hf-creature-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-creature-float__btn:hover{\n      opacity:0.9;\n      transform:translateY(-1px);\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\n    @media (max-width: 640px){\n      .hf-creature-float{\n        width:calc(100% - 16px);\n        bottom:12px;\n      }\n\n      .hf-creature-float__inner{\n        padding:10px;\n        gap:10px;\n      }\n\n      .hf-creature-float__title{\n        font-size:0.88rem;\n      }\n\n      .hf-creature-float__meta{\n        font-size:0.76rem;\n      }\n\n      .hf-creature-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-creature\"\u003e\n    \u003cheader class=\"hf-creature__hero\"\u003e\n      \u003cdiv class=\"hf-creature__hero-main\"\u003e\n        \u003cp class=\"hf-creature__kicker\"\u003eNOT MY SECOND RODEO TOWEL\u003c\/p\u003e\n        \u003ch2 class=\"hf-creature__title\"\u003e\n          NOT MY SECOND RODEO\n          \u003cspan\u003eSun’s dropping. Clothes are missing. Nobody seems concerned.\u003c\/span\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"hf-creature__lead\"\u003e\n          You don’t accidentally end up here.\n          \u003cbr\u003e\u003cbr\u003e\n          Warm air. Long light. A hat hanging where it probably shouldn’t be. Boots kicked off by the water like the rest of the plan got abandoned somewhere along the trail.\n          \u003cbr\u003e\u003cbr\u003e\n          Good.\n          \u003cbr\u003e\u003cbr\u003e\n          This towel’s built for the kind of day that starts normal and ends a little less dressed.\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. Keeps a few things between us.\u003c\/p\u003e\n        \u003cul class=\"hf-creature__mini-list\"\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eShakes off sand instead of dragging half the desert home with you.\u003c\/span\u003e\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\u003cspan\u003ePacks down small so there’s room for the rest of your bad decisions.\u003c\/span\u003e\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cspan class=\"hf-creature__dot\"\u003e\u003c\/span\u003e\u003cspan\u003eLooks good enough to leave out, even when the rest of the scene gets a little suspicious.\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\u003eART BY REAL HUMANS\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, heat, and plans going sideways in the fun way.\u003c\/h3\u003e\n        \u003cp\u003e\n          Regular towels assume structure. A chair. A hook. A tidy little day with clear intentions.\n          \u003cbr\u003e\u003cbr\u003e\n          This one assumes things might drift a bit.\n          \u003cbr\u003e\u003cbr\u003e\n          Swimming hole. Desert stop. Road trip detour. One minute it’s a normal afternoon. Next minute there’s a hat on a cactus and nobody’s asking questions.\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 hauling around a damp towel while pretending everything stayed wholesome.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eActually absorbs\u003c\/strong\u003e\n            Water, sweat, lake water, bad timing. It handles the job.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eSand doesn’t cling\u003c\/strong\u003e\n            Shake it once 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 evidence. Fewer questions.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003ePacks small\u003c\/strong\u003e\n            Fits in your bag without taking over the whole damn thing.\n          \u003c\/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eBuilt to last\u003c\/strong\u003e\n            Made for repeat use, not one dramatic outing and total collapse.\n          \u003c\/li\u003e\n        \u003c\/ul\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 dragging any baggage.\u003c\/h3\u003e\n        \u003cp\u003e\n          No heavy cotton. No swampy cling. No soggy mess flopped over the rest of your gear.\n          \u003cbr\u003e\u003cbr\u003e\n          Just a towel that dries fast, behaves itself, and knows when not to say too much.\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\u003eNot exactly subtle. Not exactly a confession either.\u003c\/h3\u003e\n        \u003cp\u003e\n          Desert heat. Big sky. Boots by the water. A cowboy hat hanging off a cactus like they left in a hurry or maybe never planned on putting them back on right away.\n          \u003cbr\u003e\u003cbr\u003e\n          That’s the whole charm of this one.\n          \u003cbr\u003e\u003cbr\u003e\n          It doesn’t spell anything out. It just lets the scene do the talking.\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, hot springs, swimming holes, road trips, and anywhere a normal towel would get weird, heavy, and useless too fast.\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 a hell of a lot 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, hot springs, roadside detours, and getting dry without hauling around a soggy mess or explaining the whole story.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/article\u003e\n\n  \u003cdiv class=\"hf-creature-float\" id=\"hfCreatureFloatBar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"hf-creature-float__inner\"\u003e\n      \u003cdiv class=\"hf-creature-float__copy\"\u003e\n        \u003cspan class=\"hf-creature-float__eyebrow\"\u003eNot My Second Rodeo Towel\u003c\/span\u003e\n        \u003cspan class=\"hf-creature-float__title\"\u003eQuick-Dry. Packable. A little too comfortable out here.\u003c\/span\u003e\n        \u003cspan class=\"hf-creature-float__meta\"\u003eQuick-Dry · Sand-Resistant · Packable\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"hf-creature-float__btn\" id=\"hfCreatureScrollTopBtn\" 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('hfCreatureFloatBar');\n      var btn = document.getElementById('hfCreatureScrollTopBtn');\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":48617985638721,"sku":null,"price":36.0,"currency_code":"USD","in_stock":false},{"title":"MEDIUM","offer_id":48617985671489,"sku":null,"price":32.0,"currency_code":"USD","in_stock":false},{"title":"SMALL","offer_id":48617985704257,"sku":null,"price":28.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/It_s_Not_My_First_Rodeo_front15cm.png?v=1776538431"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/collections\/Happy_Faced_Towels_shaka_on_the_rocks.png?v=1783279460","url":"https:\/\/happyfaced.com\/collections\/size-large.oembed","provider":"Happy Faced","version":"1.0","type":"link"}