{"product_id":"soralique™-outdoor-coffee-ritual-kit","title":"Soralique™ Outdoor Coffee Ritual Kit","description":"\u003cstyle\u003e\n\/* ============================================================\n   SORALIQUE — OUTDOOR COFFEE RITUAL KIT\n   MORNING RITUAL \/ FIELD BREW SYSTEM\n\n   FIXED STORE LAYOUT\n   ------------------------------------------------------------\n   - 不修改 Product Gallery\n   - 不使用负 margin\n   - 默认 width:100%\n   - Desktop 从 Product Info 向右扩展\n   - Mobile \/ Tablet 恢复 100%\n   ============================================================ *\/\n\n.sq-ocr {\n  --forest-950:#0c3329;\n  --forest-900:#123e32;\n  --forest-700:#315d50;\n\n  --coffee-950:#33251d;\n  --coffee-800:#594233;\n  --coffee-600:#7d604a;\n\n  --steel:#aeb4b2;\n  --steel-soft:#d9ddda;\n\n  --oat:#eee3d3;\n  --cream:#faf6ef;\n  --latte:#d6b792;\n\n  --sun:#dc9b4a;\n  --sun-soft:#efbe7a;\n\n  --ink:#1b211f;\n  --muted:#747a76;\n  --line:rgba(12,51,41,.14);\n\n  width:100%;\n  max-width:100%;\n  min-width:0;\n\n  margin:34px 0 54px;\n  padding:0;\n\n  color:var(--ink);\n  font-family:inherit;\n\n  box-sizing:border-box;\n  isolation:isolate;\n}\n\n\n\/* ============================================================\n   SHOPIFY DESCRIPTION FIX\n   ============================================================ *\/\n\n.product__description:has(.sq-ocr),\n.product-description:has(.sq-ocr),\n.product__text:has(.sq-ocr),\n.product-info__description:has(.sq-ocr),\n.product-info__block:has(.sq-ocr),\n.rte:has(.sq-ocr) {\n  height:auto !important;\n  max-height:none !important;\n\n  overflow:visible !important;\n  overflow-x:visible !important;\n  overflow-y:visible !important;\n\n  min-width:0 !important;\n}\n\n\n\/* ============================================================\n   WIDTH SYSTEM\n   ============================================================ *\/\n\n@media screen and (min-width:1200px) {\n  .sq-ocr {\n    width:min(920px,46vw);\n    max-width:calc(100vw - 40px);\n    min-width:0;\n  }\n}\n\n@media screen and (min-width:990px) and (max-width:1199px) {\n  .sq-ocr {\n    width:min(800px,46vw);\n    max-width:calc(100vw - 32px);\n    min-width:0;\n  }\n}\n\n@media screen and (max-width:989px) {\n  .sq-ocr {\n    width:100%;\n    max-width:100%;\n    min-width:0;\n  }\n}\n\n\n.sq-ocr *,\n.sq-ocr *::before,\n.sq-ocr *::after {\n  box-sizing:border-box;\n}\n\n\n\/* ============================================================\n   01 — HERO \/ MORNING RITUAL\n   ============================================================ *\/\n\n.sq-ocr__hero {\n  position:relative;\n  overflow:hidden;\n\n  min-width:0;\n\n  padding:\n    clamp(30px,5vw,64px)\n    clamp(22px,5vw,62px)\n    clamp(30px,4vw,48px);\n\n  border:1px solid var(--line);\n\n  background:\n    linear-gradient(\n      145deg,\n      #fbf8f1 0%,\n      #f2eadf 58%,\n      #e8ddce 100%\n    );\n}\n\n\n\/* pour-over rings *\/\n.sq-ocr__hero::before {\n  content:\"\";\n\n  position:absolute;\n\n  width:360px;\n  height:360px;\n\n  right:-125px;\n  top:-150px;\n\n  border:\n    1px solid rgba(89,66,51,.12);\n\n  border-radius:50%;\n\n  box-shadow:\n    0 0 0 34px rgba(89,66,51,.035),\n    0 0 0 68px rgba(89,66,51,.022),\n    0 0 0 102px rgba(89,66,51,.014);\n\n  pointer-events:none;\n}\n\n\n\/* sunrise dot *\/\n.sq-ocr__hero::after {\n  content:\"\";\n\n  position:absolute;\n\n  right:58px;\n  top:48px;\n\n  width:12px;\n  height:12px;\n\n  border-radius:50%;\n\n  background:var(--sun);\n\n  box-shadow:\n    0 0 0 8px rgba(220,155,74,.10);\n\n  pointer-events:none;\n}\n\n\n.sq-ocr__topline {\n  position:relative;\n  z-index:1;\n\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n\n  gap:24px;\n\n  min-width:0;\n\n  margin-bottom:\n    clamp(42px,7vw,82px);\n}\n\n\n.sq-ocr__series {\n  display:flex;\n  align-items:center;\n\n  gap:10px;\n\n  color:var(--forest-900);\n\n  font-size:10px;\n  font-weight:800;\n\n  letter-spacing:.18em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__series::before {\n  content:\"\";\n\n  width:26px;\n  height:1px;\n\n  background:var(--sun);\n}\n\n\n.sq-ocr__mode {\n  color:\n    rgba(12,51,41,.52);\n\n  font-size:9px;\n  font-weight:800;\n\n  letter-spacing:.16em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__hero-grid {\n  position:relative;\n  z-index:1;\n\n  display:grid;\n\n  grid-template-columns:\n    minmax(0,1.48fr)\n    minmax(220px,.62fr);\n\n  align-items:end;\n\n  gap:\n    clamp(28px,5vw,66px);\n\n  min-width:0;\n}\n\n\n.sq-ocr__eyebrow {\n  margin:0 0 13px;\n\n  color:var(--sun);\n\n  font-size:10px;\n  font-weight:800;\n\n  letter-spacing:.2em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__title {\n  max-width:700px;\n\n  margin:0;\n\n  color:var(--forest-950);\n\n  font-size:\n    clamp(38px,6vw,76px);\n\n  font-weight:800;\n\n  line-height:.91;\n\n  letter-spacing:-.055em;\n}\n\n\n.sq-ocr__title span {\n  display:block;\n\n  color:var(--coffee-800);\n}\n\n\n.sq-ocr__intro {\n  max-width:560px;\n\n  margin:20px 0 0;\n\n  color:\n    rgba(27,33,31,.66);\n\n  font-size:13px;\n\n  line-height:1.72;\n}\n\n\n\/* ============================================================\n   BREW RITUAL MAP\n   ============================================================ *\/\n\n.sq-ocr__ritual {\n  display:grid;\n\n  width:min(100%,230px);\n\n  justify-self:end;\n\n  gap:6px;\n\n  min-width:0;\n}\n\n\n.sq-ocr__ritual-step {\n  display:grid;\n\n  grid-template-columns:\n    36px\n    minmax(0,1fr);\n\n  align-items:center;\n\n  min-width:0;\n\n  border:\n    1px solid rgba(12,51,41,.15);\n\n  background:\n    rgba(255,255,255,.50);\n}\n\n\n.sq-ocr__ritual-no {\n  display:grid;\n  place-items:center;\n\n  align-self:stretch;\n\n  min-height:48px;\n\n  background:var(--forest-950);\n\n  color:#fff;\n\n  font-size:9px;\n  font-weight:800;\n}\n\n\n.sq-ocr__ritual-step:nth-child(2)\n.sq-ocr__ritual-no {\n  background:var(--coffee-800);\n}\n\n\n.sq-ocr__ritual-step:nth-child(3)\n.sq-ocr__ritual-no {\n  background:var(--sun);\n}\n\n\n.sq-ocr__ritual-name {\n  padding:\n    11px 12px;\n\n  color:var(--forest-900);\n\n  font-size:10px;\n  font-weight:800;\n\n  letter-spacing:.09em;\n\n  text-transform:uppercase;\n}\n\n\n\/* ============================================================\n   02 — MARQUEE\n   ============================================================ *\/\n\n.sq-ocr__marquee {\n  overflow:hidden;\n\n  margin:12px 0;\n\n  background:var(--coffee-950);\n\n  color:#fff;\n}\n\n\n.sq-ocr__marquee-track {\n  display:flex;\n\n  width:max-content;\n\n  animation:\n    sqOcrRun 30s linear infinite;\n\n  will-change:transform;\n}\n\n\n.sq-ocr__marquee:hover\n.sq-ocr__marquee-track {\n  animation-play-state:paused;\n}\n\n\n.sq-ocr__marquee-group {\n  display:flex;\n  align-items:center;\n\n  flex-shrink:0;\n\n  white-space:nowrap;\n}\n\n\n.sq-ocr__marquee-item {\n  display:inline-flex;\n  align-items:center;\n\n  gap:15px;\n\n  padding:\n    14px 21px;\n\n  font-size:10px;\n  font-weight:750;\n\n  line-height:1;\n\n  letter-spacing:.15em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__marquee-dot {\n  width:7px;\n  height:7px;\n\n  flex:0 0 7px;\n\n  border-radius:50%;\n\n  background:var(--sun-soft);\n}\n\n\n@keyframes sqOcrRun {\n\n  from {\n    transform:translateX(0);\n  }\n\n  to {\n    transform:translateX(-50%);\n  }\n\n}\n\n\n\/* ============================================================\n   03 — CHAPTER\n   ============================================================ *\/\n\n.sq-ocr__chapter {\n  display:grid;\n\n  grid-template-columns:\n    72px\n    minmax(0,1fr)\n    auto;\n\n  gap:18px;\n\n  align-items:center;\n\n  min-width:0;\n\n  margin:12px 0;\n\n  padding:\n    18px 2px;\n\n  border-bottom:\n    1px solid var(--line);\n}\n\n\n.sq-ocr__chapter-no {\n  color:var(--sun);\n\n  font-size:10px;\n  font-weight:800;\n\n  letter-spacing:.16em;\n}\n\n\n.sq-ocr__chapter-main {\n  min-width:0;\n}\n\n\n.sq-ocr__chapter-title {\n  display:block;\n\n  color:var(--forest-950);\n\n  font-size:\n    clamp(18px,2vw,25px);\n\n  font-weight:800;\n\n  letter-spacing:-.025em;\n}\n\n\n.sq-ocr__chapter-desc {\n  display:block;\n\n  margin-top:4px;\n\n  color:var(--muted);\n\n  font-size:10px;\n\n  letter-spacing:.08em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__chapter-code {\n  color:\n    rgba(12,51,41,.42);\n\n  text-align:right;\n\n  font-size:9px;\n  font-weight:800;\n\n  line-height:1.5;\n\n  letter-spacing:.14em;\n\n  text-transform:uppercase;\n}\n\n\n\/* ============================================================\n   04 — IMAGE PLATE\n   ============================================================ *\/\n\n.sq-ocr__plate {\n  position:relative;\n\n  width:100%;\n  min-width:0;\n\n  margin:0 0 12px;\n\n  padding:8px;\n\n  border:\n    1px solid rgba(12,51,41,.11);\n\n  background:#f7f4ee;\n\n  transition:\n    transform .28s ease,\n    box-shadow .28s ease;\n}\n\n\n.sq-ocr__plate:hover {\n  transform:\n    translateY(-5px);\n\n  box-shadow:\n    0 27px 58px rgba(34,26,21,.11),\n    0 8px 18px rgba(34,26,21,.05);\n}\n\n\n.sq-ocr__plate::before {\n  content:\"\";\n\n  position:absolute;\n\n  left:-1px;\n  top:-1px;\n\n  width:72px;\n  height:3px;\n\n  background:var(--sun);\n}\n\n\n.sq-ocr__plate::after {\n  content:\"\";\n\n  position:absolute;\n\n  right:-1px;\n  bottom:-1px;\n\n  width:72px;\n  height:3px;\n\n  background:var(--forest-900);\n}\n\n\n.sq-ocr__plate img {\n  display:block;\n\n  width:100%;\n  max-width:100%;\n\n  height:auto;\n\n  margin:0;\n  padding:0;\n\n  object-fit:contain;\n  object-position:center;\n\n  border:0;\n\n  transform:none;\n}\n\n\n\/* ============================================================\n   05 — BREW FLOW\n   ============================================================ *\/\n\n.sq-ocr__flow {\n  display:grid;\n\n  grid-template-columns:\n    repeat(4,minmax(0,1fr));\n\n  min-width:0;\n\n  margin:0 0 12px;\n\n  border:\n    1px solid var(--line);\n\n  background:var(--cream);\n}\n\n\n.sq-ocr__flow-item {\n  min-width:0;\n\n  padding:\n    20px\n    16px\n    18px;\n\n  border-right:\n    1px solid var(--line);\n}\n\n\n.sq-ocr__flow-item:last-child {\n  border-right:0;\n}\n\n\n.sq-ocr__flow-no {\n  display:flex;\n  align-items:center;\n\n  gap:8px;\n\n  margin-bottom:15px;\n\n  color:var(--sun);\n\n  font-size:9px;\n  font-weight:800;\n\n  letter-spacing:.14em;\n}\n\n\n.sq-ocr__flow-no::after {\n  content:\"\";\n\n  height:1px;\n\n  flex:1;\n\n  background:\n    rgba(220,155,74,.28);\n}\n\n\n.sq-ocr__flow-item strong {\n  display:block;\n\n  color:var(--forest-950);\n\n  font-size:13px;\n  font-weight:800;\n}\n\n\n.sq-ocr__flow-item p {\n  margin:\n    7px 0 0;\n\n  color:var(--muted);\n\n  font-size:10px;\n\n  line-height:1.5;\n}\n\n\n\/* ============================================================\n   06 — POUR PANEL\n   ============================================================ *\/\n\n.sq-ocr__brew {\n  display:grid;\n\n  grid-template-columns:\n    minmax(0,1.34fr)\n    minmax(250px,.66fr);\n\n  min-width:0;\n\n  margin:0 0 12px;\n\n  background:var(--forest-950);\n\n  color:#fff;\n}\n\n\n.sq-ocr__brew-main {\n  min-width:0;\n\n  padding:\n    clamp(28px,4.5vw,52px);\n}\n\n\n.sq-ocr__brew-label {\n  margin-bottom:19px;\n\n  color:var(--sun-soft);\n\n  font-size:10px;\n  font-weight:800;\n\n  letter-spacing:.18em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__brew-title {\n  max-width:560px;\n\n  margin:0;\n\n  color:#fff;\n\n  font-size:\n    clamp(30px,4.8vw,56px);\n\n  font-weight:780;\n\n  line-height:.96;\n\n  letter-spacing:-.046em;\n}\n\n\n.sq-ocr__brew-title span {\n  color:#e9cfad;\n}\n\n\n.sq-ocr__brew-copy {\n  max-width:520px;\n\n  margin:18px 0 0;\n\n  color:\n    rgba(255,255,255,.60);\n\n  font-size:12px;\n\n  line-height:1.75;\n}\n\n\n\/* abstract pour-over cone *\/\n.sq-ocr__brew-visual {\n  position:relative;\n\n  overflow:hidden;\n\n  min-width:0;\n  min-height:270px;\n\n  background:\n    linear-gradient(\n      145deg,\n      #3a554c,\n      #172d26\n    );\n}\n\n\n.sq-ocr__cone {\n  position:absolute;\n\n  left:50%;\n  top:45%;\n\n  width:120px;\n  height:105px;\n\n  transform:\n    translate(-50%,-50%);\n\n  clip-path:\n    polygon(\n      8% 0,\n      92% 0,\n      67% 100%,\n      33% 100%\n    );\n\n  border:\n    1px solid rgba(255,255,255,.18);\n\n  background:\n    repeating-linear-gradient(\n      90deg,\n      rgba(255,255,255,.12) 0 1px,\n      transparent 1px 12px\n    );\n}\n\n\n.sq-ocr__drop {\n  position:absolute;\n\n  left:50%;\n  top:63%;\n\n  width:10px;\n  height:16px;\n\n  transform:\n    translateX(-50%);\n\n  border-radius:\n    50% 50% 55% 55% \/ 35% 35% 65% 65%;\n\n  background:var(--sun);\n\n  box-shadow:\n    0 0 18px rgba(220,155,74,.28);\n}\n\n\n.sq-ocr__brew-meta {\n  position:absolute;\n\n  right:20px;\n  bottom:18px;\n\n  color:\n    rgba(255,255,255,.55);\n\n  text-align:right;\n\n  font-size:9px;\n  font-weight:800;\n\n  line-height:1.55;\n\n  letter-spacing:.14em;\n\n  text-transform:uppercase;\n}\n\n\n\/* ============================================================\n   07 — KIT CONTENTS\n   ============================================================ *\/\n\n.sq-ocr__kit {\n  display:grid;\n\n  grid-template-columns:\n    repeat(3,minmax(0,1fr));\n\n  min-width:0;\n\n  margin:0 0 12px;\n\n  border:\n    1px solid var(--line);\n\n  background:\n    linear-gradient(\n      180deg,\n      #f8f5ef,\n      #ece5da\n    );\n}\n\n\n.sq-ocr__kit-item {\n  min-width:0;\n\n  padding:\n    20px\n    16px\n    18px;\n\n  border-right:\n    1px solid var(--line);\n\n  border-bottom:\n    1px solid var(--line);\n}\n\n\n.sq-ocr__kit-item:nth-child(3n) {\n  border-right:0;\n}\n\n\n.sq-ocr__kit-item:nth-last-child(-n+3) {\n  border-bottom:0;\n}\n\n\n.sq-ocr__kit-no {\n  display:block;\n\n  margin-bottom:13px;\n\n  color:var(--sun);\n\n  font-size:9px;\n  font-weight:800;\n\n  letter-spacing:.14em;\n}\n\n\n.sq-ocr__kit-item strong {\n  display:block;\n\n  color:var(--forest-950);\n\n  font-size:11px;\n  font-weight:800;\n\n  line-height:1.35;\n\n  text-transform:uppercase;\n}\n\n\n\/* ============================================================\n   08 — DIMENSION DASHBOARD\n   ============================================================ *\/\n\n.sq-ocr__spec {\n  display:grid;\n\n  grid-template-columns:\n    minmax(0,1.25fr)\n    minmax(300px,.75fr);\n\n  min-width:0;\n\n  margin:0 0 12px;\n\n  background:var(--coffee-950);\n\n  color:#fff;\n}\n\n\n.sq-ocr__spec-main {\n  min-width:0;\n\n  padding:\n    clamp(27px,4.3vw,48px);\n}\n\n\n.sq-ocr__spec-label {\n  margin-bottom:22px;\n\n  color:var(--sun-soft);\n\n  font-size:10px;\n  font-weight:800;\n\n  letter-spacing:.18em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__bag-size {\n  display:flex;\n  flex-wrap:wrap;\n  align-items:flex-end;\n\n  gap:\n    8px 13px;\n\n  min-width:0;\n}\n\n\n.sq-ocr__dimension {\n  color:#fff;\n\n  font-size:\n    clamp(36px,5.7vw,66px);\n\n  font-weight:800;\n\n  line-height:.92;\n\n  letter-spacing:-.055em;\n}\n\n\n.sq-ocr__x {\n  padding-bottom:5px;\n\n  color:var(--sun);\n\n  font-size:16px;\n}\n\n\n.sq-ocr__unit {\n  margin-top:13px;\n\n  color:\n    rgba(255,255,255,.47);\n\n  font-size:9px;\n  font-weight:800;\n\n  letter-spacing:.15em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__spec-side {\n  display:grid;\n\n  grid-template-columns:\n    1fr\n    1fr;\n\n  min-width:0;\n\n  background:\n    linear-gradient(\n      145deg,\n      var(--forest-900),\n      var(--forest-950)\n    );\n}\n\n\n.sq-ocr__stat {\n  display:flex;\n  flex-direction:column;\n  justify-content:space-between;\n\n  min-width:0;\n\n  padding:\n    26px\n    18px;\n\n  border-left:\n    1px solid rgba(255,255,255,.08);\n}\n\n\n.sq-ocr__stat small {\n  color:\n    rgba(255,255,255,.52);\n\n  font-size:9px;\n  font-weight:800;\n\n  letter-spacing:.13em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__stat strong {\n  margin-top:25px;\n\n  color:#fff;\n\n  font-size:\n    clamp(26px,3vw,38px);\n\n  font-weight:800;\n\n  line-height:.95;\n\n  letter-spacing:-.04em;\n}\n\n\n.sq-ocr__stat span {\n  display:block;\n\n  margin-top:7px;\n\n  color:var(--sun-soft);\n\n  font-size:9px;\n  font-weight:800;\n\n  letter-spacing:.12em;\n\n  text-transform:uppercase;\n}\n\n\n\/* ============================================================\n   09 — TOOL SCALE\n   ============================================================ *\/\n\n.sq-ocr__scale {\n  display:grid;\n\n  grid-template-columns:\n    repeat(4,minmax(0,1fr));\n\n  min-width:0;\n\n  margin:0 0 12px;\n\n  background:var(--oat);\n\n  border:\n    1px solid var(--line);\n}\n\n\n.sq-ocr__scale-item {\n  min-width:0;\n\n  padding:\n    20px\n    16px;\n\n  border-right:\n    1px solid var(--line);\n}\n\n\n.sq-ocr__scale-item:last-child {\n  border-right:0;\n}\n\n\n.sq-ocr__scale-small {\n  display:block;\n\n  margin-bottom:8px;\n\n  color:var(--sun);\n\n  font-size:9px;\n  font-weight:800;\n\n  letter-spacing:.14em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__scale-item strong {\n  display:block;\n\n  color:var(--forest-950);\n\n  font-size:16px;\n  font-weight:800;\n\n  line-height:1.2;\n}\n\n\n.sq-ocr__scale-item span:last-child {\n  display:block;\n\n  margin-top:5px;\n\n  color:var(--muted);\n\n  font-size:10px;\n}\n\n\n\/* ============================================================\n   10 — END\n   ============================================================ *\/\n\n.sq-ocr__end {\n  position:relative;\n\n  overflow:hidden;\n\n  display:grid;\n\n  grid-template-columns:\n    minmax(0,1.4fr)\n    minmax(210px,.6fr);\n\n  gap:28px;\n\n  align-items:end;\n\n  min-width:0;\n\n  padding:\n    clamp(30px,5vw,56px);\n\n  background:\n    linear-gradient(\n      135deg,\n      #e8dfd1,\n      #d8cbb8\n    );\n\n  border:\n    1px solid var(--line);\n}\n\n\n.sq-ocr__end::after {\n  content:\"FIELD BREW\";\n\n  position:absolute;\n\n  right:-14px;\n  top:-5px;\n\n  color:\n    rgba(51,37,29,.055);\n\n  font-size:\n    clamp(55px,10vw,126px);\n\n  font-weight:850;\n\n  line-height:1;\n\n  letter-spacing:-.07em;\n\n  white-space:nowrap;\n\n  pointer-events:none;\n}\n\n\n.sq-ocr__end-main {\n  position:relative;\n  z-index:1;\n\n  min-width:0;\n}\n\n\n.sq-ocr__end-label {\n  margin-bottom:14px;\n\n  color:var(--sun);\n\n  font-size:10px;\n  font-weight:800;\n\n  letter-spacing:.18em;\n\n  text-transform:uppercase;\n}\n\n\n.sq-ocr__end h3 {\n  max-width:630px;\n\n  margin:0;\n\n  color:var(--forest-950);\n\n  font-size:\n    clamp(29px,4.5vw,54px);\n\n  font-weight:800;\n\n  line-height:.98;\n\n  letter-spacing:-.048em;\n}\n\n\n.sq-ocr__end-meta {\n  position:relative;\n  z-index:1;\n\n  padding-left:18px;\n\n  border-left:\n    2px solid var(--sun);\n\n  color:var(--coffee-800);\n\n  font-size:10px;\n  font-weight:800;\n\n  line-height:1.8;\n\n  letter-spacing:.12em;\n\n  text-transform:uppercase;\n}\n\n\n\/* ============================================================\n   MOBILE\n   ============================================================ *\/\n\n@media(max-width:749px) {\n\n  .sq-ocr {\n    width:100%;\n    max-width:100%;\n    min-width:0;\n\n    margin:24px 0 38px;\n  }\n\n\n  .sq-ocr__hero {\n    padding:\n      28px\n      19px\n      26px;\n  }\n\n\n  .sq-ocr__topline {\n    margin-bottom:40px;\n  }\n\n\n  .sq-ocr__mode {\n    display:none;\n  }\n\n\n  .sq-ocr__hero-grid {\n    grid-template-columns:1fr;\n\n    gap:30px;\n  }\n\n\n  .sq-ocr__title {\n    font-size:\n      clamp(39px,12vw,56px);\n  }\n\n\n  .sq-ocr__ritual {\n    width:100%;\n\n    justify-self:stretch;\n  }\n\n\n  .sq-ocr__marquee-item {\n    padding:\n      13px\n      16px;\n\n    font-size:9px;\n  }\n\n\n  .sq-ocr__chapter {\n    grid-template-columns:\n      52px\n      minmax(0,1fr);\n\n    gap:10px;\n  }\n\n\n  .sq-ocr__chapter-code {\n    display:none;\n  }\n\n\n  .sq-ocr__plate {\n    padding:5px;\n  }\n\n\n  .sq-ocr__plate:hover {\n    transform:\n      translateY(-2px);\n  }\n\n\n  .sq-ocr__flow {\n    grid-template-columns:\n      1fr\n      1fr;\n  }\n\n\n  .sq-ocr__flow-item:nth-child(2) {\n    border-right:0;\n  }\n\n\n  .sq-ocr__flow-item:nth-child(1),\n  .sq-ocr__flow-item:nth-child(2) {\n    border-bottom:\n      1px solid var(--line);\n  }\n\n\n  .sq-ocr__brew {\n    grid-template-columns:1fr;\n  }\n\n\n  .sq-ocr__brew-visual {\n    min-height:220px;\n  }\n\n\n  .sq-ocr__kit {\n    grid-template-columns:\n      1fr\n      1fr;\n  }\n\n\n  .sq-ocr__kit-item {\n    border-right:\n      1px solid var(--line);\n\n    border-bottom:\n      1px solid var(--line);\n  }\n\n\n  .sq-ocr__kit-item:nth-child(2n) {\n    border-right:0;\n  }\n\n\n  .sq-ocr__kit-item:nth-last-child(-n+2) {\n    border-bottom:0;\n  }\n\n\n  .sq-ocr__spec {\n    grid-template-columns:1fr;\n  }\n\n\n  .sq-ocr__spec-side {\n    grid-template-columns:1fr 1fr;\n  }\n\n\n  .sq-ocr__scale {\n    grid-template-columns:\n      1fr\n      1fr;\n  }\n\n\n  .sq-ocr__scale-item:nth-child(2) {\n    border-right:0;\n  }\n\n\n  .sq-ocr__scale-item:nth-child(1),\n  .sq-ocr__scale-item:nth-child(2) {\n    border-bottom:\n      1px solid var(--line);\n  }\n\n\n  .sq-ocr__end {\n    grid-template-columns:1fr;\n  }\n\n\n  .sq-ocr__end-meta {\n    padding-left:14px;\n  }\n\n}\n\n\n@media(prefers-reduced-motion:reduce) {\n\n  .sq-ocr__marquee-track {\n    animation:none;\n  }\n\n\n  .sq-ocr__plate {\n    transition:none;\n  }\n\n}\n\u003c\/style\u003e\n\u003cdiv class=\"sq-ocr\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"sq-ocr__hero\"\u003e\n\u003cdiv class=\"sq-ocr__topline\"\u003e\n\u003cdiv class=\"sq-ocr__series\"\u003eSORALIQUE \/ FIELD BREW\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__mode\"\u003eOUTDOOR COFFEE RITUAL SYSTEM\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__hero-grid\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"sq-ocr__eyebrow\"\u003eOutdoor Coffee Ritual Kit\u003c\/p\u003e\n\u003ch2 class=\"sq-ocr__title\"\u003eGrind Fresh. \u003cspan\u003eBrew Anywhere.\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"sq-ocr__intro\"\u003eA complete manual coffee setup designed to turn outdoor mornings into a slower ritual — from fresh grinding to pour-over brewing and the first warm sip.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__ritual\"\u003e\n\u003cdiv class=\"sq-ocr__ritual-step\"\u003e\n\u003cspan class=\"sq-ocr__ritual-no\"\u003e01\u003c\/span\u003e \u003cspan class=\"sq-ocr__ritual-name\"\u003e Pack \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__ritual-step\"\u003e\n\u003cspan class=\"sq-ocr__ritual-no\"\u003e02\u003c\/span\u003e \u003cspan class=\"sq-ocr__ritual-name\"\u003e Grind \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__ritual-step\"\u003e\n\u003cspan class=\"sq-ocr__ritual-no\"\u003e03\u003c\/span\u003e \u003cspan class=\"sq-ocr__ritual-name\"\u003e Brew \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__ritual-step\"\u003e\n\u003cspan class=\"sq-ocr__ritual-no\"\u003e04\u003c\/span\u003e \u003cspan class=\"sq-ocr__ritual-name\"\u003e Enjoy \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- MARQUEE --\u003e\n\u003cdiv class=\"sq-ocr__marquee\"\u003e\n\u003cdiv class=\"sq-ocr__marquee-track\"\u003e\n\u003cdiv class=\"sq-ocr__marquee-group\"\u003e\n\u003cspan class=\"sq-ocr__marquee-item\"\u003e MANUAL COFFEE GRINDER \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e STAINLESS STEEL KETTLE \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e POUR-OVER BREWER \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e CERAMIC TRAVEL CUP \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e COMPACT STORAGE \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e FRESH COFFEE ANYWHERE \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__marquee-group\"\u003e\n\u003cspan class=\"sq-ocr__marquee-item\"\u003e MANUAL COFFEE GRINDER \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e STAINLESS STEEL KETTLE \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e POUR-OVER BREWER \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e CERAMIC TRAVEL CUP \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e COMPACT STORAGE \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e \u003cspan class=\"sq-ocr__marquee-item\"\u003e FRESH COFFEE ANYWHERE \u003ci class=\"sq-ocr__marquee-dot\"\u003e\u003c\/i\u003e \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 01 --\u003e\n\u003cdiv class=\"sq-ocr__chapter\"\u003e\n\u003cdiv class=\"sq-ocr__chapter-no\"\u003e01 \/ 03\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__chapter-main\"\u003e\n\u003cstrong class=\"sq-ocr__chapter-title\"\u003e THE MORNING RITUAL \u003c\/strong\u003e \u003cspan class=\"sq-ocr__chapter-desc\"\u003e Pack \/ grind \/ brew \/ enjoy \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__chapter-code\"\u003eBREW\u003cbr\u003eFLOW\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__flow\"\u003e\n\u003cdiv class=\"sq-ocr__flow-item\"\u003e\n\u003cspan class=\"sq-ocr__flow-no\"\u003e01\u003c\/span\u003e \u003cstrong\u003ePack\u003c\/strong\u003e\n\u003cp\u003eEverything organized in one compact kit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__flow-item\"\u003e\n\u003cspan class=\"sq-ocr__flow-no\"\u003e02\u003c\/span\u003e \u003cstrong\u003eGrind\u003c\/strong\u003e\n\u003cp\u003eFresh coffee preparation wherever camp starts.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__flow-item\"\u003e\n\u003cspan class=\"sq-ocr__flow-no\"\u003e03\u003c\/span\u003e \u003cstrong\u003eBrew\u003c\/strong\u003e\n\u003cp\u003eSimple manual pour-over coffee outdoors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__flow-item\"\u003e\n\u003cspan class=\"sq-ocr__flow-no\"\u003e04\u003c\/span\u003e \u003cstrong\u003eEnjoy\u003c\/strong\u003e\n\u003cp\u003eA slower outdoor morning ritual.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"sq-ocr__plate\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0815\/5457\/1287\/files\/8-6.jpg?v=1791283971\" alt=\"SorAlique Outdoor Coffee Ritual Kit showing pack, grind, brew and enjoy sequence\" width=\"1000\" height=\"1000\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/figure\u003e\n\u003c!-- BREW FEATURE --\u003e\n\u003csection class=\"sq-ocr__brew\"\u003e\n\u003cdiv class=\"sq-ocr__brew-main\"\u003e\n\u003cdiv class=\"sq-ocr__brew-label\"\u003eManual Pour-Over\u003c\/div\u003e\n\u003ch3 class=\"sq-ocr__brew-title\"\u003eGrind by hand. \u003cspan\u003ePour with intention.\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cp class=\"sq-ocr__brew-copy\"\u003eA manual grinder, stainless kettle and metal pour-over brewer keep the process simple and tactile — no complicated setup between you and fresh coffee outdoors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__brew-visual\"\u003e\n\u003cdiv class=\"sq-ocr__cone\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__drop\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__brew-meta\"\u003eGRIND\u003cbr\u003ePOUR\u003cbr\u003eEXTRACT\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- 02 --\u003e\n\u003cdiv class=\"sq-ocr__chapter\"\u003e\n\u003cdiv class=\"sq-ocr__chapter-no\"\u003e02 \/ 03\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__chapter-main\"\u003e\n\u003cstrong class=\"sq-ocr__chapter-title\"\u003e EVERYTHING FOR THE BREW \u003c\/strong\u003e \u003cspan class=\"sq-ocr__chapter-desc\"\u003e Grinder \/ kettle \/ brewer \/ cup \/ scoop \/ bag \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__chapter-code\"\u003eFULL\u003cbr\u003eKIT\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__kit\"\u003e\n\u003cdiv class=\"sq-ocr__kit-item\"\u003e\n\u003cspan class=\"sq-ocr__kit-no\"\u003e01\u003c\/span\u003e \u003cstrong\u003e Manual Coffee Grinder \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__kit-item\"\u003e\n\u003cspan class=\"sq-ocr__kit-no\"\u003e02\u003c\/span\u003e \u003cstrong\u003e Stainless Steel Kettle \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__kit-item\"\u003e\n\u003cspan class=\"sq-ocr__kit-no\"\u003e03\u003c\/span\u003e \u003cstrong\u003e Pour-Over Brewer \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__kit-item\"\u003e\n\u003cspan class=\"sq-ocr__kit-no\"\u003e04\u003c\/span\u003e \u003cstrong\u003e Ceramic Travel Cup \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__kit-item\"\u003e\n\u003cspan class=\"sq-ocr__kit-no\"\u003e05\u003c\/span\u003e \u003cstrong\u003e Coffee Scoop \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__kit-item\"\u003e\n\u003cspan class=\"sq-ocr__kit-no\"\u003e06\u003c\/span\u003e \u003cstrong\u003e Organizer Bag \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"sq-ocr__plate\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0815\/5457\/1287\/files\/8-7.jpg?v=1791283971\" alt=\"SorAlique Outdoor Coffee Ritual Kit showing grinder, stainless kettle, pour-over brewer, travel cup, scoop and organizer bag\" width=\"1000\" height=\"1000\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/figure\u003e\n\u003c!-- 03 --\u003e\n\u003cdiv class=\"sq-ocr__chapter\"\u003e\n\u003cdiv class=\"sq-ocr__chapter-no\"\u003e03 \/ 03\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__chapter-main\"\u003e\n\u003cstrong class=\"sq-ocr__chapter-title\"\u003e COMPACT ENOUGH TO TRAVEL \u003c\/strong\u003e \u003cspan class=\"sq-ocr__chapter-desc\"\u003e Organized storage \/ durable tools \/ field-ready proportions \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__chapter-code\"\u003eTRAVEL\u003cbr\u003eSCALE\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"sq-ocr__spec\"\u003e\n\u003cdiv class=\"sq-ocr__spec-main\"\u003e\n\u003cdiv class=\"sq-ocr__spec-label\"\u003eOrganizer Bag\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__bag-size\"\u003e\n\u003cstrong class=\"sq-ocr__dimension\"\u003e 26 \u003c\/strong\u003e \u003cspan class=\"sq-ocr__x\"\u003e × \u003c\/span\u003e \u003cstrong class=\"sq-ocr__dimension\"\u003e 18 \u003c\/strong\u003e \u003cspan class=\"sq-ocr__x\"\u003e × \u003c\/span\u003e \u003cstrong class=\"sq-ocr__dimension\"\u003e 8 \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__unit\"\u003eLength × Width × Height \/ CM\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__spec-side\"\u003e\n\u003cdiv class=\"sq-ocr__stat\"\u003e\n\u003csmall\u003e Grinder \u003c\/small\u003e \u003cstrong\u003e 17.5 \u003cspan\u003eCM Tall\u003c\/span\u003e \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__stat\"\u003e\n\u003csmall\u003e Kettle \u003c\/small\u003e \u003cstrong\u003e 16 \u003cspan\u003eCM Wide\u003c\/span\u003e \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cdiv class=\"sq-ocr__scale\"\u003e\n\u003cdiv class=\"sq-ocr__scale-item\"\u003e\n\u003cspan class=\"sq-ocr__scale-small\"\u003e Pour-Over Brewer \u003c\/span\u003e \u003cstrong\u003e 10 × 7.5 \u003c\/strong\u003e \u003cspan\u003e CM \/ 6 CM base \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__scale-item\"\u003e\n\u003cspan class=\"sq-ocr__scale-small\"\u003e Ceramic Cup \u003c\/span\u003e \u003cstrong\u003e 12 × 8.5 \u003c\/strong\u003e \u003cspan\u003e CM \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__scale-item\"\u003e\n\u003cspan class=\"sq-ocr__scale-small\"\u003e Grinder \u003c\/span\u003e \u003cstrong\u003e 17.5 × 5 \u003c\/strong\u003e \u003cspan\u003e CM \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__scale-item\"\u003e\n\u003cspan class=\"sq-ocr__scale-small\"\u003e Kettle \u003c\/span\u003e \u003cstrong\u003e 16 × 12 \u003c\/strong\u003e \u003cspan\u003e CM \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"sq-ocr__plate\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0815\/5457\/1287\/files\/8-8.png?v=1791283979\" alt=\"SorAlique Outdoor Coffee Ritual Kit dimensions, compact organizer storage and outdoor coffee components\" width=\"1000\" height=\"1000\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/figure\u003e\n\u003c!-- END --\u003e\n\u003csection class=\"sq-ocr__end\"\u003e\n\u003cdiv class=\"sq-ocr__end-main\"\u003e\n\u003cdiv class=\"sq-ocr__end-label\"\u003eSorAlique \/ Field Brew Ritual\u003c\/div\u003e\n\u003ch3\u003eBring the trail.\u003cbr\u003eKeep the ritual.\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sq-ocr__end-meta\"\u003eFresh Manual Grinding\u003cbr\u003eStainless Pour Kettle\u003cbr\u003ePour-Over Brewing\u003cbr\u003eCompact Organizer Kit\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Soralique","offers":[{"title":"Default Title","offer_id":45684310474775,"sku":"Soralique008*1","price":85.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0815\/5457\/1287\/files\/8-1.png?v=1791283979","url":"https:\/\/soralique.com\/products\/soralique%e2%84%a2-outdoor-coffee-ritual-kit","provider":"Soralique","version":"1.0","type":"link"}