{"title":"QuickSet","description":"","products":[{"product_id":"afterhours-quickset-sour-disco-protein-creatine-stick-packs","title":"Afterhours QuickSet – Sour Disco | Protein + Creatine Stick Packs","description":"\n\u003c!-- ═══════════════════════════════════════════════════════════════════\n     AFTERHOURS · QUICKSET — Product Description Block (v2 · Residency-matched)\n     Paste this into the product description in Shopify using the\n     HTML\/code view (the \"\u003c\u003e\" button in the rich text editor toolbar).\n     ═══════════════════════════════════════════════════════════════════ --\u003e\n\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue\u0026amp;family=DM+Sans:wght@300;400;500;600;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\n\u003cstyle\u003e\n.ah-product {\n  --ah-black:    #050505;\n  --ah-card:     #141414;\n  --ah-card2:    #1a1a1a;\n  --ah-line:     #1f1f1f;\n  --ah-line2:    #2a2a2a;\n  --ah-white:    #f0f0f0;\n  --ah-chrome:   #b8b8b8;\n  --ah-chrome-dk:#606060;\n  --ah-gray:     #999999;\n  --ah-lgray:    #555555;\n  --ah-lime:     #8FE63C;\n\n  box-sizing: border-box;\n  width: 100%;\n  max-width: 100%;\n  background: var(--ah-black);\n  color: var(--ah-white);\n  font-family: 'DM Sans', sans-serif;\n  font-weight: 300;\n  line-height: 1.55;\n  padding: 48px 36px 44px;\n  margin: 0;\n  border: 1px solid var(--ah-line);\n\n  \/* Container query context — layout responds to THIS block's width,\n     not the viewport. Lets the description reflow correctly when it\n     lives in a narrow column next to the product image. *\/\n  container-type: inline-size;\n  container-name: ahprod;\n}\n.ah-product *,\n.ah-product *::before,\n.ah-product *::after { box-sizing: border-box; }\n.ah-product *  { margin: 0; padding: 0; }\n\n\/* ─── Mobile full-bleed escape hatch ───\n   On mobile the description stacks below the product image and lives\n   inside Shopify's centered, white-padded container — leaving visible\n   white gutters on either side of our black box. Force it edge-to-edge\n   on small viewports only; desktop keeps the column layout intact. *\/\n@media (max-width: 749px) {\n  .ah-product {\n    width: 100vw !important;\n    max-width: 100vw !important;\n    margin-left: calc(50% - 50vw) !important;\n    margin-right: calc(50% - 50vw) !important;\n    border-left: none;\n    border-right: none;\n  }\n}\n\n\/* ─── Ticker bar ─── *\/\n.ah-product .ah-ticker {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-family: 'DM Sans', sans-serif;\n  font-size: 10px;\n  letter-spacing: 3px;\n  font-weight: 700;\n  color: var(--ah-chrome);\n  text-transform: uppercase;\n  padding-bottom: 22px;\n  border-bottom: 1px solid var(--ah-line);\n  margin-bottom: 38px;\n}\n.ah-product .ah-ticker .ah-l,\n.ah-product .ah-ticker .ah-r { display: flex; align-items: center; gap: 10px; }\n.ah-product .ah-ticker .ah-dot {\n  width: 7px; height: 7px; border-radius: 50%;\n  background: var(--ah-lime);\n  box-shadow: 0 0 0 3px rgba(143,230,60,.14);\n}\n\n\/* ─── Headline lockup ─── *\/\n.ah-product .ah-eyebrow {\n  display: inline-flex; align-items: center; gap: 10px;\n  font-size: 10px; letter-spacing: 3px; color: var(--ah-chrome);\n  font-weight: 700; text-transform: uppercase; margin-bottom: 18px;\n}\n.ah-product .ah-eyebrow::before {\n  content: ''; display: block; width: 22px; height: 1px;\n  background: var(--ah-chrome);\n}\n.ah-product .ah-kicker {\n  font-family: 'DM Sans', sans-serif;\n  font-weight: 300;\n  font-style: italic;\n  font-size: 16px;\n  line-height: 1.4;\n  color: var(--ah-chrome);\n  margin-bottom: 18px;\n  max-width: 460px;\n}\n.ah-product .ah-headline {\n  font-family: 'Bebas Neue', sans-serif;\n  font-weight: 400;\n  font-size: clamp(64px, 14cqi, 156px);\n  line-height: .85;\n  letter-spacing: 1px;\n  color: var(--ah-white);\n  text-transform: uppercase;\n  margin-bottom: 32px;\n}\n.ah-product .ah-c    { color: var(--ah-chrome); }\n.ah-product .ah-lime { color: var(--ah-lime); }\n\n\/* ─── Body prose ─── *\/\n.ah-product .ah-body {\n  max-width: 560px;\n  font-size: 14px;\n  color: var(--ah-gray);\n  line-height: 1.75;\n  font-weight: 300;\n}\n.ah-product .ah-body p { margin-bottom: 14px; }\n.ah-product .ah-body p:last-child { margin-bottom: 0; }\n.ah-product .ah-body strong { color: var(--ah-white); font-weight: 500; }\n\n\/* ─── BIG SPEC BLOCK — hero stat moment ─── *\/\n.ah-product .ah-specs {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 1px;\n  background: var(--ah-line2);\n  border: 1px solid var(--ah-line2);\n  margin: 44px 0 56px;\n}\n.ah-product .ah-spec {\n  background: var(--ah-card);\n  padding: 36px 22px 28px;\n  position: relative;\n  transition: background .3s;\n  text-align: center;\n  overflow: hidden;\n}\n.ah-product .ah-spec::before {\n  content: ''; position: absolute;\n  top: 0; left: 0; right: 0; height: 2px;\n  background: var(--ah-line2);\n  transition: background .3s;\n}\n.ah-product .ah-spec:hover { background: var(--ah-card2); }\n.ah-product .ah-spec:hover::before { background: var(--ah-lime); }\n.ah-product .ah-spec .ah-num {\n  font-family: 'Bebas Neue', sans-serif;\n  font-weight: 400;\n  font-size: clamp(56px, 10cqi, 108px);\n  line-height: .9;\n  letter-spacing: 1px;\n  color: var(--ah-lime);\n  display: block;\n}\n.ah-product .ah-spec .ah-num .ah-unit {\n  font-size: .42em;\n  color: var(--ah-chrome);\n  letter-spacing: 0;\n  margin-left: 2px;\n  vertical-align: 0.18em;\n}\n.ah-product .ah-spec .ah-line {\n  width: 22px; height: 1px;\n  background: var(--ah-line2);\n  margin: 14px auto 12px;\n  transition: width .3s, background .3s;\n}\n.ah-product .ah-spec:hover .ah-line { width: 38px; background: var(--ah-lime); }\n.ah-product .ah-spec .ah-lbl {\n  font-family: 'DM Sans', sans-serif;\n  font-size: 10px;\n  letter-spacing: 2.5px;\n  color: var(--ah-chrome);\n  text-transform: uppercase;\n  font-weight: 600;\n  display: block;\n}\n\n\/* ─── Section divider header ─── *\/\n.ah-product .ah-sec-label {\n  display: inline-flex; align-items: center; gap: 10px;\n  font-size: 9px; letter-spacing: 3px; color: var(--ah-chrome);\n  font-weight: 700; text-transform: uppercase; margin-bottom: 16px;\n}\n.ah-product .ah-sec-label::before {\n  content: ''; display: block; width: 18px; height: 1px;\n  background: var(--ah-chrome);\n}\n.ah-product .ah-why-head {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n  margin-bottom: 28px;\n  gap: 24px;\n}\n.ah-product .ah-why-head .ah-title {\n  font-family: 'Bebas Neue', sans-serif;\n  font-weight: 400;\n  font-size: clamp(32px, 5.5cqi, 56px);\n  letter-spacing: 1.5px;\n  line-height: .95;\n  text-transform: uppercase;\n  color: var(--ah-white);\n}\n.ah-product .ah-why-head .ah-meta {\n  font-family: 'DM Sans', sans-serif;\n  font-size: 10px;\n  letter-spacing: 3px;\n  font-weight: 700;\n  color: var(--ah-chrome-dk);\n  text-transform: uppercase;\n  white-space: nowrap;\n  padding-bottom: 6px;\n}\n\n\/* ─── Why QuickSet — flow-step grid ─── *\/\n.ah-product .ah-why {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 1px;\n  background: var(--ah-line2);\n  border: 1px solid var(--ah-line2);\n}\n.ah-product .ah-why .ah-card {\n  background: var(--ah-card);\n  padding: 30px 28px 32px;\n  position: relative;\n  transition: background .3s;\n}\n.ah-product .ah-why .ah-card::before {\n  content: ''; position: absolute;\n  top: 0; left: 0; right: 0; height: 2px;\n  background: var(--ah-line2);\n  transition: background .3s;\n}\n.ah-product .ah-why .ah-card:hover { background: var(--ah-card2); }\n.ah-product .ah-why .ah-card:hover::before { background: var(--ah-lime); }\n.ah-product .ah-why .ah-card .ah-idx {\n  font-family: 'Bebas Neue', sans-serif;\n  font-weight: 400;\n  font-size: 44px;\n  line-height: 1;\n  letter-spacing: 1px;\n  color: #3d3d3d;\n  margin-bottom: 14px;\n  transition: color .3s;\n}\n.ah-product .ah-why .ah-card:hover .ah-idx { color: var(--ah-lime); }\n.ah-product .ah-why .ah-card h4 {\n  font-family: 'Bebas Neue', sans-serif;\n  font-weight: 400;\n  font-size: 22px;\n  letter-spacing: 1.5px;\n  text-transform: uppercase;\n  color: var(--ah-white);\n  margin-bottom: 10px;\n  line-height: 1.05;\n}\n.ah-product .ah-why .ah-card p {\n  font-size: 13px;\n  line-height: 1.65;\n  color: var(--ah-gray);\n  font-weight: 300;\n}\n.ah-product .ah-why .ah-card p strong { color: var(--ah-white); font-weight: 500; }\n\n\/* ─── Closing lockup ─── *\/\n.ah-product .ah-close {\n  margin-top: 56px;\n  padding-top: 36px;\n  border-top: 1px solid var(--ah-line);\n  text-align: center;\n}\n.ah-product .ah-close .ah-small {\n  font-family: 'DM Sans', sans-serif;\n  font-size: 10px;\n  letter-spacing: 3px;\n  font-weight: 700;\n  color: var(--ah-chrome-dk);\n  text-transform: uppercase;\n  margin-bottom: 14px;\n}\n.ah-product .ah-close .ah-lock {\n  font-family: 'Bebas Neue', sans-serif;\n  font-weight: 400;\n  font-size: clamp(26px, 5.5cqi, 52px);\n  letter-spacing: 1.5px;\n  text-transform: uppercase;\n  line-height: 1.05;\n  color: var(--ah-white);\n}\n.ah-product .ah-close .ah-lock .ah-dim { color: var(--ah-chrome-dk); }\n\n\/* ─── Container-based responsive ─── *\/\n\/* Layout reflows based on the WIDTH OF THIS BLOCK, not the viewport.\n   Critical because this block lives in a narrow column beside the\n   product image, so viewport-based queries would never trigger. *\/\n\n\/* Medium column (typical product page right column) *\/\n@container ahprod (max-width: 720px) {\n  .ah-product .ah-specs { grid-template-columns: repeat(2, 1fr); }\n  .ah-product .ah-spec { padding: 28px 14px 22px; }\n  .ah-product .ah-why { grid-template-columns: 1fr; }\n  .ah-product .ah-why-head { flex-direction: column; align-items: flex-start; gap: 12px; }\n  .ah-product .ah-why-head .ah-meta { padding-bottom: 0; }\n}\n\n\/* Tight column or mobile *\/\n@container ahprod (max-width: 460px) {\n  .ah-product { padding: 36px 20px 40px; }\n  .ah-product .ah-ticker {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 8px;\n    font-size: 9px;\n    letter-spacing: 2px;\n  }\n  .ah-product .ah-kicker { font-size: 14px; }\n  .ah-product .ah-headline {\n    font-size: clamp(42px, 13cqi, 68px);\n    letter-spacing: 0.5px;\n  }\n  .ah-product .ah-body { font-size: 13px; }\n  .ah-product .ah-specs { margin: 32px 0 40px; }\n  .ah-product .ah-spec { padding: 24px 10px 20px; }\n  .ah-product .ah-why .ah-card { padding: 24px 22px 26px; }\n  .ah-product .ah-close { margin-top: 40px; padding-top: 28px; }\n}\n\n\/* Fallback for browsers without container query support\n   (older Safari\/Firefox) — viewport media queries kick in too *\/\n@media (max-width: 740px) {\n  .ah-product .ah-specs { grid-template-columns: repeat(2, 1fr); }\n  .ah-product .ah-why { grid-template-columns: 1fr; }\n  .ah-product .ah-why-head { flex-direction: column; align-items: flex-start; gap: 12px; }\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"ah-product\"\u003e\n\n  \u003cdiv class=\"ah-ticker\"\u003e\n    \u003cdiv class=\"ah-l\"\u003e\n\u003cspan class=\"ah-dot\"\u003e\u003c\/span\u003e AFTERHOURS · QUICKSET\u003c\/div\u003e\n    \u003cdiv class=\"ah-r\"\u003eSOUR DISCO · 20 × 33.2G\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ah-eyebrow\"\u003eThe Product\u003c\/div\u003e\n  \u003cp class=\"ah-kicker\"\u003eDaily fuel\u003cbr\u003efor people who don't slow down.\u003c\/p\u003e\n\n  \u003ch2 class=\"ah-headline\"\u003e\n    TWO PRODUCTS.\u003cbr\u003e\n    \u003cspan class=\"ah-lime\"\u003eONE STICK.\u003c\/span\u003e\u003cbr\u003e\n    \u003cspan class=\"ah-c\"\u003eMEET QUICKSET.\u003c\/span\u003e\n  \u003c\/h2\u003e\n\n  \u003cdiv class=\"ah-body\"\u003e\n    \u003cp\u003eA single-serve vegan protein + creatine blend for the schedule that doesn't quit — clean enough for the 6AM lift, complete enough to be the only thing you reach for after the 2AM set.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003e20g vegan protein. 5g creatine monohydrate.\u003c\/strong\u003e Built for muscle recovery, strength, and the kind of consistency that doesn't get easier when the nights get longer. No scoops. No bulky tubs. Just rip, mix, and go.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ah-specs\"\u003e\n    \u003cdiv class=\"ah-spec\"\u003e\n      \u003cspan class=\"ah-num\"\u003e20\u003cspan class=\"ah-unit\"\u003eG\u003c\/span\u003e\u003c\/span\u003e\n      \u003cdiv class=\"ah-line\"\u003e\u003c\/div\u003e\n      \u003cspan class=\"ah-lbl\"\u003eVegan Protein\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ah-spec\"\u003e\n      \u003cspan class=\"ah-num\"\u003e5\u003cspan class=\"ah-unit\"\u003eG\u003c\/span\u003e\u003c\/span\u003e\n      \u003cdiv class=\"ah-line\"\u003e\u003c\/div\u003e\n      \u003cspan class=\"ah-lbl\"\u003eCreatine\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ah-spec\"\u003e\n      \u003cspan class=\"ah-num\"\u003e20\u003c\/span\u003e\n      \u003cdiv class=\"ah-line\"\u003e\u003c\/div\u003e\n      \u003cspan class=\"ah-lbl\"\u003eSticks in a Bag\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ah-spec\"\u003e\n      \u003cspan class=\"ah-num\"\u003e0\u003c\/span\u003e\n      \u003cdiv class=\"ah-line\"\u003e\u003c\/div\u003e\n      \u003cspan class=\"ah-lbl\"\u003eScoops\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ah-sec-label\"\u003eWhy QuickSet\u003c\/div\u003e\n  \u003cdiv class=\"ah-why-head\"\u003e\n    \u003cdiv class=\"ah-title\"\u003eBUILT FOR THE PERSON\u003cbr\u003eWHO LIVES ON BOTH SIDES\u003cbr\u003eOF \u003cspan class=\"ah-lime\"\u003eTHE CLOCK.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"ah-meta\"\u003e005 · BUILT-IN\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ah-why\"\u003e\n    \u003cdiv class=\"ah-card\"\u003e\n      \u003cdiv class=\"ah-idx\"\u003e01\u003c\/div\u003e\n      \u003ch4\u003eVegan Protein + Creatine. One Stick.\u003c\/h4\u003e\n      \u003cp\u003eTwo products' worth of work in one pack — no stacking, no math, no half-used tubs on the counter.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ah-card\"\u003e\n      \u003cdiv class=\"ah-idx\"\u003e02\u003c\/div\u003e\n      \u003ch4\u003eRecovery \u0026amp; Strength, Daily.\u003c\/h4\u003e\n      \u003cp\u003e\u003cstrong\u003e20g vegan protein + 5g creatine\u003c\/strong\u003e for muscle growth, recovery, and day-over-day consistency.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ah-card\"\u003e\n      \u003cdiv class=\"ah-idx\"\u003e03\u003c\/div\u003e\n      \u003ch4\u003ePocketable. Always On You.\u003c\/h4\u003e\n      \u003cp\u003e33.2g stick packs that live in a gym bag, a backpack, a glove box — or a jacket at 2AM.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ah-card\"\u003e\n      \u003cdiv class=\"ah-idx\"\u003e04\u003c\/div\u003e\n      \u003ch4\u003eRip. Mix. Go.\u003c\/h4\u003e\n      \u003cp\u003eWater, oats, coffee, smoothie — works in all of them. No scoops, no mess, no decisions before you've had one.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ah-card\"\u003e\n      \u003cdiv class=\"ah-idx\"\u003e05\u003c\/div\u003e\n      \u003ch4\u003eVegan. Clean Label.\u003c\/h4\u003e\n      \u003cp\u003ePlant-based protein with a flavor system dialed for people who actually drink the product they buy.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ah-close\"\u003e\n    \u003cdiv class=\"ah-small\"\u003e— AFTERHOURS · THESIS —\u003c\/div\u003e\n    \u003cdiv class=\"ah-lock\"\u003eFUEL THE DAY. \u003cspan class=\"ah-dim\"\u003ePOWER THE NIGHT.\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n","brand":"Afterhours","offers":[{"title":"Default Title","offer_id":46581292433566,"sku":"AH-QS-SD-20","price":64.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0748\/3028\/2910\/files\/Untitled_2.png?v=1774807764"}],"url":"https:\/\/afterhoursfuel.com\/collections\/quickset.oembed","provider":"Afterhours Fuel ","version":"1.0","type":"link"}