{"id":16401,"date":"2026-09-03T08:59:44","date_gmt":"2026-09-03T08:59:44","guid":{"rendered":"https:\/\/rb2f.com\/blogs\/?page_id=16401"},"modified":"2026-09-04T13:28:20","modified_gmt":"2026-09-04T13:28:20","slug":"the-hillcart-tales","status":"publish","type":"page","link":"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/","title":{"rendered":"The Hillcart Tales"},"content":{"rendered":"\n<style>\n\/* ==========================================================================\n   RB2F \u2014 The Whole Truth Case Study\n   Scoped build: every class\/id\/custom-property is prefixed \"rb2f-\" and all\n   selectors are namespaced under .rb2f-case-study so nothing here can\n   collide with the host page's own CSS.\n   ========================================================================== *\/\n\n.rb2f-case-study,\n.rb2f-case-study *,\n.rb2f-case-study *::before,\n.rb2f-case-study *::after {\n  box-sizing: border-box;\n}\n\n.rb2f-case-study {\n  \/* ---------------- Design tokens (scoped, not on :root) ---------------- *\/\n  --rb2f-background: #faf6ed;\n  --rb2f-foreground: #000000;\n  --rb2f-primary: #ed3d63;\n  --rb2f-primary-foreground: #faf6ed;\n  --rb2f-secondary: #efe7d3;\n  --rb2f-accent: #ed3d63;\n  --rb2f-accent-foreground: #241804;\n  --rb2f-muted-foreground: #000000;\n  --rb2f-card: #ffffff;\n  --rb2f-card-foreground: #1e2a1f;\n  --rb2f-border: #e3d9bf;\n  --rb2f-max-w: 1280px;\n\n  margin: 0;\n  background: var(--rb2f-background);\n  color: var(--rb2f-foreground);\n\n  -webkit-font-smoothing: antialiased;\n  text-rendering: optimizeLegibility;\n  line-height: 1.5;\n}\n\n:where(.rb2f-case-study) img { display: block; max-width: 100%; }\n:where(.rb2f-case-study) a { color: inherit; text-decoration: none; }\n:where(.rb2f-case-study) h1, :where(.rb2f-case-study) h2, :where(.rb2f-case-study) h3, :where(.rb2f-case-study) p { margin: 0; }\n:where(.rb2f-case-study) ul { margin: 0; padding: 0; }\n:where(.rb2f-case-study) button { font: inherit; }\n\/* :where() keeps this scoped to the widget without adding specificity, so\n   any single-class utility below (e.g. .rb2f-btn-accent, .rb2f-link-underline)\n   always wins over this reset \u2014 no more fighting the cascade. *\/\n\n.rb2f-container {\n  width: 100%;\n  max-width: var(--rb2f-max-w);\n  margin-inline: auto;\n  padding-inline: 1.5rem;\n}\n@media (min-width: 1024px) {\n  .rb2f-container { padding-inline: 2rem; }\n}\n\n.rb2f-icon { width: 1rem; height: 1rem; flex-shrink: 0; }\n\n\/* ---------------- Section label (eyebrow) ---------------- *\/\n.rb2f-eyebrow {\n  display: inline-block;\n  margin-bottom: 1.5rem;\n  font-size: 0.875rem;\n  font-weight: 500;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  color: var(--rb2f-accent);\n}\n\n\/* ---------------- Buttons ---------------- *\/\n.rb2f-btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5rem;\n  border-radius: 999px;\n  font-weight: 600;\n  transition: opacity 0.2s ease;\n  white-space: nowrap;\n}\n.rb2f-btn:hover { opacity: 0.9; }\n\n.rb2f-btn-primary {\n  background: var(--rb2f-primary);\n  color: var(--rb2f-primary-foreground);\n  padding: 0.625rem 1.25rem;\n  font-size: 0.9rem;\n}\n.rb2f-btn-accent {\n  background: white;\n  color: var(--rb2f-accent-foreground);\n  padding: 1rem 2rem;\n  font-size: 1rem;\n}\n\n\/* Wrap any standalone CTA button in this (on a .rb2f-container) to center\n   it \u2014 margin:auto alone won't center an inline-flex button like .rb2f-btn,\n   it needs an ancestor with text-align:center. *\/\n.rb2f-cta-row { text-align: center; margin-top: 2.5rem; }\n\n\/* ---------------- Hero ---------------- *\/\n.rb2f-hero {\n  position: relative;\n  overflow: hidden;\n  background: color-mix(in srgb, var(--rb2f-secondary) 55%, transparent);\n  padding: 3rem 0 5rem;\n}\n@media (min-width: 1024px) {\n  .rb2f-hero { padding: 8rem 0 4rem; }\n}\n\n.rb2f-hero-top-row {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1rem;\n  margin-bottom: 2.5rem;\n}\n\n.rb2f-hero-grid {\n  display: grid;\n  gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n  .rb2f-hero-grid {\n    grid-template-columns: 1.15fr 0.85fr;\n    align-items: center;\n    gap: 3.5rem;\n  }\n}\n\nh1.rb2f-hero-title {\n  font-size: 2.75rem;\n  line-height: 1.08;\n  letter-spacing: -0.01em;\n  text-wrap: balance;\n}\n@media (min-width: 640px) { h1.rb2f-hero-title { font-size: 3.5rem; } }\n@media (min-width: 1024px) { h1.rb2f-hero-title { font-size: 4.25rem; } }\n\n.rb2f-hero-title .rb2f-accent { color: var(--rb2f-primary); font-style: italic; }\n\n.rb2f-hero-copy {\n  margin-top: 2rem;\n  max-width: 56ch;\n  font-size: 1.125rem;\n  line-height: 1.7;\n  color: var(--rb2f-muted-foreground);\n}\n.rb2f-hero-copy strong { font-weight: 600; color: var(--rb2f-foreground); }\n\n.rb2f-hero-stats {\n  margin-top: 2.5rem;\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 1rem;\n}\n@media (min-width: 640px) { .rb2f-hero-stats { grid-template-columns: repeat(3, 1fr); } }\n\n.rb2f-stat-chip {\n  border-radius: 1rem;\n  background: var(--rb2f-card);\n  padding: 1.25rem;\n  box-shadow: 0 0 0 1px var(--rb2f-border) inset;\n}\n.rb2f-stat-chip .rb2f-num {\n  font-size: 2.25rem;\n  font-weight: 500;\n  letter-spacing: -0.02em;\n  color: var(--rb2f-primary);\n}\n.rb2f-stat-chip.rb2f-accent .rb2f-num { color: var(--rb2f-accent); }\n.rb2f-stat-chip.rb2f-plain .rb2f-num { color: var(--rb2f-foreground); }\n.rb2f-stat-chip .rb2f-cap {\n  margin-top: 0.375rem;\n  font-size: 0.875rem;\n  line-height: 1.35;\n  color: var(--rb2f-muted-foreground);\n}\n\n\/* Hero image + floating badge *\/\n.rb2f-hero-media { position: relative; }\n.rb2f-photo {\n  display: block;\n  width: 100%;\n\n  object-fit: cover;\n  background: var(--rb2f-secondary);\n}\n.rb2f-photo-hero {\n  border-radius: 2rem;\n  box-shadow: 0 25px 50px -12px rgba(30, 42, 31, 0.25), 0 0 0 1px var(--rb2f-border) inset;\n}\n.rb2f-photo-rounded {\n  border-radius: 1.5rem;\n  box-shadow: 0 0 0 1px var(--rb2f-border) inset;\n}\n.rb2f-photo-rounded-dark {\n  border-radius: 1.5rem;\n  box-shadow: 0 0 0 1px rgba(250, 246, 237, 0.12) inset;\n}\n.rb2f-aspect-hero { aspect-ratio: 4 \/ 5; }\n@media (min-width: 640px) { .rb2f-aspect-hero { aspect-ratio: 3 \/ 2; } }\n@media (min-width: 1024px) { .rb2f-aspect-hero { aspect-ratio: 4 \/ 5; } }\n.rb2f-aspect-execution { aspect-ratio: 4 \/ 5; }\n.rb2f-aspect-wide { aspect-ratio: 21 \/ 9; }\n\n.rb2f-floating-badge {\n  position: absolute;\n  right: -0.5rem;\n  bottom: 2rem;\n  max-width: 220px;\n  border-radius: 1rem;\n  background: var(--rb2f-card);\n  padding: 1.25rem;\n  box-shadow: 0 20px 25px -5px rgba(30, 42, 31, 0.2), 0 0 0 1px var(--rb2f-border) inset;\n}\n@media (min-width: 640px) { .rb2f-floating-badge { right: 1.5rem; } }\n@media (min-width: 1024px) { .rb2f-floating-badge { right: -1.5rem; } }\n.rb2f-floating-badge .rb2f-label {\n  font-size: 0.8rem;\n  font-weight: 500;\n  letter-spacing: 0.03em;\n  text-transform: uppercase;\n  color: var(--rb2f-muted-foreground);\n}\n.rb2f-floating-badge .rb2f-client-name {\n  margin-top: 0.25rem;\n  font-size: 1.375rem;\n}\n.rb2f-floating-badge .rb2f-client-desc {\n  margin-top: 0.25rem;\n  font-size: 0.875rem;\n  color: var(--rb2f-muted-foreground);\n}\n\n\/* ---------------- Generic section spacing ---------------- *\/\n.rb2f-section { padding: 3rem 0; }\n@media (min-width: 1024px) { .rb2f-section { padding: 3rem 0; } }\n.rb2f-section-tight { padding: 3rem 0; }\n@media (min-width: 1024px) { .rb2f-section-tight { padding: 3rem 0; } }\n\n.rb2f-section-band {\n  border-top: 1px solid var(--rb2f-border);\n  border-bottom: 1px solid var(--rb2f-border);\n  background: color-mix(in srgb, var(--rb2f-secondary) 55%, transparent);\n}\n\nh2.rb2f-section-title {\n  font-size: 2.25rem;\n  line-height: 1.15;\n  text-wrap: balance;\n}\n@media (min-width: 640px) { h2.rb2f-section-title { font-size: 3rem; } }\n\n.rb2f-section-body {\n  margin-top: 1.25rem;\n  font-size: 1.125rem;\n  line-height: 1.7;\n  color: var(--rb2f-muted-foreground);\n}\n\n.rb2f-link-underline {\n  color: var(--rb2f-primary);\n  font-weight: 500;\n  text-underline-offset: 4px;\n  text-decoration: underline;\n}\n.rb2f-link-underline.rb2f-accent { color: var(--rb2f-accent); font-weight: 400; }\n\n\/* ---------------- Quick summary ---------------- *\/\n.rb2f-summary-grid {\n  display: grid;\n  gap: 1.5rem;\n}\n@media (min-width: 768px) { .rb2f-summary-grid { grid-template-columns: repeat(2, 1fr); } }\n\n.rb2f-summary-card {\n  display: flex;\n  align-items: flex-start;\n  gap: 1rem;\n  height: 100%;\n  border-radius: 1rem;\n  background: var(--rb2f-card);\n  padding: 1.5rem;\n  box-shadow: 0 0 0 1px var(--rb2f-border) inset;\n}\n.rb2f-summary-card .rb2f-icon { margin-top: 0.2rem; color: var(--rb2f-primary); width: 1.25rem; height: 1.25rem; }\n.rb2f-summary-card p { line-height: 1.7; color: var(--rb2f-muted-foreground); }\n\n\/* ---------------- Challenge (two column) ---------------- *\/\n.rb2f-two-col {\n  display: grid;\n  gap: 3rem;\n}\n@media (min-width: 1024px) {\n  .rb2f-two-col { grid-template-columns: repeat(2, 1fr); align-items: start; }\n}\n.rb2f-two-col.rb2f-center { align-items: center; }\n.rb2f-two-col.rb2f-reverse-media { grid-template-columns: 1fr; }\n@media (min-width: 1024px) {\n  .rb2f-two-col.rb2f-reverse-media { grid-template-columns: repeat(2, 1fr); }\n}\n\n.rb2f-prose-lg { font-size: 1.125rem; line-height: 1.7; color: var(--rb2f-muted-foreground); }\n.rb2f-prose-lg > * + * { margin-top: 1.5rem; }\n\n\/* ---------------- Audit grid ---------------- *\/\n.rb2f-audit-grid {\n  display: grid;\n  gap: 1px;\n  overflow: hidden;\n  border-radius: 1.5rem;\n  background: var(--rb2f-border);\n  box-shadow: 0 0 0 1px var(--rb2f-border);\n}\n@media (min-width: 640px) { .rb2f-audit-grid { grid-template-columns: repeat(2, 1fr); } }\n@media (min-width: 1024px) { .rb2f-audit-grid { grid-template-columns: repeat(3, 1fr); } }\n\n.rb2f-audit-cell {\n  background: var(--rb2f-card);\n  padding: 2rem;\n}\n.rb2f-audit-cell .rb2f-index {\n  font-style: italic;\n  font-size: 1.75rem;\n  color: var(--rb2f-accent);\n}\n.rb2f-audit-cell h3 { margin-top: 1rem; font-weight: 600; }\n.rb2f-audit-cell p { margin-top: 0.5rem; font-size: 0.9rem; line-height: 1.6; color: var(--rb2f-muted-foreground); }\n\n.rb2f-audit-cell.rb2f-cta {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: color-mix(in srgb, var(--rb2f-secondary) 70%, var(--rb2f-card));\n  padding: 2rem;\n  text-align: center;\n}\n.rb2f-audit-cell.rb2f-cta a { font-size: 0.9rem; }\n\n\/* ---------------- Dark sections (execution \/ footer) ---------------- *\/\n.rb2f-section-dark {\n  background: var(--rb2f-primary);\n  color: var(--rb2f-background);\n}\n.rb2f-section-dark .rb2f-muted { color: color-mix(in srgb, var(--rb2f-background) 70%, transparent); }\n.rb2f-section-dark h3 { font-size: 1.125rem; font-weight: 600; }\n.rb2f-execution-steps { margin-top: 2.5rem; display: flex; flex-direction: column; gap: 2.5rem; }\n.rb2f-execution-steps h3 { font-size: 1.125rem; font-weight: 600; }\n.rb2f-execution-steps p { margin-top: 0.75rem; max-width: 46ch; line-height: 1.7; }\n.rb2f-execution-steps a { text-decoration: underline; text-underline-offset: 4px; color: var(--rb2f-accent); }\n\n\/* ---------------- Process tabs (Challenge \/ Audit \/ Execution) ---------------- *\/\n.rb2f-tabs-wrap {\n  display: grid;\n  gap: 1.5rem;\n}\n@media (min-width: 1024px) {\n  .rb2f-tabs-wrap { grid-template-columns: 272px 1fr; gap: 2.5rem; align-items: start; }\n}\n\n\/* Mobile \/ tablet: sticky row of 3 equal-width tabs.\n   --rb2f-sticky-offset defaults to 0 (sticks to the very top of the\n   viewport). If your WordPress theme has its own sticky\/fixed header, it\n   can overlap this and swallow clicks \u2014 override the offset from outside\n   this file, e.g.:\n     .rb2f-case-study { --rb2f-sticky-offset: 72px; --rb2f-sticky-offset-desktop: 72px; }\n   (use your theme's actual header height in px). *\/\n.rb2f-tab-list {\n  position: sticky;\n  top: var(--rb2f-sticky-offset, 0);\n  z-index: 20;\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 0.5rem;\n  background: var(--rb2f-background);\n  padding: 0.75rem 0 1rem;\n  border-bottom: 1px solid var(--rb2f-border);\n}\n\n\/* Desktop: vertical sticky sidebar, one column *\/\n@media (min-width: 1024px) {\n  .rb2f-tab-list {\n    grid-template-columns: 1fr;\n    gap: 0.375rem;\n    top: var(--rb2f-sticky-offset-desktop, 1.5rem);\n    padding: 0;\n    background: transparent;\n    border-bottom: none;\n  }\n}\n\n.rb2f-tab-indicator {\n  display: none;\n}\n@media (min-width: 1024px) {\n  .rb2f-tab-indicator {\n    display: block;\n    position: absolute;\n    left: 0;\n    top: 0;\n    width: 3px;\n    border-radius: 999px;\n    background: var(--rb2f-primary);\n    opacity: 0;\n    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), height 0.3s ease, opacity 0.2s ease;\n  }\n}\n\n.rb2f-tab-btn {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n  gap: 0.25rem;\n  min-width: 0;\n  border: none;\n  border-radius: 0.875rem;\n  background: transparent;\n  color: var(--rb2f-muted-foreground);\n  padding: 0.625rem 0.375rem;\n  cursor: pointer;\n  transition: background 0.25s ease, color 0.25s ease;\n}\n\n\/* Desktop: switch to a horizontal row per tab, left-aligned *\/\n@media (min-width: 1024px) {\n  .rb2f-tab-btn {\n    flex-direction: row;\n    align-items: center;\n    text-align: left;\n    gap: 0.875rem;\n    width: 100%;\n    padding: 0.875rem 1rem 0.875rem 1.25rem;\n  }\n}\n\n.rb2f-tab-btn .rb2f-tab-index {\n  font-style: italic;\n  font-size: 1.125rem;\n  color: var(--rb2f-accent);\n  flex-shrink: 0;\n}\n@media (min-width: 1024px) { .rb2f-tab-btn .rb2f-tab-index { font-size: 1.375rem; } }\n\n.rb2f-tab-btn .rb2f-tab-text { display: flex; flex-direction: column; align-items: center; min-width: 0; }\n@media (min-width: 1024px) { .rb2f-tab-btn .rb2f-tab-text { align-items: flex-start; } }\n\n.rb2f-tab-btn .rb2f-tab-label {\n  font-weight: 600;\n  font-size: 0.8rem;\n  line-height: 1.25;\n  color: var(--rb2f-foreground);\n}\n@media (min-width: 1024px) { .rb2f-tab-btn .rb2f-tab-label { font-size: 1rem; white-space: nowrap; } }\n\n\/* Subtitle only makes sense with room to breathe \u2014 desktop sidebar only *\/\n.rb2f-tab-btn .rb2f-tab-sub { display: none; }\n@media (min-width: 1024px) {\n  .rb2f-tab-btn .rb2f-tab-sub {\n    display: block;\n    margin-top: 0.125rem;\n    font-size: 0.8rem;\n    color: var(--rb2f-muted-foreground);\n    white-space: nowrap;\n  }\n}\n\n.rb2f-tab-btn .rb2f-tab-arrow {\n  display: none;\n}\n@media (min-width: 1024px) {\n  .rb2f-tab-btn .rb2f-tab-arrow {\n    display: block;\n    margin-left: auto;\n    flex-shrink: 0;\n    color: var(--rb2f-muted-foreground);\n    opacity: 0;\n    transform: translateX(-4px);\n    transition: opacity 0.25s ease, transform 0.25s ease;\n  }\n}\n\n.rb2f-tab-btn[aria-selected=\"true\"] {\n  background: var(--rb2f-card);\n  color: var(--rb2f-foreground);\n  box-shadow: 0 0 0 1px var(--rb2f-border) inset;\n}\n.rb2f-tab-btn[aria-selected=\"true\"] .rb2f-tab-arrow {\n  opacity: 1;\n  transform: translateX(0);\n  color: var(--rb2f-primary);\n}\n.rb2f-tab-btn:hover { background: color-mix(in srgb, var(--rb2f-card) 60%, transparent); }\n\n.rb2f-tab-panels { position: relative; }\n.rb2f-tab-panel { display: none; }\n.rb2f-tab-panel.rb2f-is-active { display: block; animation: rb2f-tabFade 0.4s ease; }\n@keyframes rb2f-tabFade {\n  from { opacity: 0; transform: translateY(10px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\n.rb2f-panel-card {\n  border-radius: 1.5rem;\n  background: var(--rb2f-card);\n  padding: 1.75rem;\n  box-shadow: 0 0 0 1px var(--rb2f-border) inset;\n}\n@media (min-width: 768px) { .rb2f-panel-card { padding: 2.5rem; } }\n\n.rb2f-panel-card.rb2f-dark {\n  background: var(--rb2f-primary);\n  color: var(--rb2f-background);\n  box-shadow: 0 0 0 1px rgba(250, 246, 237, 0.12) inset;\n}\n.rb2f-panel-card.rb2f-dark .rb2f-muted { color: color-mix(in srgb, var(--rb2f-background) 70%, transparent); }\n.rb2f-panel-card.rb2f-dark a { color: white; }\n\n.rb2f-panel-title {\n  font-size: 1.625rem;\n  line-height: 1.15;\n  text-wrap: balance;\n}\n@media (min-width: 640px) { .rb2f-panel-title { font-size: 2rem; } }\n\n\/* ---------------- Result stats ---------------- *\/\n.rb2f-result-grid {\n  display: grid;\n  gap: 1.5rem;\n}\n@media (min-width: 640px) { .rb2f-result-grid { grid-template-columns: repeat(3, 1fr); } }\n\n.rb2f-result-card {\n  height: 100%;\n  border-radius: 1.5rem;\n  border: 1px solid var(--rb2f-border);\n  background: var(--rb2f-card);\n  padding: 2rem;\n  text-align: center;\n}\n.rb2f-result-card .rb2f-num {\n  font-size: 3.5rem;\n  font-weight: 500;\n  letter-spacing: -0.02em;\n  color: var(--rb2f-primary);\n}\n.rb2f-result-card .rb2f-cap { margin-top: 0.75rem; font-weight: 600; }\n.rb2f-result-card .rb2f-body { margin-top: 0.5rem; font-size: 0.9rem; line-height: 1.6; color: var(--rb2f-muted-foreground); }\n\n.rb2f-center-head { margin-bottom: 3.5rem; text-align: center; }\n.rb2f-center-head h2 { margin-inline: auto; max-width: 24ch; }\n.rb2f-center-head p { margin-inline: auto; max-width: 52ch; }\n\n\/* ---------------- FAQ ---------------- *\/\n.rb2f-faq-wrap { max-width: 48rem; margin-inline: auto; }\n.rb2f-faq-list { margin-top: 3rem; display: flex; flex-direction: column; gap: 1rem; }\n\ndetails.rb2f-faq-item {\n  border-radius: 1rem;\n  background: var(--rb2f-card);\n  box-shadow: 0 0 0 1px var(--rb2f-border) inset;\n  overflow: hidden;\n}\ndetails.rb2f-faq-item summary {\n  display: flex;\n  cursor: pointer;\n  list-style: none;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1rem;\n  padding: 1.5rem;\n  font-weight: 600;\n}\ndetails.rb2f-faq-item summary::-webkit-details-marker { display: none; }\ndetails.rb2f-faq-item .rb2f-chevron {\n  color: var(--rb2f-muted-foreground);\n  transition: transform 0.25s ease;\n  width: 1rem; height: 1rem;\n  flex-shrink: 0;\n}\ndetails.rb2f-faq-item[open] .rb2f-chevron { transform: rotate(180deg); }\ndetails.rb2f-faq-item .rb2f-faq-answer {\n  padding: 0 1.5rem 1.5rem;\n  font-size: 0.9rem;\n  line-height: 1.7;\n  color: var(--rb2f-muted-foreground);\n}\n\n\/* ---------------- Footer ---------------- *\/\n.rb2f-footer-inner { max-width: 48rem; margin-inline: auto; text-align: center; }\n.rb2f-footer-copy { margin-top: 1.25rem; max-width: 48ch; margin-inline: auto; line-height: 1.7; }\n.rb2f-footer-cta { margin-top: 2.5rem; margin-left: auto; margin-right: auto; }\n\n\/* ---------------- Scroll reveal ---------------- *\/\n.rb2f-reveal {\n  opacity: 0;\n  transform: translateY(1.5rem);\n  transition: opacity 0.7s ease-out, transform 0.7s ease-out;\n}\n.rb2f-reveal.rb2f-is-visible {\n  opacity: 1;\n  transform: translateY(0);\n}\n@media (prefers-reduced-motion: reduce) {\n  .rb2f-reveal { opacity: 1; transform: none; transition: none; }\n}\n\n\/* ---------------- Focus ---------------- *\/\n:where(.rb2f-case-study) a:focus-visible,\n:where(.rb2f-case-study) summary:focus-visible,\n:where(.rb2f-case-study) button:focus-visible {\n  outline: 2px solid var(--rb2f-accent);\n  outline-offset: 2px;\n}\n<\/style>\n\n<div class=\"rb2f-case-study\">\n\n  <!-- ---------------- Hero ---------------- -->\n  <section class=\"rb2f-hero\">\n    <div class=\"rb2f-container\">\n      <div class=\"rb2f-hero-top-row rb2f-reveal\">\n        <span class=\"rb2f-eyebrow\">Case Study \u00b7 Digital Marketing Agency<\/span>\n        <a href=\"https:\/\/rb2f.com\/contact-us\" target=\"_blank\" rel=\"noreferrer\" class=\"rb2f-btn rb2f-btn-primary\">\n          Book a Revenue Audit\n          <svg class=\"rb2f-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 17L17 7\"\/><path d=\"M7 7h10v10\"\/><\/svg>\n        <\/a>\n      <\/div>\n\n      <div class=\"rb2f-hero-grid\">\n        <div class=\"rb2f-reveal\">\n          <h1 class=\"rb2f-hero-title\">How The Hillcart Tales Grew Revenue <span class=\"rb2f-accent\">247%<\/span> and Brand Recall 11X<\/h1>\n          <p class=\"rb2f-hero-copy\">\n            The Hillcart Tales has stood for fine, blended rare teas for over a century, with a legacy of\n            provenance and craft perfected across 120 years. RB2F worked as their digital marketing agency\n            to connect that legacy with a modern audience \u2014 across search, site, and media.\n          <\/p>\n\n          <div class=\"rb2f-hero-stats\">\n            <div class=\"rb2f-stat-chip\">\n              <div class=\"rb2f-num\">247%<\/div>\n              <div class=\"rb2f-cap\">Revenue growth<\/div>\n            <\/div>\n            <div class=\"rb2f-stat-chip rb2f-accent\">\n              <div class=\"rb2f-num\">11X<\/div>\n              <div class=\"rb2f-cap\">Lift in brand recall<\/div>\n            <\/div>\n            <div class=\"rb2f-stat-chip rb2f-plain\">\n              <div class=\"rb2f-num\">120<\/div>\n              <div class=\"rb2f-cap\">Years of tea legacy<\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"rb2f-reveal\" style=\"transition-delay:150ms\">\n          <div class=\"rb2f-hero-media\">\n            <img decoding=\"async\"\n              class=\"rb2f-photo rb2f-photo-hero rb2f-aspect-hero\"\n              src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/hillcart-bg-1.png\"\n              alt=\"Loose leaf tea \u2014 placeholder mockup image\"\n              loading=\"eager\"\n            \/>\n            <div class=\"rb2f-floating-badge\">\n              <span class=\"rb2f-label\">Client<\/span>\n              <div class=\"rb2f-client-name\">The Hillcart Tales<\/div>\n              <div class=\"rb2f-client-desc\">Fine, blended rare teas since 1900s<\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ---------------- Quick Summary ---------------- -->\n  <section class=\"rb2f-section-tight rb2f-section-band\">\n    <div class=\"rb2f-container\">\n      <div class=\"rb2f-reveal\">\n        <span class=\"rb2f-eyebrow\">Quick Summary<\/span>\n      <\/div>\n      <div class=\"rb2f-summary-grid\">\n        <div class=\"rb2f-reveal rb2f-summary-card\">\n          <svg class=\"rb2f-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><path d=\"M22 4L12 14.01l-3-3\"\/><\/svg>\n          <p>RB2F partnered with The Hillcart Tales on brand awareness campaigns and digital sales growth.<\/p>\n        <\/div>\n        <div class=\"rb2f-reveal rb2f-summary-card\" style=\"transition-delay:80ms\">\n          <svg class=\"rb2f-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><path d=\"M22 4L12 14.01l-3-3\"\/><\/svg>\n          <p>Work spanned strategy, website, social media, influencers, e-commerce content production, SEO, and paid media.<\/p>\n        <\/div>\n        <div class=\"rb2f-reveal rb2f-summary-card\" style=\"transition-delay:160ms\">\n          <svg class=\"rb2f-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><path d=\"M22 4L12 14.01l-3-3\"\/><\/svg>\n          <p>The rebuilt TheHillcartTales.com delivered seamless, SEO-strong e-commerce alongside the brand story.<\/p>\n        <\/div>\n        <div class=\"rb2f-reveal rb2f-summary-card\" style=\"transition-delay:240ms\">\n          <svg class=\"rb2f-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><path d=\"M22 4L12 14.01l-3-3\"\/><\/svg>\n          <p>The result: <b>247% revenue growth<\/b> and an <b>11X lift in brand recall<\/b>.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"rb2f-container rb2f-cta-row\">\n      <a href=\"https:\/\/rb2f.com\/contact-us\" target=\"_blank\" rel=\"noreferrer\" class=\"rb2f-btn rb2f-btn-accent\">\n        Book a Revenue Audit\n        <svg class=\"rb2f-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 17L17 7\"\/><path d=\"M7 7h10v10\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/section>\n\n  <!-- ---------------- Process Tabs: Challenge \/ Audit \/ Execution ---------------- -->\n  <section class=\"rb2f-section\" id=\"rb2f-process\">\n    <div class=\"rb2f-container\">\n      <div class=\"rb2f-reveal rb2f-center-head\" style=\"margin-bottom:3rem\">\n        <span class=\"rb2f-eyebrow\">Our Process<\/span>\n        <h2 class=\"rb2f-section-title\">The Journey, The Strategy &amp; The Execution<\/h2>\n        <p class=\"rb2f-section-body\">Three stages, one continuous fix \u2014 step through each one below.<\/p>\n      <\/div>\n\n      <div class=\"rb2f-reveal rb2f-tabs-wrap\">\n        <div class=\"rb2f-tab-list\" role=\"tablist\" aria-orientation=\"vertical\" aria-label=\"Case study process stages\">\n          <span class=\"rb2f-tab-indicator\" aria-hidden=\"true\"><\/span>\n\n          <button class=\"rb2f-tab-btn\" type=\"button\" role=\"tab\" id=\"rb2f-tab-challenge\" data-tab-target=\"rb2f-challenge\" aria-selected=\"true\" aria-controls=\"rb2f-panel-challenge\" tabindex=\"0\">\n            <span class=\"rb2f-tab-index\">01<\/span>\n            <span class=\"rb2f-tab-text\">\n              <span class=\"rb2f-tab-label\">The Journey<\/span>\n              <span class=\"rb2f-tab-sub\">A legacy, online<\/span>\n            <\/span>\n            <svg class=\"rb2f-icon rb2f-tab-arrow\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 18l6-6-6-6\"\/><\/svg>\n          <\/button>\n\n          <button class=\"rb2f-tab-btn\" type=\"button\" role=\"tab\" id=\"rb2f-tab-audit\" data-tab-target=\"rb2f-audit\" aria-selected=\"false\" aria-controls=\"rb2f-panel-audit\" tabindex=\"-1\">\n            <span class=\"rb2f-tab-index\">02<\/span>\n            <span class=\"rb2f-tab-text\">\n              <span class=\"rb2f-tab-label\">The Strategy<\/span>\n              <span class=\"rb2f-tab-sub\">Search, site &amp; media<\/span>\n            <\/span>\n            <svg class=\"rb2f-icon rb2f-tab-arrow\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 18l6-6-6-6\"\/><\/svg>\n          <\/button>\n\n          <button class=\"rb2f-tab-btn\" type=\"button\" role=\"tab\" id=\"rb2f-tab-execution\" data-tab-target=\"rb2f-execution\" aria-selected=\"false\" aria-controls=\"rb2f-panel-execution\" tabindex=\"-1\">\n            <span class=\"rb2f-tab-index\">03<\/span>\n            <span class=\"rb2f-tab-text\">\n              <span class=\"rb2f-tab-label\">The Execution<\/span>\n              <span class=\"rb2f-tab-sub\">What it delivered<\/span>\n            <\/span>\n            <svg class=\"rb2f-icon rb2f-tab-arrow\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 18l6-6-6-6\"\/><\/svg>\n          <\/button>\n        <\/div>\n\n        <div class=\"rb2f-tab-panels\">\n          <div class=\"rb2f-tab-panel rb2f-is-active\" role=\"tabpanel\" id=\"rb2f-panel-challenge\" data-tab-panel=\"rb2f-challenge\" aria-labelledby=\"rb2f-tab-challenge\" tabindex=\"0\">\n            <div class=\"rb2f-panel-card\">\n              <h3 class=\"rb2f-panel-title\">Bringing a 120-Year Tea Legacy Online<\/h3>\n              <div class=\"rb2f-prose-lg\" style=\"margin-top:1.25rem\">\n                <p>RB2F partnered with The Hillcart Tales to create brand awareness campaigns and boost sales through digital marketing. Using targeted consumer insights and data points, the team engaged consumers across multiple platforms, inducing a new degree of experimentation and exploration for unique tea blends.<\/p>\n                <p>The broader brand strategy centered on creating brand affinity and positioning The Hillcart Tales as a connoisseur of fine tastes \u2014 using social and digital innovation to set a new benchmark in how people connect with tea and brew brands.<\/p>\n                <p><b>Solution offered:<\/b> Strategy, Website, Social Media, Influencers, eCommerce Content Production, SEO and Paid Media.<\/p>\n              <\/div>\n              <img decoding=\"async\"\n                class=\"rb2f-photo rb2f-photo-rounded rb2f-aspect-wide\"\n                style=\"margin-top:2rem\"\n                src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2026\/09\/2.jpg\"\n                alt=\"Tea blends flat lay \u2014 placeholder mockup image\"\n                loading=\"lazy\"\n              \/>\n            <\/div>\n          <\/div>\n\n          <div class=\"rb2f-tab-panel\" role=\"tabpanel\" id=\"rb2f-panel-audit\" data-tab-panel=\"rb2f-audit\" aria-labelledby=\"rb2f-tab-audit\" tabindex=\"0\">\n            <div class=\"rb2f-panel-card\">\n              <h3 class=\"rb2f-panel-title\" style=\"max-width:24ch\">Connecting the Dots Between Search, Site, and Media<\/h3>\n              <p style=\"margin-top:1rem; max-width:52ch; line-height:1.7; color:var(--rb2f-muted-foreground)\">\n                Two connected tracks carried the strategy \u2014 one for commerce, one for the brand:\n              <\/p>\n\n              <div class=\"rb2f-audit-grid\" style=\"margin-top:2rem; box-shadow:none; border-radius:1rem;\">\n                <div class=\"rb2f-audit-cell\">\n                  <span class=\"rb2f-index\">01<\/span>\n                  <h3>Experiential commerce<\/h3>\n                  <p>The rebuilt TheHillcartTales.com delivers seamless, responsive e-commerce \u2014 showcasing the brand story and contextually promoting products, all backed by strong SEO. Revenue growth: 247%.<\/p>\n                <\/div>\n                <div class=\"rb2f-audit-cell\">\n                  <span class=\"rb2f-index\">02<\/span>\n                  <h3>Building the brand<\/h3>\n                  <p>Integrated media and brand marketing strategies \u2014 spanning video, digital, and influencer partnerships \u2014 grew awareness and recall across the funnel. Brand recall lift: 11X.<\/p>\n                <\/div>\n                <div class=\"rb2f-audit-cell rb2f-cta\">\n                  <a href=\"https:\/\/rb2f.com\/services\/seo-aeo-optimization.php\" target=\"_blank\" rel=\"noreferrer\" class=\"rb2f-link-underline\">See our SEO work \u2192<\/a>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"rb2f-tab-panel\" role=\"tabpanel\" id=\"rb2f-panel-execution\" data-tab-panel=\"rb2f-execution\" aria-labelledby=\"rb2f-tab-execution\" tabindex=\"0\">\n            <div class=\"rb2f-panel-card rb2f-dark\">\n              <h3 class=\"rb2f-panel-title\">Strategy, Site, and Media in One Funnel<\/h3>\n              <p class=\"rb2f-muted\" style=\"margin-top:1rem; line-height:1.7;\">RB2F&#8217;s execution spanned every layer of the funnel, from the site itself to the media surrounding it.<\/p>\n\n              <div class=\"rb2f-execution-steps\" style=\"margin-top:2rem\">\n                <div>\n                  <h3>Rebuilt the commerce site.<\/h3>\n                  <p class=\"rb2f-muted\">\n                    <a href=\"https:\/\/rb2f.com\/services\/revenue-growth.php\" target=\"_blank\" rel=\"noreferrer\">Digital marketing<\/a>\n                    work started with TheHillcartTales.com \u2014 seamless e-commerce backed by strong SEO.\n                  <\/p>\n                <\/div>\n                <div>\n                  <h3>Then integrated brand media.<\/h3>\n                  <p class=\"rb2f-muted\">Video, digital, and influencer partnerships layered on top, growing awareness across the funnel.<\/p>\n                <\/div>\n                <div>\n                  <h3>Consumer insight throughout.<\/h3>\n                  <p class=\"rb2f-muted\">Targeted consumer insights and data points engaged shoppers across multiple platforms, driving exploration of the brand&#8217;s unique tea blends.<\/p>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ---------------- The Result ---------------- -->\n  <section class=\"rb2f-section\">\n    <div class=\"rb2f-container\">\n      <div class=\"rb2f-reveal rb2f-center-head\">\n        <span class=\"rb2f-eyebrow\">The Result<\/span>\n        <h2 class=\"rb2f-section-title\">247% Revenue Growth, 11X Brand Recall<\/h2>\n        <p class=\"rb2f-section-body\">A rebuilt e-commerce site combined with integrated media drove results across the funnel:<\/p>\n      <\/div>\n\n      <div class=\"rb2f-result-grid\">\n        <div class=\"rb2f-reveal rb2f-result-card\">\n          <div class=\"rb2f-num\">247%<\/div>\n          <p class=\"rb2f-cap\">Revenue growth<\/p>\n          <p class=\"rb2f-body\">Driven by a rebuilt e-commerce site combining brand storytelling with strong SEO performance.<\/p>\n        <\/div>\n        <div class=\"rb2f-reveal rb2f-result-card\" style=\"transition-delay:100ms\">\n          <div class=\"rb2f-num\">11X<\/div>\n          <p class=\"rb2f-cap\">Lift in brand recall<\/p>\n          <p class=\"rb2f-body\">Integrated video, digital, and influencer strategy driving sustained awareness.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ---------------- FAQ ---------------- -->\n  <section class=\"rb2f-section rb2f-section-band\">\n    <div class=\"rb2f-container rb2f-faq-wrap\">\n      <div class=\"rb2f-reveal\">\n        <h2 class=\"rb2f-section-title\" style=\"text-align:center\">Frequently Asked Questions<\/h2>\n      <\/div>\n\n      <div class=\"rb2f-faq-list\">\n        <details class=\"rb2f-faq-item rb2f-reveal\" open>\n          <summary>\n            <span>How did RB2F grow The Hillcart Tales&#8217; revenue by 247%?<\/span>\n            <svg class=\"rb2f-icon rb2f-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n          <\/summary>\n          <div class=\"rb2f-faq-answer\">RB2F rebuilt TheHillcartTales.com for seamless, SEO-strong e-commerce and ran integrated brand campaigns across social, influencer, and paid media \u2014 connecting search, site, and media into one strategy.<\/div>\n        <\/details>\n\n        <details class=\"rb2f-faq-item rb2f-reveal\" style=\"transition-delay:60ms\">\n          <summary>\n            <span>What services did RB2F provide for The Hillcart Tales?<\/span>\n            <svg class=\"rb2f-icon rb2f-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n          <\/summary>\n          <div class=\"rb2f-faq-answer\">Strategy, website development, social media, influencer partnerships, e-commerce content production, SEO, and paid media.<\/div>\n        <\/details>\n\n        <details class=\"rb2f-faq-item rb2f-reveal\" style=\"transition-delay:120ms\">\n          <summary>\n            <span>What was the impact on brand recall?<\/span>\n            <svg class=\"rb2f-icon rb2f-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n          <\/summary>\n          <div class=\"rb2f-faq-answer\">Brand recall grew 11X through integrated media and brand marketing strategies spanning video, digital, and influencer partnerships.<\/div>\n        <\/details>\n\n        <details class=\"rb2f-faq-item rb2f-reveal\" style=\"transition-delay:180ms\">\n          <summary>\n            <span>Does RB2F work with premium and legacy D2C brands?<\/span>\n            <svg class=\"rb2f-icon rb2f-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n          <\/summary>\n          <div class=\"rb2f-faq-answer\">Yes \u2014 The Hillcart Tales is a 120-year-old premium tea brand, and this case study covers RB2F&#8217;s full-funnel digital marketing work bringing that legacy online.<\/div>\n        <\/details>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ---------------- Footer CTA ---------------- -->\n  <section class=\"rb2f-section rb2f-section-dark\">\n    <div class=\"rb2f-container rb2f-footer-inner\">\n      <h2 class=\"rb2f-section-title\">Is your legacy brand invisible online?<\/h2>\n      <p class=\"rb2f-muted rb2f-footer-copy\">Let an RB2F audit find the gaps in your site, SEO, and brand media \u2014 the same playbook that grew The Hillcart Tales&#8217; revenue 247%.<\/p>\n      <a href=\"https:\/\/rb2f.com\/contact-us\" target=\"_blank\" rel=\"noreferrer\" class=\"rb2f-btn rb2f-btn-accent rb2f-footer-cta\">\n        Book a Revenue Audit\n        <svg class=\"rb2f-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 17L17 7\"\/><path d=\"M7 7h10v10\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/section>\n\n<\/div>\n<script>\n(function () {\n  function initCaseStudy(root) {\n    if (!root || root.getAttribute('data-rb2f-ready') === '1') return;\n    root.setAttribute('data-rb2f-ready', '1');\n\n    \/\/ ---------------- Scroll reveal ----------------\n    var revealEls = root.querySelectorAll('.rb2f-reveal');\n    if ('IntersectionObserver' in window) {\n      var observer = new IntersectionObserver(function (entries) {\n        entries.forEach(function (entry) {\n          if (entry.isIntersecting) {\n            entry.target.classList.add('rb2f-is-visible');\n            observer.unobserve(entry.target);\n          }\n        });\n      }, { threshold: 0.12 });\n      revealEls.forEach(function (el) { observer.observe(el); });\n    } else {\n      revealEls.forEach(function (el) { el.classList.add('rb2f-is-visible'); });\n    }\n\n    \/\/ ---------------- Process tabs ----------------\n    var tabList = root.querySelector('.rb2f-tab-list');\n    if (!tabList) return;\n    var tabButtons = Array.prototype.slice.call(root.querySelectorAll('.rb2f-tab-btn'));\n    var panels = Array.prototype.slice.call(root.querySelectorAll('.rb2f-tab-panel'));\n    var indicator = root.querySelector('.rb2f-tab-indicator');\n\n    function moveIndicator() {\n      if (!indicator) return;\n      if (window.innerWidth < 1024) { indicator.style.opacity = '0'; return; }\n      var active = tabList.querySelector('.rb2f-tab-btn[aria-selected=\"true\"]');\n      if (!active) return;\n      indicator.style.opacity = '1';\n      indicator.style.transform = 'translateY(' + active.offsetTop + 'px)';\n      indicator.style.height = active.offsetHeight + 'px';\n    }\n\n    function getStickyOffset() {\n      var computedTop = parseFloat(window.getComputedStyle(tabList).top) || 0;\n      if (window.innerWidth < 1024) {\n        var tabH = tabList.offsetHeight || 96;\n        return computedTop + tabH + 12;\n      }\n      return computedTop + 24;\n    }\n\n    function scrollToPanelTop() {\n      var activePanel = root.querySelector('.rb2f-tab-panel.rb2f-is-active');\n      if (!activePanel) return;\n      var rect = activePanel.getBoundingClientRect();\n      var offset = getStickyOffset();\n      if (rect.top < offset) {\n        var targetY = window.scrollY + rect.top - offset;\n        window.scrollTo({ top: Math.max(targetY, 0), behavior: 'smooth' });\n      }\n    }\n\n    function activate(targetId, focusButton) {\n      tabButtons.forEach(function (btn) {\n        var selected = btn.getAttribute('data-tab-target') === targetId;\n        btn.setAttribute('aria-selected', selected ? 'true' : 'false');\n        btn.tabIndex = selected ? 0 : -1;\n        if (selected) {\n          if (focusButton) { btn.focus(); }\n        }\n      });\n      panels.forEach(function (panel) {\n        panel.classList.toggle('rb2f-is-active', panel.getAttribute('data-tab-panel') === targetId);\n      });\n      moveIndicator();\n      scrollToPanelTop();\n    }\n\n    tabButtons.forEach(function (btn, idx) {\n      btn.addEventListener('click', function () {\n        activate(btn.getAttribute('data-tab-target'), false);\n      });\n      btn.addEventListener('keydown', function (e) {\n        var nextIdx = null;\n        if (e.key === 'ArrowDown' || e.key === 'ArrowRight') nextIdx = (idx + 1) % tabButtons.length;\n        else if (e.key === 'ArrowUp' || e.key === 'ArrowLeft') nextIdx = (idx - 1 + tabButtons.length) % tabButtons.length;\n        else if (e.key === 'Home') nextIdx = 0;\n        else if (e.key === 'End') nextIdx = tabButtons.length - 1;\n        if (nextIdx !== null) {\n          e.preventDefault();\n          activate(tabButtons[nextIdx].getAttribute('data-tab-target'), true);\n        }\n      });\n    });\n\n    window.addEventListener('resize', moveIndicator);\n    moveIndicator();\n  }\n\n  function initAll() {\n    var roots = document.querySelectorAll('.rb2f-case-study');\n    for (var i = 0; i < roots.length; i++) { initCaseStudy(roots[i]); }\n  }\n\n  \/\/ Guard against the block's script running before the DOM (or the block\n  \/\/ itself) is actually in the page \u2014 e.g. if a page builder, lazy-load, or\n  \/\/ caching plugin defers\/re-injects this HTML.\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initAll);\n  } else {\n    initAll();\n  }\n})();\n<\/script>\n\n\n<style>\r\n  \/* Scoped under .rb2f-slider \u2014 :where() keeps these resets at zero\r\n     specificity so nothing here fights the rest of the page's CSS. *\/\r\n  .rb2f-slider {\r\n    --rb2f-slider-bg: #faf6ed;\r\n    --rb2f-slider-fg: #000000;\r\n    --rb2f-slider-accent: #ed3d63;\r\n    --rb2f-slider-muted: #6e6656;\r\n    --rb2f-slider-card: #ffffff;\r\n    --rb2f-slider-border: #e3d9bf;\r\n\r\n    margin: 2rem 0;\r\n  }\r\n  :where(.rb2f-slider) *,\r\n  :where(.rb2f-slider) *::before,\r\n  :where(.rb2f-slider) *::after {\r\n    box-sizing: border-box;\r\n  }\r\n  :where(.rb2f-slider) a {\r\n    color: inherit;\r\n    text-decoration: none;\r\n  }\r\n  :where(.rb2f-slider) img {\r\n    display: block;\r\n    max-width: 100%;\r\n  }\r\n  :where(.rb2f-slider) h3 {\r\n    margin: 0;\r\n  }\r\n  :where(.rb2f-slider) button {\r\n    font: inherit;\r\n  }\r\n\r\n  .rb2f-slider-row {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.75rem;\r\n  }\r\n\r\n  .rb2f-slider-nav {\r\n    flex: 0 0 auto;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    width: 2.75rem;\r\n    height: 2.75rem;\r\n    border-radius: 999px;\r\n    border: 1px solid var(--rb2f-slider-border);\r\n    background: var(--rb2f-slider-card);\r\n    color: var(--rb2f-slider-fg);\r\n    cursor: pointer;\r\n    transition: opacity 0.2s ease, border-color 0.2s ease;\r\n  }\r\n  .rb2f-slider-nav:hover {\r\n    border-color: var(--rb2f-slider-accent);\r\n  }\r\n  .rb2f-slider-nav[disabled] {\r\n    opacity: 0.35;\r\n    cursor: default;\r\n    pointer-events: none;\r\n  }\r\n  .rb2f-slider-nav svg {\r\n    width: 1.1rem;\r\n    height: 1.1rem;\r\n  }\r\n\r\n  .rb2f-slider-track {\r\n    flex: 1 1 auto;\r\n    display: flex;\r\n    gap: 1rem;\r\n    overflow-x: auto;\r\n    scroll-snap-type: x mandatory;\r\n    scroll-behavior: smooth;\r\n    padding: 0.25rem 0.25rem 1rem;\r\n    scrollbar-width: none;\r\n    -ms-overflow-style: none;\r\n  }\r\n  .rb2f-slider-track::-webkit-scrollbar {\r\n    display: none;\r\n  }\r\n\r\n  .rb2f-slider-card {\r\n    flex: 0 0 auto;\r\n    width: 260px;\r\n    scroll-snap-align: start;\r\n    border-radius: 1rem;\r\n    background: var(--rb2f-slider-card);\r\n    border: 1px solid var(--rb2f-slider-border);\r\n    overflow: hidden;\r\n    transition: transform 0.2s ease, box-shadow 0.2s ease;\r\n  }\r\n  @media (min-width: 640px) {\r\n    .rb2f-slider-card { width: 300px; }\r\n  }\r\n  .rb2f-slider-card:hover {\r\n    transform: translateY(-3px);\r\n    box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.2);\r\n  }\r\n\r\n  .rb2f-slider-card-link {\r\n    display: block;\r\n  }\r\n  .rb2f-slider-card-image {\r\n   \r\n    overflow: hidden;\r\n    background: var(--rb2f-slider-bg);\r\n  }\r\n  .rb2f-slider-card-image img {\r\n    width: 100%;\r\n   \r\n    object-fit: cover;\r\n  }\r\n  .rb2f-slider-card-body {\r\n    padding: 1.1rem 1.25rem 1.4rem;\r\n  }\r\n  .rb2f-slider-card-title {\r\n    font-size: 1.05rem;\r\n    font-weight: 600;\r\n    line-height: 1.35;\r\n    color: var(--rb2f-slider-fg);\r\n  }\r\n  .rb2f-slider-card-tagline {\r\n    margin: 0.4rem 0 0;\r\n    font-size: 0.85rem;\r\n    line-height: 1.5;\r\n    color: var(--rb2f-slider-muted);\r\n  }\r\n<\/style>\r\n\r\n<div class=\"rb2f-slider\">\r\n  <div class=\"rb2f-slider-row\">\r\n    <button type=\"button\" class=\"rb2f-slider-nav rb2f-slider-prev\" aria-label=\"Previous\">\r\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 18l-6-6 6-6\"\/><\/svg>\r\n    <\/button>\r\n\r\n    <div class=\"rb2f-slider-track\">\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/the-whole-truth\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/truth-bg.png\" alt=\"The Whole Truth\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">The Whole Truth<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">No BS. Just serious growth.<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/bliss-club\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/bliss-bg.png\" alt=\"Bliss Club\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Bliss Club<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">Stretch, scale, repeat.<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/sparkles\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/11\/Sparkles-card-thumbnail-jpg.jpg\" alt=\"Sparkles\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Sparkles<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">A 30-year legacy that found its shine online.<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/curious-cub\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/11\/curiouscub.jpg\" alt=\"Curious Cub\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Curious Cub<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">Piecing growth together, one product at a time.<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/royal-oak\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/11\/RoyalOak-960-03.jpg\" alt=\"Royal Oak\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Royal Oak<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">A little 'polish' that elevated their digital growth!<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/neemans\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/11\/Neemans.jpg\" alt=\"Neeman's\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Neeman's<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">A stride to success.<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/zivame\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/11\/Zivame-960.jpg\" alt=\"Zivame\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Zivame<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">From core comfort to high growth.<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/shisenfox\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/shisenfox-bg.png\" alt=\"Shisenfox\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Shisenfox<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">Turning eyewear into identity.<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/hinduja-group\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/hinduja-bg-1.png\" alt=\"Hinduja Group\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Hinduja Group<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">Made a network speak 'digital'!<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/iksula\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/iksula-12.png\" alt=\"Iksula\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Iksula<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">E-comm got its suit tailored.<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/absorbia\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/absorbia-bg.png\" alt=\"Absorbia\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Absorbia<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">'Dampness' flipped into damn good brand positioning!<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/sugar-cosmetics\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/sugar-bg-1.png\" alt=\"Sugar\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">Sugar<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">Beauty, clicks, and a whole lot of traction!<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"rb2f-slider-card\">\r\n        <a class=\"rb2f-slider-card-link\" href=\"https:\/\/rb2f.com\/work\/the-hillcart-tales\">\r\n          <div class=\"rb2f-slider-card-image\">\r\n            <img decoding=\"async\" src=\"https:\/\/rb2f.com\/blogs\/wp-content\/uploads\/2025\/06\/hillcart-bg-1.png\" alt=\"The Hillcart Tales\">\r\n          <\/div>\r\n          <div class=\"rb2f-slider-card-body\">\r\n            <h3 class=\"rb2f-slider-card-title\">The Hillcart Tales<\/h3>\r\n            <p class=\"rb2f-slider-card-tagline\">We gave tea a brand voice. It spoke elegance!<\/p>\r\n          <\/div>\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <button type=\"button\" class=\"rb2f-slider-nav rb2f-slider-next\" aria-label=\"Next\">\r\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 18l6-6-6-6\"\/><\/svg>\r\n    <\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  function initSlider(root) {\r\n    if (!root || root.getAttribute('data-rb2f-slider-ready') === '1') return;\r\n    root.setAttribute('data-rb2f-slider-ready', '1');\r\n\r\n    var track = root.querySelector('.rb2f-slider-track');\r\n    var prevBtn = root.querySelector('.rb2f-slider-prev');\r\n    var nextBtn = root.querySelector('.rb2f-slider-next');\r\n    var cards = Array.prototype.slice.call(root.querySelectorAll('.rb2f-slider-card'));\r\n    if (!track) return;\r\n\r\n    function stepSize() {\r\n      if (!cards.length) return track.clientWidth;\r\n      var trackStyles = window.getComputedStyle(track);\r\n      var gap = parseFloat(trackStyles.columnGap || trackStyles.gap) || 0;\r\n      return cards[0].getBoundingClientRect().width + gap;\r\n    }\r\n\r\n    function updateNavState() {\r\n      if (!prevBtn || !nextBtn) return;\r\n      var maxScroll = track.scrollWidth - track.clientWidth - 1;\r\n      prevBtn.disabled = track.scrollLeft <= 0;\r\n      nextBtn.disabled = track.scrollLeft >= maxScroll;\r\n    }\r\n\r\n    if (prevBtn) {\r\n      prevBtn.addEventListener('click', function () {\r\n        track.scrollBy({ left: -stepSize(), behavior: 'smooth' });\r\n      });\r\n    }\r\n    if (nextBtn) {\r\n      nextBtn.addEventListener('click', function () {\r\n        track.scrollBy({ left: stepSize(), behavior: 'smooth' });\r\n      });\r\n    }\r\n\r\n    track.addEventListener('scroll', function () {\r\n      window.requestAnimationFrame(updateNavState);\r\n    }, { passive: true });\r\n\r\n    window.addEventListener('resize', updateNavState);\r\n    updateNavState();\r\n  }\r\n\r\n  function initAll() {\r\n    var roots = document.querySelectorAll('.rb2f-slider');\r\n    for (var i = 0; i < roots.length; i++) { initSlider(roots[i]); }\r\n  }\r\n\r\n  if (document.readyState === 'loading') {\r\n    document.addEventListener('DOMContentLoaded', initAll);\r\n  } else {\r\n    initAll();\r\n  }\r\n})();\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Case Study \u00b7 Digital Marketing Agency Book a Revenue Audit How The Hillcart Tales Grew Revenue 247% and Brand Recall 11X The Hillcart Tales has stood for fine, blended rare teas for over a century, with a legacy of provenance and craft perfected across 120 years. RB2F worked as their digital marketing agency to connect [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-16401","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Hillcart Tales - RB2F<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Hillcart Tales - RB2F\" \/>\n<meta property=\"og:description\" content=\"Case Study \u00b7 Digital Marketing Agency Book a Revenue Audit How The Hillcart Tales Grew Revenue 247% and Brand Recall 11X The Hillcart Tales has stood for fine, blended rare teas for over a century, with a legacy of provenance and craft perfected across 120 years. RB2F worked as their digital marketing agency to connect [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/\" \/>\n<meta property=\"og:site_name\" content=\"RB2F\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-04T13:28:20+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/\",\"url\":\"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/\",\"name\":\"The Hillcart Tales - RB2F\",\"isPartOf\":{\"@id\":\"https:\/\/rb2f.com\/blogs\/#website\"},\"datePublished\":\"2026-09-03T08:59:44+00:00\",\"dateModified\":\"2026-09-04T13:28:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rb2f.com\/blogs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Hillcart Tales\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rb2f.com\/blogs\/#website\",\"url\":\"https:\/\/rb2f.com\/blogs\/\",\"name\":\"RB2F\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rb2f.com\/blogs\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Hillcart Tales - RB2F","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/","og_locale":"en_US","og_type":"article","og_title":"The Hillcart Tales - RB2F","og_description":"Case Study \u00b7 Digital Marketing Agency Book a Revenue Audit How The Hillcart Tales Grew Revenue 247% and Brand Recall 11X The Hillcart Tales has stood for fine, blended rare teas for over a century, with a legacy of provenance and craft perfected across 120 years. RB2F worked as their digital marketing agency to connect [&hellip;]","og_url":"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/","og_site_name":"RB2F","article_modified_time":"2026-09-04T13:28:20+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/","url":"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/","name":"The Hillcart Tales - RB2F","isPartOf":{"@id":"https:\/\/rb2f.com\/blogs\/#website"},"datePublished":"2026-09-03T08:59:44+00:00","dateModified":"2026-09-04T13:28:20+00:00","breadcrumb":{"@id":"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/rb2f.com\/blogs\/work\/the-hillcart-tales\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rb2f.com\/blogs\/"},{"@type":"ListItem","position":2,"name":"The Hillcart Tales"}]},{"@type":"WebSite","@id":"https:\/\/rb2f.com\/blogs\/#website","url":"https:\/\/rb2f.com\/blogs\/","name":"RB2F","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rb2f.com\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/rb2f.com\/blogs\/wp-json\/wp\/v2\/pages\/16401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rb2f.com\/blogs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rb2f.com\/blogs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rb2f.com\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/rb2f.com\/blogs\/wp-json\/wp\/v2\/comments?post=16401"}],"version-history":[{"count":5,"href":"https:\/\/rb2f.com\/blogs\/wp-json\/wp\/v2\/pages\/16401\/revisions"}],"predecessor-version":[{"id":16485,"href":"https:\/\/rb2f.com\/blogs\/wp-json\/wp\/v2\/pages\/16401\/revisions\/16485"}],"wp:attachment":[{"href":"https:\/\/rb2f.com\/blogs\/wp-json\/wp\/v2\/media?parent=16401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}