{"product_id":"attack-skate-towel","title":"Attack Skate Towel","description":"\u003cdiv class=\"hf-rad-product\"\u003e\n  \u003c!-- INTRO STRIP --\u003e\n  \u003csection class=\"hf-rad-intro\"\u003e\n    \u003cdiv class=\"hf-rad-intro__bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eATTACK SKATE TOWEL\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-headline\"\u003eA TOWEL BUILT FOR SWEAT, SLAMS, AND LOSING YOUR MIND OVER ONE TRICK.\u003c\/h2\u003e\n    \u003cp class=\"hf-rad-lead\"\u003eThe Attack Skate Towel was made for real skate sessions, not some neat little fantasy version of them. It dries fast, wipes sweat off your hands and face, sticks to metal with a built-in magnet and pairs with the Magnetic Towel Holder when you want it attached to your setup. That keeps it close instead of ending up on the ground like every other towel that had the misfortune of showing up at the spot. The art just happens to look completely fried too.\u003c\/p\u003e\n    \u003cdiv class=\"hf-rad-pillrow\"\u003e\n      \u003cspan\u003eSUPER ABSORBENT\u003c\/span\u003e \u003cspan\u003eQUICK DRY\u003c\/span\u003e \u003cspan\u003eBUILT-IN MAGNET\u003c\/span\u003e \u003cspan\u003eMAGNET SYSTEM READY\u003c\/span\u003e \u003cspan\u003eLIMITED EDITION ART\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FEATURE BLOCKS --\u003e\n  \u003csection class=\"hf-rad-grid\"\u003e\n    \u003carticle class=\"hf-rad-card hf-rad-card--yellow\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eWHY IT HITS\u003c\/p\u003e\n      \u003ch3\u003eLooks unhinged. Works like hell.\u003c\/h3\u003e\n      \u003cp\u003eRegular towels fall on the ground, stay damp too long, and get stuffed in your bag like a soggy afterthought. The Attack fixes that with quick-dry fabric, a built-in magnet, and a setup made for actual skateboarding.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eSUPER ABSORBENT\u003c\/p\u003e\n      \u003ch3\u003eWipe off. Reset. Go again.\u003c\/h3\u003e\n      \u003cp\u003ePulls sweat off your face and hands fast so you can stop slipping around and get back to the trick that has been disrespecting you for the last forty-five minutes.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eQUICK DRY\u003c\/p\u003e\n      \u003ch3\u003eDries fast. Stays useful.\u003c\/h3\u003e\n      \u003cp\u003eMade from quick-dry performance microfiber so it does not turn into a damp little burden halfway through the session.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eBUILT-IN MAGNET\u003c\/p\u003e\n      \u003ch3\u003eStick it to metal. Keep it off the damn ground.\u003c\/h3\u003e\n      \u003cp\u003eThis is the part that changes everything. Stick it to rails, benches, fences, bleachers, or your car and keep your towel clean, close, and out of the parking lot filth.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eMAGNETIC TOWEL HOLDER READY\u003c\/p\u003e\n      \u003ch3\u003eSnap it into your setup.\u003c\/h3\u003e\n      \u003cp\u003eYour towel’s built-in magnet snaps directly into the holder, giving it a clean place to snap in, stay ready, and stay off the ground instead of getting tossed wherever it lands.\u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"hf-rad-card\"\u003e\n      \u003cp class=\"hf-rad-card__eyebrow\"\u003eARTIST DESIGNED\u003c\/p\u003e\n      \u003ch3\u003eReal artwork. No fake edge.\u003c\/h3\u003e\n      \u003cp\u003eNo corporate “streetwear” nonsense. No made-up rebellion. Just limited-edition artwork by real humans making something loud, weird, funny, and right.\u003c\/p\u003e\n    \u003c\/article\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- UPSELL --\u003e\n  \u003csection class=\"hf-rad-upsell\"\u003e\n    \u003cdiv class=\"hf-rad-upsell__left\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003ePAIR IT WITH OUR MAGNETIC TOWEL HOLDER\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eYour towel has a magnet. Now it has somewhere to go.\u003c\/h2\u003e\n      \u003cp\u003eThe Magnetic Towel Holder is a soft silicone-wrapped magnet with a carabiner, built specifically for our magnetic towels. Clip it to your bag, belt loop, chair, or gear, then let your towel snap into place so it stays close, stays cleaner, and stays off the ground. There when you need it. Out of the way when you don’t.\u003c\/p\u003e\n      \u003cul class=\"hf-rad-checks\"\u003e\n        \u003cli\u003eMade for Happy Faced magnetic towels\u003c\/li\u003e\n        \u003cli\u003eSoft silicone-wrapped magnet with carabiner\u003c\/li\u003e\n        \u003cli\u003eKeeps your towel up, clean, and ready\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hf-rad-upsell__right\"\u003e\n      \u003cdiv class=\"hf-rad-upsell__photo-wrap\" style=\"position:relative;\"\u003e\n        \n        \u003cimg class=\"hf-rad-upsell__photo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/Happy_Faced_Magnetic_Towel_Holder_with_measurements.jpg?v=1776465822\" alt=\"Happy Faced Magnetic Towel Holder\" width=\"900\" height=\"900\"\u003e\n\n        \u003c!-- Glow effect --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          inset:0;\n          border-radius:20px;\n          box-shadow:0 0 40px rgba(255,217,0,0.18), inset 0 0 20px rgba(255,217,0,0.08);\n          pointer-events:none;\n        \"\u003e\u003c\/div\u003e\n\n        \u003c!-- Badge --\u003e\n        \u003cdiv class=\"hf-rad-upsell__badge\" style=\"\n          background:#FFD900;\n          color:#000;\n          font-weight:900;\n          letter-spacing:.8px;\n          box-shadow:0 10px 25px rgba(255,217,0,0.25);\n        \"\u003e\n          MAGNETIC TOWEL READY\n        \u003c\/div\u003e\n\n        \u003c!-- Helper text --\u003e\n        \u003cdiv style=\"\n          position:absolute;\n          bottom:-28px;\n          left:50%;\n          transform:translateX(-50%);\n          font-size:12px;\n          color:#ccc;\n          text-align:center;\n          max-width:220px;\n          line-height:1.4;\n        \"\u003e\n          magnet snaps\u003cbr\u003edirectly to your towel\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- USE IT TWO WAYS --\u003e\n  \u003csection class=\"hf-rad-compare hf-rad-compare--equal\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eUSE IT TWO WAYS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eBuilt to work at the spot and with your setup.\u003c\/h2\u003e\n      \u003cp class=\"hf-rad-lead\" style=\"max-width:760px;\"\u003eThe built-in magnet gives the Attack two clean ways to work. Stick it directly to metal at the spot, or pair it with our Magnetic Towel Holder to keep it clipped to your gear and ready to grab. Same towel. Two smart ways to use it.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSTICK IT TO METAL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eAttach it to rails, benches, fences, bleachers, or your car\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel off filthy ground\u003c\/li\u003e\n          \u003cli\u003eFast and simple when you are skating\u003c\/li\u003e\n          \u003cli\u003ePerfect when there is metal nearby at the spot\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--equal\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eSNAP INTO HOLDER\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eClips to your bag, belt loop, chair, or gear\u003c\/li\u003e\n          \u003cli\u003eKeeps your towel close, clean, and ready to grab\u003c\/li\u003e\n          \u003cli\u003ePerfect when you want your towel attached to your setup\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"hf-rad-compare\"\u003e\n    \u003cdiv class=\"hf-rad-compare__intro\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eWHAT MAKES IT DIFFERENT\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eA normal towel would get wrecked here.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-compare__grid\"\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--muted\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eREGULAR TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eEnds up on the ground\u003c\/li\u003e\n          \u003cli\u003eStays damp too long\u003c\/li\u003e\n          \u003cli\u003eAnnoying to carry around\u003c\/li\u003e\n          \u003cli\u003eLooks like an afterthought\u003c\/li\u003e\n          \u003cli\u003eMade for nothing in particular\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-column hf-rad-column--good\"\u003e\n        \u003cdiv class=\"hf-rad-column__top\"\u003eATTACK SKATE TOWEL\u003c\/div\u003e\n        \u003cul\u003e\n          \u003cli\u003eSticks to metal with a built-in magnet\u003c\/li\u003e\n          \u003cli\u003eQuick-dry performance microfiber\u003c\/li\u003e\n          \u003cli\u003eSnaps into the Magnetic Towel Holder\u003c\/li\u003e\n          \u003cli\u003eArtist-designed limited-edition graphics\u003c\/li\u003e\n          \u003cli\u003eMade specifically for skateboarding\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ART STORY --\u003e\n  \u003csection class=\"hf-rad-story\"\u003e\n    \u003cdiv class=\"hf-rad-story__inner\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eTHE ART\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline\"\u003eMutant skull artwork with zero interest in behaving.\u003c\/h2\u003e\n      \u003cp\u003eThe Attack goes full fried-brain mode: neon spirals, glowing eyes, exposed brain, and a skateboard buried in the mess like that somehow helped. It is loud, weird, and exactly the kind of bad idea that makes perfect sense at the spot.\u003c\/p\u003e\n      \u003cp\u003eIt is limited-edition artwork made by real people, and once Attack is gone, it is gone.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003csection class=\"hf-rad-specs\"\u003e\n    \u003cdiv class=\"hf-rad-specs__header\"\u003e\n      \u003cp class=\"hf-rad-kicker\"\u003eDETAILS\u003c\/p\u003e\n      \u003ch2 class=\"hf-rad-subheadline hf-rad-subheadline--compact\"\u003eFor the detail freaks and the skeptical bastards.\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"hf-rad-specs__grid\"\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMaterial\u003c\/span\u003e \u003cstrong\u003ePerformance microfiber\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eDry Time\u003c\/span\u003e \u003cstrong\u003eQuick dry\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eMagnet\u003c\/span\u003e \u003cstrong\u003eEmbedded\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eCarry\u003c\/span\u003e \u003cstrong\u003eMagnet system compatible\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eArtwork\u003c\/span\u003e \u003cstrong\u003eLimited edition\u003c\/strong\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hf-rad-spec\"\u003e\n        \u003cspan\u003eUse\u003c\/span\u003e \u003cstrong\u003eSkate sessions, street spots, parks\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"hf-rad-faq-wrap\"\u003e\n    \u003cp class=\"hf-rad-kicker\"\u003eFAQ\u003c\/p\u003e\n    \u003ch2 class=\"hf-rad-subheadline\"\u003eStuff people ask before they pull the trigger.\u003c\/h2\u003e\n    \u003cdiv class=\"hf-rad-faq\"\u003e\n      \u003cdetails open=\"\"\u003e\n        \u003csummary\u003eWhat makes the Attack Skate Towel different from a regular towel?\u003c\/summary\u003e\n        \u003cdiv\u003eThe Attack was built specifically for skateboarding, with quick-dry performance microfiber, an embedded magnet, and compatibility with the Magnetic Towel Holder system.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Attack Skate Towel have a built-in magnet?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. The built-in magnet lets you stick it to metal surfaces like rails, benches, fences, bleachers, and cars so it stays off the ground and within reach.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDoes the Attack Skate Towel come with the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eNo. The towel and the Magnetic Towel Holder are sold separately, so you can build your setup however you want.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eCan I use the towel without the Magnetic Towel Holder?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. You can use the built-in magnet on metal surfaces at the spot, or pair it with the Magnetic Towel Holder if you want a dedicated place for it on your gear.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the Attack Skate Towel made for actual skate sessions?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. That is the whole point. It was made for sweat, dirt, repeated tries, street spots, skateparks, and everything else that comes with skating.\u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eIs the Attack Skate Towel limited edition?\u003c\/summary\u003e\n        \u003cdiv\u003eYes. Each design is released in limited runs, and once this one is gone, it is gone.\u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"hf-ultimate-float\" id=\"hfUltimateFloatBar\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hf-ultimate-float__inner\"\u003e\n    \u003cdiv class=\"hf-ultimate-float__copy\"\u003e\n      \u003cspan class=\"hf-ultimate-float__eyebrow\"\u003eReady?\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__title\"\u003eYou’ve seen enough.\u003c\/span\u003e\n      \u003cspan class=\"hf-ultimate-float__meta\"\u003eGo grab it.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"hf-ultimate-float__btn\" id=\"hfScrollTopBtn\" type=\"button\"\u003e\n      Take Me to the Top ↑\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function() {\n    var floatBar = document.getElementById('hfUltimateFloatBar');\n    var btn = document.getElementById('hfScrollTopBtn');\n    if (!floatBar || !btn) return;\n\n    var showAfter = 500;\n\n    function toggleFloatBar() {\n      if (window.scrollY \u003e showAfter) {\n        floatBar.classList.add('is-visible');\n        floatBar.setAttribute('aria-hidden', 'false');\n      } else {\n        floatBar.classList.remove('is-visible');\n        floatBar.setAttribute('aria-hidden', 'true');\n      }\n    }\n\n    btn.addEventListener('click', function() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    });\n\n    window.addEventListener('scroll', toggleFloatBar, { passive: true });\n    window.addEventListener('load', toggleFloatBar);\n    toggleFloatBar();\n  })();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  .hf-rad-product{\n    color:#fff;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n  }\n\n  .hf-rad-product *{\n    box-sizing:border-box;\n  }\n\n  .hf-rad-product a{\n    text-decoration:none;\n  }\n\n  .hf-rad-kicker{\n    margin:0 0 14px;\n    color:#FFD900;\n    font-size:12px;\n    line-height:1.1;\n    letter-spacing:.18em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-headline{\n    margin:0 0 18px;\n    font-size:clamp(2rem, 5vw, 4rem);\n    line-height:.95;\n    letter-spacing:-.05em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline{\n    margin:0 0 18px;\n    font-size:clamp(1.5rem, 4vw, 2.7rem);\n    line-height:1;\n    letter-spacing:-.04em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-subheadline--compact{\n    font-size:clamp(1.2rem, 3vw, 2rem);\n    line-height:1.05;\n    letter-spacing:-.03em;\n    max-width:520px;\n  }\n\n  .hf-rad-lead,\n  .hf-rad-story p,\n  .hf-rad-upsell p{\n    margin:0 0 14px;\n    color:#d7d7d7;\n    font-size:1.05rem;\n    line-height:1.7;\n    max-width:840px;\n  }\n\n  .hf-rad-intro,\n  .hf-rad-grid,\n  .hf-rad-upsell,\n  .hf-rad-compare,\n  .hf-rad-story,\n  .hf-rad-specs,\n  .hf-rad-faq-wrap{\n    margin:0 0 26px;\n  }\n\n  .hf-rad-intro{\n    position:relative;\n    padding:28px 0 8px;\n  }\n\n  .hf-rad-intro__bar{\n    width:88px;\n    height:4px;\n    border-radius:999px;\n    background:#FFD900;\n    margin:0 0 22px;\n  }\n\n  .hf-rad-pillrow{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin-top:24px;\n  }\n\n  .hf-rad-pillrow span{\n    padding:10px 12px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.14);\n    background:rgba(255,255,255,.04);\n    color:#fff;\n    font-size:.76rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:16px;\n  }\n\n  .hf-rad-card{\n    padding:22px;\n    border-radius:22px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    box-shadow:0 14px 30px rgba(0,0,0,.14);\n  }\n\n  .hf-rad-card--yellow{\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.14), transparent 40%),\n      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));\n    border-color:rgba(255,217,0,.22);\n  }\n\n  .hf-rad-card__eyebrow{\n    margin:0 0 10px;\n    color:#FFD900;\n    font-size:.72rem;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card h3{\n    margin:0 0 10px;\n    font-size:1.2rem;\n    line-height:1.05;\n    letter-spacing:-.03em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-card p{\n    margin:0;\n    color:#d6d6d6;\n    line-height:1.7;\n  }\n\n  .hf-rad-upsell{\n    display:grid;\n    grid-template-columns:1.1fr .9fr;\n    gap:20px;\n    align-items:center;\n    padding:28px;\n    border-radius:28px;\n    border:1px solid rgba(255,217,0,.24);\n    background:\n      radial-gradient(circle at top left, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-checks{\n    list-style:none;\n    margin:18px 0 0;\n    padding:0;\n    display:grid;\n    gap:10px;\n  }\n\n  .hf-rad-checks li{\n    position:relative;\n    padding-left:26px;\n    color:#e2e2e2;\n    line-height:1.5;\n  }\n\n  .hf-rad-checks li::before{\n    content:\"✓\";\n    position:absolute;\n    left:0;\n    top:0;\n    color:#FFD900;\n    font-weight:900;\n  }\n\n  .hf-rad-upsell__right{\n    display:flex;\n    flex-direction:column;\n    gap:12px;\n    align-items:flex-end;\n  }\n\n  .hf-rad-upsell__photo-wrap{\n    position:relative;\n    width:100%;\n    max-width:320px;\n    padding:18px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.10);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.12), transparent 36%),\n      rgba(255,255,255,.03);\n    box-shadow:0 18px 34px rgba(0,0,0,.16);\n  }\n\n  .hf-rad-upsell__photo{\n    display:block;\n    width:100%;\n    height:auto;\n    border-radius:16px;\n    object-fit:contain;\n    filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));\n  }\n\n  .hf-rad-upsell__badge{\n    position:absolute;\n    right:14px;\n    bottom:14px;\n    padding:8px 10px;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    font-size:.7rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-compare{\n    padding:26px;\n    border-radius:28px;\n    border:1px solid rgba(255,255,255,.08);\n    background:\n      radial-gradient(circle at top center, rgba(255,217,0,.08), transparent 34%),\n      rgba(255,255,255,.03);\n  }\n\n  .hf-rad-compare__intro{\n    margin-bottom:20px;\n  }\n\n  .hf-rad-compare__grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:16px;\n    align-items:start;\n  }\n\n  .hf-rad-column{\n    border-radius:22px;\n    overflow:hidden;\n    border:1px solid rgba(255,255,255,.10);\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-column__top{\n    padding:15px 18px;\n    font-size:.78rem;\n    line-height:1;\n    font-weight:900;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-column--muted .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#ababab;\n  }\n\n  .hf-rad-column--good{\n    border-color:rgba(255,217,0,.28);\n    box-shadow:0 18px 34px rgba(255,217,0,.06);\n  }\n\n  .hf-rad-column--good .hf-rad-column__top{\n    background:#FFD900;\n    color:#000;\n  }\n\n  .hf-rad-column ul{\n    list-style:none;\n    margin:0;\n    padding:0;\n  }\n\n  .hf-rad-column li{\n    position:relative;\n    padding:18px 18px 18px 46px;\n    border-top:1px solid rgba(255,255,255,.08);\n    color:#e6e6e6;\n    line-height:1.55;\n  }\n\n  .hf-rad-column--muted li::before,\n  .hf-rad-column--good li::before,\n  .hf-rad-column--equal li::before{\n    position:absolute;\n    left:18px;\n    top:18px;\n    font-weight:900;\n  }\n\n  .hf-rad-column--muted li::before{\n    content:\"×\";\n    color:#7f7f7f;\n  }\n\n  .hf-rad-column--good li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column{\n    border-color:rgba(255,255,255,.10);\n    box-shadow:none;\n    background:rgba(255,255,255,.02);\n  }\n\n  .hf-rad-compare--equal .hf-rad-column__top{\n    background:rgba(255,255,255,.06);\n    color:#fff;\n  }\n\n  .hf-rad-compare--equal .hf-rad-column li::before{\n    content:\"✓\";\n    color:#FFD900;\n  }\n\n  .hf-rad-story{\n    padding:28px;\n    border-left:4px solid #FFD900;\n    background:rgba(255,255,255,.025);\n    border-radius:0 22px 22px 0;\n  }\n\n  .hf-rad-specs{\n    padding:22px;\n    border-radius:24px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.025);\n  }\n\n  .hf-rad-specs__header{\n    margin-bottom:16px;\n  }\n\n  .hf-rad-specs__grid{\n    display:grid;\n    grid-template-columns:repeat(3,minmax(0,1fr));\n    gap:10px;\n  }\n\n  .hf-rad-spec{\n    display:flex;\n    flex-direction:column;\n    justify-content:flex-start;\n    gap:6px;\n    padding:14px 14px 13px;\n    border-radius:14px;\n    border:1px solid rgba(255,255,255,.08);\n    background:rgba(255,255,255,.03);\n    min-width:0;\n  }\n\n  .hf-rad-spec span{\n    color:#9f9f9f;\n    font-size:.72rem;\n    line-height:1.1;\n    letter-spacing:.08em;\n    font-weight:900;\n    text-transform:uppercase;\n  }\n\n  .hf-rad-spec strong{\n    color:#fff;\n    text-align:left;\n    font-size:.96rem;\n    line-height:1.35;\n    word-break:break-word;\n  }\n\n  .hf-rad-faq{\n    display:grid;\n    gap:12px;\n  }\n\n  .hf-rad-faq details{\n    border:1px solid rgba(255,255,255,.10);\n    border-radius:18px;\n    background:rgba(255,255,255,.03);\n    overflow:hidden;\n  }\n\n  .hf-rad-faq summary{\n    list-style:none;\n    cursor:pointer;\n    padding:18px 20px;\n    font-weight:900;\n    line-height:1.4;\n    position:relative;\n    padding-right:52px;\n  }\n\n  .hf-rad-faq summary::-webkit-details-marker{\n    display:none;\n  }\n\n  .hf-rad-faq summary::after{\n    content:\"+\";\n    position:absolute;\n    right:18px;\n    top:50%;\n    transform:translateY(-50%);\n    color:#FFD900;\n    font-size:1.3rem;\n    font-weight:900;\n  }\n\n  .hf-rad-faq details[open] summary::after{\n    content:\"–\";\n  }\n\n  .hf-rad-faq details div{\n    padding:0 20px 20px;\n    color:#d7d7d7;\n    line-height:1.7;\n  }\n\n  .hf-rad-btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    font-size:.9rem;\n    font-weight:900;\n    letter-spacing:.05em;\n    text-transform:uppercase;\n    transition:all .2s ease;\n  }\n\n  .hf-rad-btn--primary{\n    background:#FFD900;\n    color:#000;\n    border:2px solid #FFD900;\n  }\n\n  .hf-rad-btn--primary:hover{\n    transform:translateY(-2px);\n    box-shadow:0 10px 30px rgba(255,217,0,.22);\n  }\n\n  .hf-rad-btn--ghost{\n    background:transparent;\n    color:#fff;\n    border:2px solid rgba(255,255,255,.16);\n  }\n\n  .hf-rad-btn--ghost:hover{\n    border-color:#FFD900;\n    color:#FFD900;\n  }\n\n  .hf-ultimate-float{\n    position:fixed;\n    left:50%;\n    bottom:18px;\n    transform:translateX(-50%) translateY(120%);\n    width:calc(100% - 24px);\n    max-width:760px;\n    z-index:9999;\n    opacity:0;\n    pointer-events:none;\n    transition:transform .28s ease, opacity .28s ease;\n  }\n\n  .hf-ultimate-float.is-visible{\n    transform:translateX(-50%) translateY(0);\n    opacity:1;\n    pointer-events:auto;\n  }\n\n  .hf-ultimate-float__inner{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    padding:12px;\n    border-radius:20px;\n    border:1px solid rgba(255,255,255,0.12);\n    background:rgba(10,10,10,0.92);\n    backdrop-filter:blur(12px);\n    box-shadow:0 18px 50px rgba(0,0,0,0.4);\n  }\n\n  .hf-ultimate-float__copy{\n    min-width:0;\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n\n  .hf-ultimate-float__eyebrow{\n    color:#FFD900;\n    font-size:0.72rem;\n    font-weight:800;\n    letter-spacing:0.12em;\n    text-transform:uppercase;\n  }\n\n  .hf-ultimate-float__title{\n    color:#fff;\n    font-size:0.95rem;\n    font-weight:800;\n    line-height:1.1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .hf-ultimate-float__meta{\n    color:#cfcfcf;\n    font-size:0.82rem;\n    line-height:1.2;\n  }\n\n  .hf-ultimate-float__btn{\n    flex:0 0 auto;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:0.5rem;\n    min-height:50px;\n    padding:0.95rem 1.2rem;\n    border-radius:999px;\n    background:#FFD900;\n    color:#000;\n    text-decoration:none;\n    font-weight:900;\n    font-size:0.84rem;\n    letter-spacing:0.08em;\n    text-transform:uppercase;\n    box-shadow:0 10px 20px rgba(0,0,0,0.25);\n    transition:transform .18s ease, opacity .18s ease;\n    border:none;\n    cursor:pointer;\n    font-family:inherit;\n  }\n\n  .hf-ultimate-float__btn:hover{\n    opacity:0.9;\n    transform:translateY(-1px);\n  }\n\n  @media (max-width: 1100px){\n    .hf-rad-grid{\n      grid-template-columns:repeat(2,1fr);\n    }\n\n    .hf-rad-upsell{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-upsell__right{\n      align-items:flex-start;\n      flex-direction:row;\n      flex-wrap:wrap;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 767px){\n    .hf-rad-grid,\n    .hf-rad-compare__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-rad-card,\n    .hf-rad-compare,\n    .hf-rad-story,\n    .hf-rad-upsell,\n    .hf-rad-specs{\n      padding:20px;\n      border-radius:20px;\n    }\n\n    .hf-rad-column{\n      border-radius:18px;\n    }\n\n    .hf-rad-column__top{\n      padding:13px 14px;\n      font-size:.72rem;\n      letter-spacing:.1em;\n    }\n\n    .hf-rad-column li{\n      padding:14px 14px 14px 38px;\n      font-size:.95rem;\n      line-height:1.45;\n    }\n\n    .hf-rad-column--muted li::before,\n    .hf-rad-column--good li::before,\n    .hf-rad-column--equal li::before{\n      left:14px;\n      top:14px;\n    }\n\n    .hf-rad-subheadline{\n      font-size:clamp(1.35rem, 7vw, 2rem);\n      line-height:1.02;\n    }\n\n    .hf-rad-subheadline--compact{\n      font-size:1.1rem;\n      line-height:1.08;\n      max-width:320px;\n      margin-bottom:14px;\n    }\n\n    .hf-rad-specs__grid{\n      grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:8px;\n    }\n\n    .hf-rad-spec{\n      padding:12px 12px 11px;\n      border-radius:12px;\n      gap:5px;\n    }\n\n    .hf-rad-spec span{\n      font-size:.66rem;\n      letter-spacing:.07em;\n    }\n\n    .hf-rad-spec strong{\n      font-size:.88rem;\n      line-height:1.25;\n    }\n\n    .hf-rad-upsell__right{\n      flex-direction:column;\n      width:100%;\n      align-items:stretch;\n    }\n\n    .hf-rad-upsell__photo-wrap{\n      max-width:none;\n    }\n\n    .hf-rad-btn{\n      width:100%;\n    }\n  }\n\n  @media (max-width: 640px){\n    .hf-ultimate-float{\n      width:calc(100% - 16px);\n      bottom:12px;\n    }\n\n    .hf-ultimate-float__inner{\n      padding:10px;\n      gap:10px;\n    }\n\n    .hf-ultimate-float__title{\n      font-size:0.88rem;\n    }\n\n    .hf-ultimate-float__meta{\n      font-size:0.76rem;\n    }\n\n    .hf-ultimate-float__btn{\n      min-height:46px;\n      padding:0.9rem 1rem;\n      font-size:0.78rem;\n    }\n  }\n\n  @media (max-width: 420px){\n    .hf-rad-specs__grid{\n      grid-template-columns:1fr;\n    }\n\n    .hf-ultimate-float__inner{\n      align-items:flex-start;\n      flex-direction:column;\n    }\n\n    .hf-ultimate-float__btn{\n      width:100%;\n    }\n  }\n\u003c\/style\u003e","brand":"Happy Faced","offers":[{"title":"Default Title","offer_id":51539861569857,"sku":"SKT-ATTCK","price":24.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/1741\/0881\/files\/1915E77A-239D-488B-8A2A-F99B09F56885.png?v=1778604295","url":"https:\/\/happyfaced.com\/products\/attack-skate-towel","provider":"Happy Faced","version":"1.0","type":"link"}