{"product_id":"calorisse™-wobble-egg","title":"Calorisse™ Wobble Egg","description":"\u003cstyle\u003e\n\/* =========================================================\n   CALORISSE™ — WOBBLE EGG\n   SHOPIFY PRODUCT DESCRIPTION\n   ========================================================= *\/\n\n.cal-wobble-desc {\n  --we-cream: #faf6ef;\n  --we-cream-soft: #f2ece3;\n  --we-paper: #fdfbf8;\n\n  --we-brown: #5d493d;\n  --we-brown-deep: #493a31;\n\n  --we-text: #71645b;\n  --we-muted: #978a80;\n\n  --we-sage: #7d876c;\n  --we-sage-soft: #e6eadf;\n\n  --we-line: rgba(93,73,61,.13);\n\n  --we-shadow-hover:\n    0 25px 58px rgba(69,53,43,.14);\n\n  position: relative;\n\n  display: block;\n\n  width: 100%;\n  max-width: 100%;\n  min-width: 0;\n\n  margin: 28px 0 46px;\n  padding: 0;\n\n  overflow: visible;\n\n  box-sizing: border-box;\n\n  color: var(--we-text);\n\n  font-family:\n    Inter,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  container-type: inline-size;\n  container-name: wobble-description;\n}\n\n\n.cal-wobble-desc *,\n.cal-wobble-desc *::before,\n.cal-wobble-desc *::after {\n  box-sizing: border-box;\n}\n\n\n\/* =========================================================\n   INTRO\n   ========================================================= *\/\n\n.we-intro {\n  position: relative;\n\n  width: 100%;\n  max-width: 100%;\n\n  margin: 0 0 14px;\n\n  padding:\n    clamp(34px,5.5cqw,68px);\n\n  overflow: hidden;\n\n  background:\n    linear-gradient(\n      135deg,\n      #fcf9f4 0%,\n      #f5eee6 50%,\n      #edf0e7 100%\n    );\n\n  border:\n    1px solid var(--we-line);\n\n  border-radius: 20px;\n}\n\n\n.we-intro::before {\n  content: \"\";\n\n  position: absolute;\n\n  width: 280px;\n  height: 370px;\n\n  right: -135px;\n  top: -205px;\n\n  border:\n    1px solid rgba(125,135,108,.10);\n\n  border-radius:\n    48% 48% 52% 52% \/ 58% 58% 42% 42%;\n\n  transform:\n    rotate(8deg);\n\n  pointer-events: none;\n}\n\n\n.we-intro::after {\n  content: \"\";\n\n  position: absolute;\n\n  width: 195px;\n  height: 270px;\n\n  right: -80px;\n  top: -145px;\n\n  border:\n    1px solid rgba(125,135,108,.07);\n\n  border-radius:\n    48% 48% 52% 52% \/ 58% 58% 42% 42%;\n\n  transform:\n    rotate(-7deg);\n\n  pointer-events: none;\n}\n\n\n\/* =========================================================\n   INTRO GRID\n   ========================================================= *\/\n\n.we-intro-grid {\n  position: relative;\n\n  z-index: 2;\n\n  display: grid;\n\n  grid-template-columns:\n    minmax(0,1.15fr)\n    minmax(220px,.65fr);\n\n  gap:\n    clamp(28px,5cqw,70px);\n\n  align-items: end;\n}\n\n\n\/* =========================================================\n   TYPOGRAPHY\n   ========================================================= *\/\n\n.we-eyebrow {\n  margin:\n    0 0 16px;\n\n  color:\n    var(--we-sage);\n\n  font-size:\n    clamp(8px,1.05cqw,10px);\n\n  font-weight: 700;\n\n  line-height: 1.4;\n\n  letter-spacing: .19em;\n\n  text-transform: uppercase;\n}\n\n\n.we-title {\n  margin: 0;\n\n  color:\n    var(--we-brown);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size:\n    clamp(42px,6.3cqw,72px);\n\n  font-weight: 400;\n\n  line-height: .96;\n\n  letter-spacing: -.045em;\n}\n\n\n.we-subtitle {\n  margin:\n    16px 0 0;\n\n  color:\n    var(--we-brown);\n\n  font-size:\n    clamp(9px,1.2cqw,11px);\n\n  font-weight: 700;\n\n  letter-spacing: .16em;\n\n  text-transform: uppercase;\n}\n\n\n.we-copy {\n  max-width: 720px;\n\n  margin:\n    24px 0 0;\n\n  color:\n    var(--we-text);\n\n  font-size:\n    clamp(13px,1.55cqw,16px);\n\n  line-height: 1.85;\n}\n\n\n\/* =========================================================\n   INTRO NOTE\n   ========================================================= *\/\n\n.we-intro-note {\n  position: relative;\n\n  padding:\n    22px 0 0;\n\n  border-top:\n    1px solid var(--we-line);\n}\n\n\n.we-note-number {\n  display: block;\n\n  margin-bottom: 24px;\n\n  color:\n    var(--we-sage);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size: 13px;\n}\n\n\n.we-note-title {\n  display: block;\n\n  margin-bottom: 10px;\n\n  color:\n    var(--we-brown);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size:\n    clamp(20px,2.4cqw,28px);\n\n  line-height: 1.1;\n}\n\n\n.we-note-copy {\n  margin: 0;\n\n  color:\n    var(--we-muted);\n\n  font-size:\n    clamp(10px,1.15cqw,12px);\n\n  line-height: 1.7;\n}\n\n\n\/* =========================================================\n   BENEFITS\n   ========================================================= *\/\n\n.we-benefits {\n  display: grid;\n\n  grid-template-columns:\n    repeat(4,minmax(0,1fr));\n\n  width: 100%;\n\n  margin:\n    0 0 14px;\n\n  overflow: visible;\n\n  background:\n    rgba(255,255,255,.48);\n\n  border:\n    1px solid var(--we-line);\n\n  border-radius: 18px;\n}\n\n\n.we-benefit {\n  position: relative;\n\n  min-width: 0;\n\n  padding:\n    25px 20px;\n\n  background:\n    rgba(255,255,255,.32);\n\n  transition:\n    transform .25s ease,\n    box-shadow .25s ease;\n\n  z-index: 1;\n}\n\n\n.we-benefit + .we-benefit {\n  border-left:\n    1px solid var(--we-line);\n}\n\n\n.we-benefit:hover {\n  z-index: 2;\n\n  transform:\n    translateY(-4px);\n\n  box-shadow:\n    var(--we-shadow-hover);\n}\n\n\n.we-benefit-index {\n  display: block;\n\n  margin-bottom: 18px;\n\n  color:\n    var(--we-sage);\n\n  font-size: 8px;\n\n  font-weight: 700;\n\n  letter-spacing: .15em;\n}\n\n\n.we-benefit-title {\n  display: block;\n\n  margin-bottom: 8px;\n\n  color:\n    var(--we-brown);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size:\n    clamp(15px,1.65cqw,20px);\n\n  line-height: 1.15;\n}\n\n\n.we-benefit-copy {\n  margin: 0;\n\n  color:\n    var(--we-muted);\n\n  font-size:\n    clamp(9px,1.1cqw,11px);\n\n  line-height: 1.65;\n}\n\n\n\/* =========================================================\n   MARQUEE\n   ========================================================= *\/\n\n.we-marquee {\n  position: relative;\n\n  width: 100%;\n  max-width: 100%;\n\n  margin:\n    0 0 14px;\n\n  padding:\n    14px 0;\n\n  overflow: hidden;\n\n  background:\n    linear-gradient(\n      90deg,\n      #57463b 0%,\n      #635044 50%,\n      #57463b 100%\n    );\n\n  border-radius: 10px;\n}\n\n\n.we-marquee-track {\n  display: flex;\n\n  width: max-content;\n\n  animation:\n    we-marquee-scroll\n    28s\n    linear\n    infinite;\n\n  will-change: transform;\n}\n\n\n.we-marquee:hover\n.we-marquee-track {\n  animation-play-state: paused;\n}\n\n\n.we-marquee-group {\n  display: flex;\n\n  align-items: center;\n\n  flex-shrink: 0;\n\n  white-space: nowrap;\n}\n\n\n.we-marquee-item {\n  display: inline-flex;\n\n  align-items: center;\n\n  gap: 25px;\n\n  padding-right: 25px;\n\n  color:\n    rgba(255,255,255,.88);\n\n  font-size:\n    clamp(8px,1cqw,10px);\n\n  font-weight: 700;\n\n  letter-spacing: .15em;\n\n  text-transform: uppercase;\n}\n\n\n.we-marquee-item::after {\n  content: \"•\";\n\n  color: #c4ccb5;\n\n  opacity: .8;\n}\n\n\n@keyframes we-marquee-scroll {\n\n  from {\n    transform:\n      translateX(0);\n  }\n\n  to {\n    transform:\n      translateX(-50%);\n  }\n\n}\n\n\n\/* =========================================================\n   DETAIL STORY\n   ========================================================= *\/\n\n.we-gallery-head {\n  position: relative;\n\n  width: 100%;\n\n  margin:\n    0 0 14px;\n\n  padding:\n    clamp(30px,4.5cqw,52px);\n\n  background:\n    var(--we-paper);\n\n  border:\n    1px solid var(--we-line);\n\n  border-radius: 18px;\n}\n\n\n.we-gallery-head-inner {\n  display: grid;\n\n  grid-template-columns:\n    minmax(0,.75fr)\n    minmax(0,1.25fr);\n\n  gap:\n    clamp(24px,4cqw,58px);\n\n  align-items: end;\n}\n\n\n.we-section-kicker {\n  display: block;\n\n  margin-bottom: 11px;\n\n  color:\n    var(--we-sage);\n\n  font-size: 8px;\n\n  font-weight: 700;\n\n  letter-spacing: .18em;\n\n  text-transform: uppercase;\n}\n\n\n.we-gallery-title {\n  margin: 0;\n\n  color:\n    var(--we-brown);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size:\n    clamp(30px,4.5cqw,50px);\n\n  font-weight: 400;\n\n  line-height: 1;\n\n  letter-spacing: -.03em;\n}\n\n\n.we-gallery-copy {\n  margin: 0;\n\n  color:\n    var(--we-muted);\n\n  font-size:\n    clamp(11px,1.35cqw,14px);\n\n  line-height: 1.8;\n}\n\n\n\/* =========================================================\n   PLAY FLOW\n   ========================================================= *\/\n\n.we-flow {\n  display: grid;\n\n  grid-template-columns:\n    repeat(4,minmax(0,1fr));\n\n  width: 100%;\n\n  margin:\n    0 0 14px;\n\n  overflow: visible;\n\n  background:\n    var(--we-sage-soft);\n\n  border:\n    1px solid var(--we-line);\n\n  border-radius: 18px;\n}\n\n\n.we-flow-item {\n  position: relative;\n\n  padding:\n    24px 18px;\n\n  transition:\n    transform .25s ease,\n    box-shadow .25s ease;\n\n  z-index: 1;\n}\n\n\n.we-flow-item + .we-flow-item {\n  border-left:\n    1px solid rgba(93,73,61,.11);\n}\n\n\n.we-flow-item:hover {\n  z-index: 2;\n\n  transform:\n    translateY(-4px);\n\n  box-shadow:\n    var(--we-shadow-hover);\n}\n\n\n.we-flow-number {\n  display: block;\n\n  margin-bottom:\n    12px;\n\n  color:\n    var(--we-sage);\n\n  font-size: 8px;\n\n  font-weight: 700;\n\n  letter-spacing: .15em;\n}\n\n\n.we-flow-title {\n  display: block;\n\n  color:\n    var(--we-brown);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size:\n    clamp(17px,1.8cqw,23px);\n\n  line-height: 1.1;\n}\n\n\n.we-flow-copy {\n  margin:\n    7px 0 0;\n\n  color:\n    var(--we-muted);\n\n  font-size:\n    clamp(9px,1.02cqw,11px);\n\n  line-height: 1.6;\n}\n\n\n\/* =========================================================\n   DETAIL GALLERY\n   ========================================================= *\/\n\n.we-gallery {\n  display: grid;\n\n  grid-template-columns:\n    minmax(0,1fr);\n\n  width: 100%;\n  max-width: 100%;\n  min-width: 0;\n\n  gap: 16px;\n\n  margin: 0;\n  padding: 0;\n}\n\n\n\/* =========================================================\n   IMAGE CARD\n   ========================================================= *\/\n\n.we-image-card {\n  position: relative;\n\n  display: block;\n\n  width: 100%;\n  max-width: 100%;\n  min-width: 0;\n\n  margin: 0;\n  padding: 0;\n\n  overflow: visible;\n\n  background: transparent;\n\n  border: 0;\n\n  box-shadow: none;\n\n  transform:\n    translateY(0);\n\n  transition:\n    transform .28s ease,\n    box-shadow .28s ease;\n}\n\n\n.we-image-card:hover {\n  transform:\n    translateY(-6px);\n\n  box-shadow:\n    var(--we-shadow-hover);\n}\n\n\n\/* =========================================================\n   IMAGE — COMPLETE DISPLAY \/ NO CROP \/ NO MASK\n   ========================================================= *\/\n\n.we-image-card img {\n  position: relative;\n\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 center;\n\n  border: 0;\n  border-radius: 0;\n\n  clip-path: none;\n\n  mask: none;\n  -webkit-mask: none;\n\n  background: transparent;\n\n  opacity: 1;\n  visibility: visible;\n}\n\n\n\/* =========================================================\n   CAPTION BELOW IMAGE\n   ========================================================= *\/\n\n.we-image-caption {\n  display: grid;\n\n  grid-template-columns:\n    auto minmax(0,1fr);\n\n  gap: 17px;\n\n  align-items: start;\n\n  padding:\n    18px 4px 4px;\n}\n\n\n.we-image-number {\n  color:\n    var(--we-sage);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size: 12px;\n}\n\n\n.we-image-text strong {\n  display: block;\n\n  margin-bottom: 5px;\n\n  color:\n    var(--we-brown);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size:\n    clamp(16px,1.7cqw,21px);\n\n  font-weight: 400;\n}\n\n\n.we-image-text span {\n  display: block;\n\n  color:\n    var(--we-muted);\n\n  font-size:\n    clamp(9px,1.05cqw,11px);\n\n  line-height: 1.6;\n}\n\n\n\/* =========================================================\n   PHILOSOPHY\n   ========================================================= *\/\n\n.we-philosophy {\n  position: relative;\n\n  width: 100%;\n\n  margin:\n    18px 0 0;\n\n  padding:\n    clamp(38px,5.5cqw,68px);\n\n  overflow: hidden;\n\n  background:\n    linear-gradient(\n      135deg,\n      #5c493d 0%,\n      #493a31 100%\n    );\n\n  border-radius: 20px;\n\n  color: #fff;\n}\n\n\n.we-philosophy::before {\n  content: \"\";\n\n  position: absolute;\n\n  width: 245px;\n  height: 330px;\n\n  right: -115px;\n  bottom: -180px;\n\n  border:\n    1px solid rgba(255,255,255,.07);\n\n  border-radius:\n    48% 48% 52% 52% \/ 58% 58% 42% 42%;\n\n  transform:\n    rotate(12deg);\n\n  pointer-events: none;\n}\n\n\n.we-philosophy-inner {\n  position: relative;\n\n  z-index: 2;\n\n  max-width: 760px;\n}\n\n\n.we-philosophy-kicker {\n  display: block;\n\n  margin-bottom: 15px;\n\n  color:\n    #c4ccb5;\n\n  font-size: 8px;\n\n  font-weight: 700;\n\n  letter-spacing: .19em;\n\n  text-transform: uppercase;\n}\n\n\n.we-philosophy-title {\n  margin:\n    0 0 20px;\n\n  color: #fff;\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size:\n    clamp(32px,4.8cqw,52px);\n\n  font-weight: 400;\n\n  line-height: 1.02;\n\n  letter-spacing: -.03em;\n}\n\n\n.we-philosophy-copy {\n  margin: 0;\n\n  color:\n    rgba(255,255,255,.68);\n\n  font-size:\n    clamp(12px,1.45cqw,15px);\n\n  line-height: 1.85;\n}\n\n\n.we-philosophy-signature {\n  display: flex;\n\n  align-items: center;\n\n  gap: 13px;\n\n  margin-top: 26px;\n\n  color:\n    rgba(255,255,255,.9);\n\n  font-family:\n    Georgia,\n    \"Times New Roman\",\n    serif;\n\n  font-size:\n    clamp(14px,1.75cqw,18px);\n\n  font-style: italic;\n}\n\n\n.we-philosophy-signature::before {\n  content: \"\";\n\n  width: 36px;\n  height: 1px;\n\n  flex: 0 0 auto;\n\n  background:\n    #c4ccb5;\n}\n\n\n\/* =========================================================\n   MEDIUM CONTAINER\n   ========================================================= *\/\n\n@container wobble-description (max-width: 820px) {\n\n  .we-intro-grid {\n    grid-template-columns:\n      1fr;\n  }\n\n\n  .we-intro-note {\n    max-width:\n      520px;\n  }\n\n\n  .we-benefits {\n    grid-template-columns:\n      repeat(2,minmax(0,1fr));\n  }\n\n\n  .we-benefit:nth-child(3) {\n    border-left:\n      0;\n\n    border-top:\n      1px solid var(--we-line);\n  }\n\n\n  .we-benefit:nth-child(4) {\n    border-top:\n      1px solid var(--we-line);\n  }\n\n\n  .we-gallery-head-inner {\n    grid-template-columns:\n      1fr;\n\n    gap: 17px;\n  }\n\n\n  .we-flow {\n    grid-template-columns:\n      repeat(2,minmax(0,1fr));\n  }\n\n\n  .we-flow-item:nth-child(3) {\n    border-left:\n      0;\n\n    border-top:\n      1px solid rgba(93,73,61,.11);\n  }\n\n\n  .we-flow-item:nth-child(4) {\n    border-top:\n      1px solid rgba(93,73,61,.11);\n  }\n\n}\n\n\n\/* =========================================================\n   NARROW CONTAINER\n   ========================================================= *\/\n\n@container wobble-description (max-width: 520px) {\n\n  .cal-wobble-desc {\n    margin:\n      20px 0 32px;\n  }\n\n\n  .we-intro {\n    margin-bottom:\n      10px;\n\n    padding:\n      29px 20px;\n\n    border-radius:\n      14px;\n  }\n\n\n  .we-title {\n    font-size:\n      40px;\n  }\n\n\n  .we-copy {\n    margin-top:\n      18px;\n\n    font-size:\n      13px;\n\n    line-height:\n      1.72;\n  }\n\n\n  .we-intro-note {\n    padding-top:\n      18px;\n  }\n\n\n  .we-note-number {\n    margin-bottom:\n      16px;\n  }\n\n\n  \/* BENEFITS *\/\n\n  .we-benefits {\n    grid-template-columns:\n      1fr;\n\n    margin-bottom:\n      10px;\n\n    border-radius:\n      14px;\n  }\n\n\n  .we-benefit {\n    padding:\n      20px;\n  }\n\n\n  .we-benefit + .we-benefit {\n    border-left:\n      0;\n\n    border-top:\n      1px solid var(--we-line);\n  }\n\n\n  .we-benefit:hover {\n    transform:\n      none;\n\n    box-shadow:\n      none;\n  }\n\n\n  \/* MARQUEE *\/\n\n  .we-marquee {\n    margin-bottom:\n      10px;\n\n    padding:\n      12px 0;\n\n    border-radius:\n      8px;\n  }\n\n\n  .we-marquee-item {\n    gap:\n      20px;\n\n    padding-right:\n      20px;\n\n    font-size:\n      8px;\n  }\n\n\n  \/* STORY *\/\n\n  .we-gallery-head {\n    margin-bottom:\n      10px;\n\n    padding:\n      28px 20px;\n\n    border-radius:\n      14px;\n  }\n\n\n  .we-gallery-title {\n    font-size:\n      34px;\n  }\n\n\n  \/* FLOW *\/\n\n  .we-flow {\n    grid-template-columns:\n      1fr;\n\n    margin-bottom:\n      10px;\n\n    border-radius:\n      14px;\n  }\n\n\n  .we-flow-item + .we-flow-item {\n    border-left:\n      0;\n\n    border-top:\n      1px solid rgba(93,73,61,.11);\n  }\n\n\n  .we-flow-item:hover {\n    transform:\n      none;\n\n    box-shadow:\n      none;\n  }\n\n\n  \/* IMAGES *\/\n\n  .we-gallery {\n    gap:\n      12px;\n  }\n\n\n  .we-image-card:hover {\n    transform:\n      none;\n\n    box-shadow:\n      none;\n  }\n\n\n  .we-image-caption {\n    padding:\n      13px 2px 2px;\n  }\n\n\n  \/* PHILOSOPHY *\/\n\n  .we-philosophy {\n    margin-top:\n      14px;\n\n    padding:\n      34px 21px;\n\n    border-radius:\n      14px;\n  }\n\n\n  .we-philosophy-title {\n    font-size:\n      34px;\n  }\n\n\n  .we-philosophy-copy {\n    font-size:\n      13px;\n  }\n\n}\n\n\n\/* =========================================================\n   MOBILE SAFETY\n   ========================================================= *\/\n\n@media screen and (max-width: 749px) {\n\n  .cal-wobble-desc {\n    width: 100%;\n    max-width: 100%;\n\n    margin-left: 0;\n    margin-right: 0;\n  }\n\n}\n\n\n\/* =========================================================\n   REDUCED MOTION\n   ========================================================= *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n  .we-marquee-track {\n    animation: none;\n  }\n\n\n  .we-benefit,\n  .we-flow-item,\n  .we-image-card {\n    transition: none;\n  }\n\n}\n\u003c\/style\u003e\n\u003c!-- =======================================================\n     CALORISSE™ — WOBBLE EGG\n     ======================================================= --\u003e\n\u003cdiv class=\"cal-wobble-desc\"\u003e\n\u003c!-- =====================================================\n       INTRO\n       ===================================================== --\u003e\n\u003csection class=\"we-intro\"\u003e\n\u003cdiv class=\"we-intro-grid\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"we-eyebrow\"\u003eCALORISSE™ · FILL • NUDGE • REWARD\u003c\/p\u003e\n\u003ch2 class=\"we-title\"\u003eWobble Egg\u003c\/h2\u003e\n\u003cp class=\"we-subtitle\"\u003eEvery Nudge Starts Another Move\u003c\/p\u003e\n\u003cp class=\"we-copy\"\u003eWobble Egg turns reward time into a moving challenge. Its rounded egg-shaped body responds to paws and noses with a playful wobble, while a weighted lower section encourages the toy to rise again and invite another nudge.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003caside class=\"we-intro-note\"\u003e\u003cspan class=\"we-note-number\"\u003e 09 \/ WOBBLE \u003c\/span\u003e \u003cspan class=\"we-note-title\"\u003e It never stays still for long. \u003c\/span\u003e\n\u003cp class=\"we-note-copy\"\u003ePush it, follow it and try again. The shifting movement keeps the reward connected to active exploration instead of passive waiting.\u003c\/p\u003e\n\u003c\/aside\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- =====================================================\n       BENEFITS\n       ===================================================== --\u003e\n\u003csection class=\"we-benefits\"\u003e\n\u003carticle class=\"we-benefit\"\u003e\u003cspan class=\"we-benefit-index\"\u003e 01 \u003c\/span\u003e \u003cspan class=\"we-benefit-title\"\u003e Self-Righting Motion \u003c\/span\u003e\n\u003cp class=\"we-benefit-copy\"\u003eA weighted lower section encourages the toy to wobble back toward an upright position.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"we-benefit\"\u003e\u003cspan class=\"we-benefit-index\"\u003e 02 \u003c\/span\u003e \u003cspan class=\"we-benefit-title\"\u003e Reward-Led Play \u003c\/span\u003e\n\u003cp class=\"we-benefit-copy\"\u003eSmall rewards turn each push into another reason to stay engaged.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"we-benefit\"\u003e\u003cspan class=\"we-benefit-index\"\u003e 03 \u003c\/span\u003e \u003cspan class=\"we-benefit-title\"\u003e Paw \u0026amp; Nose Friendly \u003c\/span\u003e\n\u003cp class=\"we-benefit-copy\"\u003eThe rounded form responds naturally to nudging from different directions.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"we-benefit\"\u003e\u003cspan class=\"we-benefit-index\"\u003e 04 \u003c\/span\u003e \u003cspan class=\"we-benefit-title\"\u003e Active Enrichment \u003c\/span\u003e\n\u003cp class=\"we-benefit-copy\"\u003eMovement and reward work together to encourage repeated interaction.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/section\u003e\n\u003c!-- =====================================================\n       MARQUEE\n       ===================================================== --\u003e\n\u003cdiv class=\"we-marquee\"\u003e\n\u003cdiv class=\"we-marquee-track\"\u003e\n\u003cdiv class=\"we-marquee-group\"\u003e\n\u003cspan class=\"we-marquee-item\"\u003e Fill • Nudge • Reward \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Self-Righting Motion \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Push • Wobble • Follow \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Reward-Led Play \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Paw \u0026amp; Nose Friendly \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Movement Creates Curiosity \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Bond Through Play \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"we-marquee-group\"\u003e\n\u003cspan class=\"we-marquee-item\"\u003e Fill • Nudge • Reward \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Self-Righting Motion \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Push • Wobble • Follow \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Reward-Led Play \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Paw \u0026amp; Nose Friendly \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Movement Creates Curiosity \u003c\/span\u003e \u003cspan class=\"we-marquee-item\"\u003e Bond Through Play \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- =====================================================\n       DETAIL STORY\n       ===================================================== --\u003e\n\u003csection class=\"we-gallery-head\"\u003e\n\u003cdiv class=\"we-gallery-head-inner\"\u003e\n\u003cdiv\u003e\n\u003cspan class=\"we-section-kicker\"\u003e DESIGNED IN DETAIL \u003c\/span\u003e\n\u003ch3 class=\"we-gallery-title\"\u003eA reward that refuses to sit still.\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cp class=\"we-gallery-copy\"\u003eWobble Egg creates an ongoing interaction between movement and discovery. Every nudge changes its position, every wobble asks for another response, and the reward gives pets a reason to keep the cycle going.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- =====================================================\n       PLAY FLOW\n       ===================================================== --\u003e\n\u003csection class=\"we-flow\"\u003e\n\u003carticle class=\"we-flow-item\"\u003e\u003cspan class=\"we-flow-number\"\u003e STEP 01 \u003c\/span\u003e \u003cspan class=\"we-flow-title\"\u003e Fill \u003c\/span\u003e\n\u003cp class=\"we-flow-copy\"\u003eAdd small rewards to prepare the next enrichment session.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"we-flow-item\"\u003e\u003cspan class=\"we-flow-number\"\u003e STEP 02 \u003c\/span\u003e \u003cspan class=\"we-flow-title\"\u003e Nudge \u003c\/span\u003e\n\u003cp class=\"we-flow-copy\"\u003eA paw or nose starts the toy moving in a new direction.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"we-flow-item\"\u003e\u003cspan class=\"we-flow-number\"\u003e STEP 03 \u003c\/span\u003e \u003cspan class=\"we-flow-title\"\u003e Wobble \u003c\/span\u003e\n\u003cp class=\"we-flow-copy\"\u003eThe weighted shape shifts, rocks and works its way upright again.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"we-flow-item\"\u003e\u003cspan class=\"we-flow-number\"\u003e STEP 04 \u003c\/span\u003e \u003cspan class=\"we-flow-title\"\u003e Reward \u003c\/span\u003e\n\u003cp class=\"we-flow-copy\"\u003eDiscovery keeps curiosity connected to movement and persistence.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/section\u003e\n\u003c!-- =====================================================\n       THREE DETAIL IMAGES\n       ===================================================== --\u003e\n\u003cdiv class=\"we-gallery\"\u003e\n\u003c!-- IMAGE 01 --\u003e\n\u003cfigure class=\"we-image-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0763\/9036\/7322\/files\/9-6.png?v=1790065429\" alt=\"Wobble Egg self-righting enrichment toy design and features\" loading=\"eager\" decoding=\"async\"\u003e\n\u003cfigcaption class=\"we-image-caption\"\u003e\u003cspan class=\"we-image-number\"\u003e 01 \u003c\/span\u003e \u003cspan class=\"we-image-text\"\u003e \u003cstrong\u003e Designed to Come Back for More \u003c\/strong\u003e \u003cspan\u003e A rounded body and weighted lower section create the characteristic wobbling movement. \u003c\/span\u003e \u003c\/span\u003e\u003c\/figcaption\u003e\n\u003c\/figure\u003e\n\u003c!-- IMAGE 02 --\u003e\n\u003cfigure class=\"we-image-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0763\/9036\/7322\/files\/9-7.png?v=1790065429\" alt=\"Wobble Egg fill nudge and reward play sequence\" loading=\"lazy\" decoding=\"async\"\u003e\n\u003cfigcaption class=\"we-image-caption\"\u003e\u003cspan class=\"we-image-number\"\u003e 02 \u003c\/span\u003e \u003cspan class=\"we-image-text\"\u003e \u003cstrong\u003e Every Push Changes the Game \u003c\/strong\u003e \u003cspan\u003e Nudging creates movement, movement creates pursuit, and pursuit keeps the reward interesting. \u003c\/span\u003e \u003c\/span\u003e\u003c\/figcaption\u003e\n\u003c\/figure\u003e\n\u003c!-- IMAGE 03 --\u003e\n\u003cfigure class=\"we-image-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0763\/9036\/7322\/files\/9-8.png?v=1790065429\" alt=\"Wobble Egg weighted base and interactive movement details\" loading=\"lazy\" decoding=\"async\"\u003e\n\u003cfigcaption class=\"we-image-caption\"\u003e\u003cspan class=\"we-image-number\"\u003e 03 \u003c\/span\u003e \u003cspan class=\"we-image-text\"\u003e \u003cstrong\u003e Motion That Invites Another Try \u003c\/strong\u003e \u003cspan\u003e The self-righting rhythm gives pets a simple reason to nudge, follow and interact again. \u003c\/span\u003e \u003c\/span\u003e\u003c\/figcaption\u003e\n\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003c!-- =====================================================\n       BRAND PHILOSOPHY\n       ===================================================== --\u003e\n\u003csection class=\"we-philosophy\"\u003e\n\u003cdiv class=\"we-philosophy-inner\"\u003e\n\u003cspan class=\"we-philosophy-kicker\"\u003e CALORISSE™ · OUR PHILOSOPHY \u003c\/span\u003e\n\u003ch3 class=\"we-philosophy-title\"\u003eBond Through Play\u003c\/h3\u003e\n\u003cp class=\"we-philosophy-copy\"\u003eAt Calorisse™, we believe movement can turn a simple object into an invitation. A small push creates a response, that response creates curiosity, and curiosity keeps play moving forward. \u003cbr\u003e\u003cbr\u003eWobble Egg brings that cycle together with a reward at the center — fill, nudge, follow and begin again.\u003c\/p\u003e\n\u003cdiv class=\"we-philosophy-signature\"\u003eToys for the life you share.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Calorisse™","offers":[{"title":"Default Title","offer_id":44157884235866,"sku":"Calorisse009*1","price":55.9,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0763\/9036\/7322\/files\/9-2.png?v=1790065431","url":"https:\/\/calorisse.com\/products\/calorisse%e2%84%a2-wobble-egg","provider":"Calorisse","version":"1.0","type":"link"}