/** Shopify CDN: Minification failed

Line 373:2 Unexpected "{"
Line 373:3 Expected identifier but found "%"
Line 374:56 Unexpected "("
Line 378:3 Expected identifier but found "%"
Line 559:2 Unexpected "{"
Line 559:3 Expected identifier but found "%"
Line 559:25 Expected identifier but found whitespace
Line 559:101 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:bestsellers (INDEX:7) */
.bj-section { padding-block: var(--space-xl); }
  .bj-bestsellers__head { max-width: 56ch; margin-bottom: var(--space-md); }
  .bj-bestsellers__sub { color: var(--color-muted); margin-top: var(--space-xs); }
  .bj-bestsellers__footer { display: flex; justify-content: center; margin-top: var(--space-md); }
/* END_SECTION:bestsellers */

/* START_SECTION:blog-featured (INDEX:29) */
.bj-journal-featured { padding-block: var(--space-lg) var(--space-md); }
  .bj-journal-featured__eyebrow { margin-bottom: var(--space-sm); }
  .bj-journal-featured__card {
    display: grid; grid-template-columns: 1fr; gap: var(--space-md);
    text-decoration: none; color: inherit;
    background: var(--color-surface); border-radius: var(--radius-md);
    overflow: hidden; box-shadow: var(--shadow-card-rest);
    transition: box-shadow var(--duration-hover) var(--ease-editorial), transform var(--duration-hover) var(--ease-editorial);
  }
  @media (min-width: 768px) { .bj-journal-featured__card { grid-template-columns: 1.1fr 1fr; align-items: stretch; } }
  .bj-journal-featured__card:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-4px); }
  .bj-journal-featured__media { aspect-ratio: 16 / 10; background: var(--color-hairline); overflow: hidden; }
  @media (min-width: 768px) { .bj-journal-featured__media { aspect-ratio: auto; height: 100%; } }
  .bj-journal-featured__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-slow) var(--ease-editorial); }
  .bj-journal-featured__card:hover .bj-journal-featured__media img { transform: scale(1.03); }
  .bj-journal-featured__body { padding: var(--space-md); display: flex; flex-direction: column; gap: var(--space-xs); align-self: center; }
  @media (min-width: 768px) { .bj-journal-featured__body { padding: var(--space-lg); } }
  .bj-journal-featured__title { margin-top: var(--space-xs); }
  .bj-journal-featured__excerpt { color: var(--color-muted); }
  .bj-journal-featured__cta { margin-top: var(--space-xs); }
/* END_SECTION:blog-featured */

/* START_SECTION:blog-hero (INDEX:30) */
.bj-journal-hero {
    position: relative;
    padding-block: var(--space-xl) var(--space-lg);
    background: var(--color-surface-warm);
    overflow: hidden;
  }
  .bj-journal-hero::before,
  .bj-journal-hero::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(48px);
    opacity: 0.35;
    pointer-events: none;
  }
  .bj-journal-hero::before {
    width: 320px; height: 320px;
    background: var(--color-accent);
    top: -120px; right: -80px;
  }
  .bj-journal-hero::after {
    width: 260px; height: 260px;
    background: var(--color-primary);
    bottom: -140px; left: -60px;
    opacity: 0.18;
  }
  .bj-journal-hero__inner { position: relative; max-width: 720px; }
  .bj-journal-hero__eyebrow { margin-bottom: var(--space-sm); }
  .bj-journal-hero__subheading { color: var(--color-muted); margin-top: var(--space-sm); max-width: 58ch; }
  .bj-journal-hero__cta { margin-top: var(--space-md); }
/* END_SECTION:blog-hero */

/* START_SECTION:blog-shop-cta (INDEX:31) */
.bj-journal-cta { padding-block: var(--space-lg) var(--space-xl); }
  .bj-journal-cta__inner {
    background: var(--color-surface-warm); border-radius: var(--radius-md);
    padding: var(--space-lg) var(--space-md); text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: var(--space-sm);
  }
  @media (min-width: 768px) { .bj-journal-cta__inner { padding: var(--space-lg); } }
  .bj-journal-cta__copy { color: var(--color-muted); max-width: 56ch; }
  .bj-journal-cta__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); justify-content: center; margin-top: var(--space-xs); }
/* END_SECTION:blog-shop-cta */

/* START_SECTION:brand-statement (INDEX:35) */
.bj-statement {
    background: var(--color-primary);
    color: var(--color-paper);
    padding-block: var(--space-xl);
  }
  .bj-statement__inner { max-width: 880px; }
  .bj-statement__eyebrow { margin-bottom: var(--space-sm); }
  .bj-statement__quote { color: var(--color-paper); font-size: clamp(1.5rem, 3.6vw, 2.5rem); }
  .bj-statement__attribution { color: oklch(1 0 0 / 0.7); margin-top: var(--space-sm); }
  .bj-statement__stats {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--space-md); margin-top: var(--space-lg);
    border-top: 1px solid oklch(1 0 0 / 0.2); padding-top: var(--space-md);
  }
  .bj-statement__stat-number { color: var(--color-paper); font-size: clamp(2rem, 4vw, 3rem); }
  .bj-statement__stat-label { color: oklch(1 0 0 / 0.7); margin-top: 4px; }
/* END_SECTION:brand-statement */

/* START_SECTION:brand-story (INDEX:36) */
.bj-story { padding-block: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-xl); }
  .bj-story__row { display: grid; gap: var(--space-lg); grid-template-columns: 1fr; align-items: center; }
  @media (min-width: 768px) { .bj-story__row { grid-template-columns: 1fr 1fr; gap: var(--space-xl); } }
  .bj-story__row--reverse { direction: rtl; }
  .bj-story__row--reverse > * { direction: ltr; }
  .bj-story__media { aspect-ratio: 4/5; border-radius: var(--radius-md); overflow: hidden; background: var(--color-surface); }
  .bj-story__media img { width: 100%; height: 100%; object-fit: cover; }
  .bj-story__text { color: var(--color-muted); margin-top: var(--space-sm); }
  .bj-story__text p + p { margin-top: var(--space-sm); }
/* END_SECTION:brand-story */

/* START_SECTION:cinematic-feature (INDEX:41) */
.bj-cine-feature { position: relative; min-height: clamp(640px, 100vh, 900px); display: flex; align-items: center; overflow: hidden; background: #2A1C12; color: var(--color-paper); }
  .bj-cine-feature__media { position: absolute; inset: 0; }
  .bj-cine-feature__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .bj-cine-feature__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,17,23,.76) 0%, rgba(7,17,23,.42) 40%, rgba(7,17,23,0) 64%); }
  .bj-cine-feature__content { position: relative; width: 100%; display: flex; flex-direction: column; gap: 26px; padding-block: var(--space-xl); }
  .bj-cine-feature__content > * { max-width: 560px; }
  .bj-cine-feature__heading { margin: 0; font-family: var(--bj-cine-serif, var(--font-display)); font-weight: 300; font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: 1.06; color: var(--color-paper); }
  .bj-cine-feature__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .bj-cine-feature__cols:has(> :only-child) { grid-template-columns: 1fr; }
  .bj-cine-feature__col-text { font-size: 1.0625rem; }
  @media (min-width: 750px) { .bj-cine-feature--right .bj-cine-feature__content { padding-left: calc(50% + 40px); } }
  .bj-cine-feature--right .bj-cine-feature__shade { background: linear-gradient(270deg, rgba(7,17,23,.8) 0%, rgba(7,17,23,.5) 42%, rgba(7,17,23,0) 70%); }
  .bj-cine-feature__col-title { margin: 0 0 6px; font-size: 0.6875rem; letter-spacing: 0.2em; text-transform: uppercase; opacity: 0.75; }
  .bj-cine-feature__col-text { font-size: 0.9375rem; line-height: 1.7; }
  .bj-cine-feature__col-text p { margin: 0; }
  .bj-cine-feature__col-text a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
  .bj-cine-feature__col-text a:hover { color: var(--color-tertiary); }
  .bj-cine-feature__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 6px; }
  @media (max-width: 749px) {
    .bj-cine-feature { align-items: flex-end; min-height: 720px; }
    .bj-cine-feature__shade, .bj-cine-feature--right .bj-cine-feature__shade { background: linear-gradient(180deg, rgba(7,17,23,0) 25%, rgba(7,17,23,.85) 72%); }
    .bj-cine-feature__content { gap: 18px; padding-block: var(--space-lg); }
    .bj-cine-feature__actions { flex-direction: column; align-items: stretch; }
    .bj-cine-feature__actions .bj-cine-btn { justify-content: center; }
    .bj-cine-feature__actions .bj-cine-link { align-self: flex-start; }
  }
/* END_SECTION:cinematic-feature */

/* START_SECTION:cinematic-hero (INDEX:42) */
.template-index { --bj-cine-serif: 'Trirong', var(--font-display); --bj-cine-hand: var(--bj-hand, 'Gaegu', cursive); --bj-cine-navy: #062C42; --bj-cine-sand: #EFE4D3; --bj-cine-paper: #F6EFE4; }

  /* .bj-hand-label lives in assets/bj-hand.css (site-wide). */

  .bj-cine-btn {
    display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 24px;
    border: 1px solid currentColor; color: var(--color-paper); background: transparent;
    font-family: var(--font-body); font-weight: 500; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase;
    text-decoration: none; transition: background var(--duration-hover) var(--ease-editorial), color var(--duration-hover) var(--ease-editorial);
  }
  .bj-cine-btn:hover { background: var(--color-paper); color: var(--color-ink); }
  .bj-cine-btn--dark { color: var(--color-ink); }
  .bj-cine-btn--dark:hover { background: var(--color-ink); color: var(--bj-cine-paper); }
  .bj-cine-link {
    color: inherit; font-family: var(--font-body); font-weight: 500; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase;
    text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 6px;
  }
  .bj-cine-link:hover { color: var(--color-tertiary); }
  .bj-cine-btn:focus-visible, .bj-cine-link:focus-visible { outline: 2px solid var(--color-tertiary); outline-offset: 4px; }

  /* Hero */
  .bj-cine-hero { position: relative; min-height: clamp(620px, 100vh, 960px); display: flex; align-items: flex-end; overflow: hidden; background: #1A1410; color: var(--color-paper); }
  .bj-cine-hero__media { position: absolute; inset: 0; }
  .bj-cine-hero__poster, .bj-cine-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .bj-cine-hero__video { opacity: 0; transition: opacity 0.8s var(--ease-editorial); }
  .bj-cine-hero__video.is-playing { opacity: 1; }
  .bj-cine-hero__shade {
    position: absolute; inset: 0;
    background:
      linear-gradient(180deg, rgba(7,17,23,.58) 0%, rgba(7,17,23,0) 24%),
      linear-gradient(90deg, rgba(7,17,23,.66) 0%, rgba(7,17,23,.32) 42%, rgba(7,17,23,0) 68%),
      linear-gradient(0deg, rgba(7,17,23,.5) 0%, rgba(7,17,23,0) 45%);
  }
  .bj-cine-hero__content { position: relative; width: 100%; display: flex; flex-direction: column; gap: 24px; padding-top: 140px; padding-bottom: var(--space-xl); }
  .bj-cine-hero__heading {
    margin: 0; max-width: 11ch; font-family: var(--bj-cine-serif); font-weight: 300;
    font-size: clamp(3.25rem, 7.5vw, 6.75rem); line-height: 1; letter-spacing: -0.02em; color: var(--color-paper);
  }
  .bj-cine-hero__sub { max-width: 44ch; font-size: 1.0625rem; line-height: 1.6; color: var(--color-paper); opacity: 0.9; }
  .bj-cine-hero__sub p { margin: 0; }
  .bj-cine-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 8px; }
  @media (max-width: 749px) {
    .bj-cine-hero { min-height: clamp(600px, 92vh, 780px); }
    .bj-cine-hero__shade { background: linear-gradient(180deg, rgba(7,17,23,.5) 0%, rgba(7,17,23,0) 14%, rgba(7,17,23,.2) 34%, rgba(7,17,23,.86) 62%); }
    .bj-cine-hero__content { gap: 18px; padding-bottom: var(--space-lg); }
    .bj-cine-hero__actions { flex-direction: column; align-items: stretch; }
    .bj-cine-hero__actions .bj-cine-btn { justify-content: center; }
    .bj-cine-hero__actions .bj-cine-link { align-self: flex-start; }
  }
  /* Keep CTAs clear of the bottom-right WhatsApp widget on narrow phones. */
  @media (max-width: 400px) { .bj-cine-hero__content { padding-bottom: calc(var(--space-lg) + 84px); } }

  /* Direction B restyle of existing homepage sections (homepage only). */
  .template-index .bj-bestsellers { background: var(--bj-cine-paper); }
  .template-index .bj-bestsellers__head { display: flex; flex-direction: column; align-items: center; text-align: center; margin-inline: auto; gap: 14px; }
  .template-index .bj-bestsellers__head .bj-hand-label { align-self: center; }
  .template-index .bj-bestsellers .bj-headline,
  .template-index .bj-testimonials .bj-headline,
  .template-index .bj-newsletter .bj-headline { font-family: var(--bj-cine-serif); font-weight: 300; letter-spacing: -0.015em; }
  .template-index .bj-bestsellers .bj-headline { font-size: clamp(2.25rem, 5vw, 4.5rem); line-height: 1.05; }
  .template-index .bj-testimonials { background: var(--bj-cine-sand); text-align: center; }
  .template-index .bj-testimonials__head { margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: 14px; }
  .template-index .bj-testimonials__grid { justify-content: center; }
  .template-index .bj-testimonials .bj-testimonial { max-width: 980px; margin-inline: auto; background: transparent; box-shadow: none; border: 0; align-items: center; }
  .template-index .bj-testimonials .bj-testimonial__quote { font-family: var(--bj-cine-serif); font-weight: 300; font-style: italic; font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.34; color: var(--color-ink); }
  .template-index .bj-newsletter { background: var(--bj-cine-navy); padding-block: var(--space-xl); }
  .template-index .bj-newsletter .bj-headline { font-size: clamp(2.25rem, 4.5vw, 3.5rem); }
  .template-index .bj-newsletter__copy { display: flex; flex-direction: column; gap: 14px; }
  /* Header tone over dark homepage sections (class set by the script above). */
  body.template-index .bj-header.bj-header--on-dark .bj-header__logo,
  body.template-index .bj-header.bj-header--on-dark .bj-header__link,
  body.template-index .bj-header.bj-header--on-dark .bj-header__icon-btn { color: var(--color-paper); }
  body.template-index .bj-header.bj-header--on-dark .bj-header__logo-image { filter: brightness(0) invert(1); }
  body.template-index .bj-header.bj-header--on-dark .bj-header__link:hover,
  body.template-index .bj-header.bj-header--on-dark .bj-header__link--active { border-color: var(--color-paper); }
  body.template-index .bj-header.bj-header--on-dark .bj-header__icon-btn:hover { color: var(--color-tertiary); }
  /* .template-index .bj-header sets background: transparent, which outranks
     the frosted .bj-header--scrolled background, so restore it here. */
  body.template-index .bj-header.bj-header--scrolled { background: var(--glass-bg); }
  @supports not (backdrop-filter: blur(1px)) {
    body.template-index .bj-header.bj-header--scrolled { background: var(--color-paper); }
  }
  body.template-index .bj-header.bj-header--scrolled.bj-header--on-dark {
    background: rgba(7, 17, 23, 0.34);
    border-bottom-color: rgba(255, 255, 255, 0.12);
    box-shadow: none;
  }
  @supports not (backdrop-filter: blur(1px)) {
    body.template-index .bj-header.bj-header--scrolled.bj-header--on-dark { background: var(--bj-cine-navy, #062C42); }
  }
  body.template-index .bj-header__link,
  body.template-index .bj-header__icon-btn,
  body.template-index .bj-header__logo { transition: color var(--duration-hover) var(--ease-editorial), border-color var(--duration-hover) var(--ease-editorial); }
/* END_SECTION:cinematic-hero */

/* START_SECTION:cinematic-ingredients (INDEX:43) */
.bj-cine-ingredients { padding-block: var(--space-xl); background: var(--bj-cine-paper, var(--color-paper)); border-bottom: 1px solid #E2D6C4; }
  .bj-cine-ingredients__head { display: flex; flex-direction: column; gap: 16px; max-width: 760px; margin-bottom: var(--space-lg); }
  .bj-cine-ingredients__heading { margin: 0; font-family: var(--bj-cine-serif, var(--font-display)); font-weight: 300; font-size: clamp(2.25rem, 4.5vw, 3.75rem); line-height: 1.06; letter-spacing: -0.01em; }
  .bj-cine-ingredients__sub { margin: 0; color: var(--color-muted); max-width: 56ch; line-height: 1.6; }
  .bj-cine-ingredients__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md) 18px; }
  @media (min-width: 1024px) { .bj-cine-ingredients__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px; } }
  .bj-cine-ingredients__item { display: flex; flex-direction: column; gap: 12px; }
  .bj-cine-ingredients__name { margin: 0; font-family: var(--bj-cine-serif, var(--font-display)); font-weight: 400; font-size: clamp(1.3rem, 2vw, 1.875rem); }
  .bj-cine-ingredients__text { margin: 0; color: var(--color-muted); font-size: 0.9375rem; line-height: 1.65; }
  .bj-cine-ingredients__tags:not(:empty) { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-md); }
  .bj-cine-ingredients__faq:not(:empty) { margin-top: var(--space-md); max-width: 820px; }
/* END_SECTION:cinematic-ingredients */

/* START_SECTION:cinematic-split (INDEX:44) */
.bj-cine-split { display: grid; grid-template-columns: 1fr; background: var(--bj-cine-navy, #062C42); color: var(--color-paper); }
  @media (min-width: 1024px) { .bj-cine-split { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: clamp(640px, 90vh, 900px); } }
  .bj-cine-split__text { display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: var(--space-xl) var(--space-md); }
  @media (min-width: 1024px) { .bj-cine-split__text { padding: var(--space-xl) 96px var(--space-xl) 80px; } }
  .bj-cine-split__statement { margin: 0; font-family: var(--bj-cine-serif, var(--font-display)); font-weight: 300; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.32; color: var(--color-paper); }
  .bj-cine-split__attribution { margin: 0; font-size: 0.875rem; letter-spacing: 0.06em; opacity: 0.75; }
  .bj-cine-split__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: var(--space-sm); border-top: 1px solid rgba(255,255,255,.2); padding-top: var(--space-sm); }
  .bj-cine-split__stat-number { margin: 0; font-family: var(--bj-cine-serif, var(--font-display)); font-weight: 300; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.1; color: var(--color-paper); }
  .bj-cine-split__stat-label { margin: 6px 0 0; font-size: 0.8125rem; line-height: 1.45; opacity: 0.75; }
  .bj-cine-split__link { align-self: flex-start; color: var(--color-paper); }
  .bj-cine-split__media { position: relative; min-height: 440px; overflow: hidden; background: #2A1C12; }
  .bj-cine-split__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  @media (max-width: 1023px) { .bj-cine-split__media { order: -1; } }
  @media (min-width: 1024px) { .bj-cine-split--image-first .bj-cine-split__media { order: -1; } }
/* END_SECTION:cinematic-split */

/* START_SECTION:contact-form (INDEX:45) */
.bj-contact { padding-block: var(--space-lg) var(--space-xl); }
  .bj-contact__layout { display: grid; gap: var(--space-lg); grid-template-columns: 1fr; }
  @media (min-width: 1024px) { .bj-contact__layout { grid-template-columns: 0.85fr 1.15fr; } }

  .bj-contact__info-copy { color: var(--color-muted); margin-top: var(--space-sm); max-width: 48ch; }
  .bj-contact__channels { list-style: none; margin: var(--space-md) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
  .bj-contact__channels li { display: flex; flex-direction: column; gap: 2px; padding-bottom: var(--space-sm); border-bottom: 1px solid var(--color-hairline); }
  .bj-contact__channels a { color: var(--color-primary); text-decoration: none; }
  .bj-contact__channels a:hover { text-decoration: underline; }
  .bj-contact__response { color: var(--color-muted); }
  .bj-contact__social { display: flex; gap: var(--space-sm); margin-top: var(--space-md); }
  .bj-contact__social a { color: var(--color-ink); font-size: var(--size-label); text-decoration: none; border-bottom: 1px solid var(--color-hairline); }

  .bj-contact__form-wrap { background: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-md); }
  @media (min-width: 768px) { .bj-contact__form-wrap { padding: var(--space-lg); } }
  .bj-contact__field { margin-bottom: var(--space-sm); display: flex; flex-direction: column; gap: 6px; }
  .bj-contact__textarea { resize: vertical; min-height: 120px; }
  .bj-contact__submit { width: 100%; margin-top: var(--space-xs); }
  .bj-contact__success { text-align: center; padding: var(--space-lg) 0; }
  .bj-contact__success .bj-body { color: var(--color-muted); margin-top: var(--space-xs); }
  .bj-contact__error {
    background: oklch(0.55 0.18 25 / 0.08); border: 1px solid var(--color-sale-red);
    border-radius: var(--radius-sm); padding: var(--space-sm); margin-bottom: var(--space-md); color: var(--color-sale-red);
  }
  .bj-contact__error ul { margin: var(--space-xs) 0 0; padding-left: 1.25em; }
/* END_SECTION:contact-form */

/* START_SECTION:footer (INDEX:60) */
.bj-footer { background: var(--color-ink); color: oklch(1 0 0 / 0.85); padding-top: var(--space-xl); }
  .bj-footer__grid { display: grid; gap: var(--space-md); grid-template-columns: 1fr; }
  @media (min-width: 768px) { .bj-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
  .bj-footer__logo { color: var(--color-paper); }
  .bj-footer__logo--image {
    display: block; height: auto;
    /* Theme settings -> Logo stores the ink-colored mark (for light backgrounds elsewhere); flipped to white here for the dark footer via CSS rather than needing a second upload. */
    filter: brightness(0) invert(1);
  }
  .bj-footer__about { color: oklch(1 0 0 / 0.7); margin-top: var(--space-xs); max-width: 40ch; }
  .bj-footer__social { display: flex; gap: var(--space-md); margin-top: var(--space-sm); flex-wrap: wrap; }
  .bj-footer__social a,
  .bj-footer__col a {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    padding-bottom: 2px;
    transition: background-size var(--duration-hover) var(--ease-editorial),
                color var(--duration-hover) var(--ease-editorial);
  }
  .bj-footer__social a:hover, .bj-footer__col a:hover { background-size: 100% 1px; }
  .bj-footer__social a { color: var(--color-paper); font-size: var(--size-label); display: inline-flex; align-items: center; gap: 6px; }
  .bj-footer__social a svg { flex-shrink: 0; transition: transform var(--duration-hover) var(--ease-editorial); }
  .bj-footer__social a:hover svg { transform: translateY(-1px); }
  .bj-footer__col { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-xs); }
  .bj-footer__col .bj-title { color: var(--color-paper); margin-bottom: 4px; }
  .bj-footer__col a { color: oklch(1 0 0 / 0.7); font-size: 0.9375rem; }
  .bj-footer__col a:hover { color: var(--color-paper); }
  .bj-footer__trust-item { display: flex; align-items: center; gap: 6px; color: oklch(1 0 0 / 0.7); font-size: 0.9375rem; }
  .bj-footer__trust-item svg { color: var(--color-stock-green); flex-shrink: 0; }
  .bj-footer__legal {
    display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-xs);
    margin-top: var(--space-xl); padding-block: var(--space-sm);
    border-top: 1px solid oklch(1 0 0 / 0.15);
    color: oklch(1 0 0 / 0.55); font-size: 0.8125rem;
  }
/* END_SECTION:footer */

/* START_SECTION:header (INDEX:63) */
.bj-header {
    background: var(--color-paper);
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
    border-bottom: 1px solid transparent;
    transition: background var(--duration-hover) var(--ease-editorial),
                box-shadow var(--duration-hover) var(--ease-editorial),
                border-color var(--duration-hover) var(--ease-editorial);
  }

  /* Homepage only: header floats transparent/glass over the hero image,
     then solidifies once the visitor scrolls past it. Every other template
     keeps the sticky solid header above (unchanged). */
  .template-index .bj-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    background: transparent;
  }
  .template-index .bj-header:not(.bj-header--scrolled) .bj-header__logo,
  .template-index .bj-header:not(.bj-header--scrolled) .bj-header__link,
  .template-index .bj-header:not(.bj-header--scrolled) .bj-header__icon-btn {
    color: var(--color-paper);
  }
  {%- comment -%}
    Theme settings → Logo stores the ink-colored mark (reads on the solid
    header everywhere else); flipped to white here for the transparent
    over-hero state via CSS, same trick as footer.liquid, so only one file
    needs uploading.
  {%- endcomment -%}
  .template-index .bj-header:not(.bj-header--scrolled) .bj-header__logo-image {
    filter: brightness(0) invert(1);
  }
  .template-index .bj-header:not(.bj-header--scrolled) .bj-header__link:hover,
  .template-index .bj-header:not(.bj-header--scrolled) .bj-header__link--active {
    border-color: var(--color-paper);
  }
  .bj-header--scrolled {
    background: var(--glass-bg);
    -webkit-backdrop-filter: var(--glass-blur);
    backdrop-filter: var(--glass-blur);
    border-bottom-color: var(--color-hairline);
    box-shadow: 0 1px 0 var(--color-hairline);
  }
  @supports not (backdrop-filter: blur(1px)) {
    .bj-header--scrolled { background: var(--color-paper); }
  }
  .bj-header__inner {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding-block: var(--space-xs);
  }
  .bj-header__logo {
    font-family: var(--font-display);
    font-weight: 380;
    font-size: 1.25rem;
    color: var(--color-ink);
    text-decoration: none;
    margin-right: auto;
    display: inline-flex;
    align-items: center;
  }
  .bj-header__logo-image {
    display: block; width: 120px; height: auto;
    transition: filter var(--duration-hover) var(--ease-editorial);
  }
  .bj-header__nav { display: none; gap: var(--space-md); align-items: center; }
  @media (min-width: 1024px) { .bj-header__nav { display: flex; } }
  .bj-header__link {
    font-family: var(--font-body);
    font-weight: 560;
    font-size: var(--size-label);
    letter-spacing: 0.04em;
    text-decoration: none;
    color: var(--color-ink);
    padding-bottom: 4px;
    border-bottom: 2px solid transparent;
    transition: border-color var(--duration-hover) var(--ease-editorial);
  }
  .bj-header__link:hover, .bj-header__link--active { border-color: var(--color-primary); }
  .bj-header__link--parent {
    display: inline-flex; align-items: center; gap: 6px;
    background: none; border-top: none; border-left: none; border-right: none;
    cursor: pointer; padding-top: 0;
  }
  .bj-header__link--parent svg { transition: transform var(--duration-hover) var(--ease-editorial); }

  .bj-header__dropdown { position: relative; }
  .bj-header__dropdown-panel {
    position: absolute; top: calc(100% + 16px); left: 50%; transform: translate(-50%, 8px);
    min-width: 220px;
    background: var(--color-paper);
    box-shadow: var(--shadow-modal-lift);
    border-radius: var(--radius-md);
    padding: var(--space-xs);
    display: flex; flex-direction: column; gap: 2px;
    opacity: 0; visibility: hidden;
    transition: opacity var(--duration-hover) var(--ease-editorial),
                transform var(--duration-hover) var(--ease-editorial),
                visibility var(--duration-hover);
  }
  .bj-header__dropdown:hover .bj-header__dropdown-panel,
  .bj-header__dropdown:focus-within .bj-header__dropdown-panel,
  .bj-header__dropdown[data-open="true"] .bj-header__dropdown-panel {
    opacity: 1; visibility: visible; transform: translate(-50%, 0);
  }
  .bj-header__dropdown:hover .bj-header__link--parent svg,
  .bj-header__dropdown[data-open="true"] .bj-header__link--parent svg { transform: rotate(180deg); }
  .bj-header__dropdown-link {
    font-family: var(--font-body); font-size: 0.9375rem; color: var(--color-ink);
    text-decoration: none; padding: 10px 14px; border-radius: var(--radius-sm);
    transition: background var(--duration-hover) var(--ease-editorial);
  }
  .bj-header__dropdown-link:hover { background: var(--color-surface); }
  .bj-header__dropdown-link--all { font-weight: 560; border-bottom: 1px solid var(--color-hairline); margin-bottom: 4px; padding-bottom: 14px; }

  .bj-header__actions { display: flex; align-items: center; gap: var(--space-xs); }
  .bj-header__icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    color: var(--color-ink);
    position: relative;
    /* Reset here (not just on the .bj-header__nav-toggle button) so this class
       is safe on a <button> as well as the <a> tags it's normally used on --
       otherwise the browser's default gray/outset button chrome shows through. */
    background: none; border: none; padding: 0; margin: 0;
    font: inherit; text-decoration: none; cursor: pointer;
  }
  .bj-header__icon-btn:hover { color: var(--color-primary); }
  .bj-header__nav-toggle { border: none; background: none; cursor: pointer; }
  @media (min-width: 1024px) { .bj-header__nav-toggle { display: none; } }
  .bj-header__cart-count {
    position: absolute; top: 4px; right: 4px;
    background: var(--color-accent); color: var(--color-paper);
    font-size: 0.625rem; font-weight: 700;
    width: 16px; height: 16px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
  }
  .bj-header__cart-count[hidden] { display: none; }
  .bj-nav-backdrop {
    position: fixed; inset: 0;
    background: var(--glass-bg-dark);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    z-index: var(--z-drawer-backdrop);
    opacity: 0;
    transition: opacity var(--duration-hover) var(--ease-editorial);
  }
  .bj-nav-backdrop.is-visible { opacity: 1; }
  @supports not (backdrop-filter: blur(1px)) {
    .bj-nav-backdrop { background: oklch(0.17 0.02 240.4 / 0.55); }
  }
  .bj-nav-drawer {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(320px, 88vw);
    background: var(--color-paper);
    box-shadow: var(--shadow-modal-lift);
    z-index: var(--z-drawer);
    display: flex; flex-direction: column; gap: var(--space-xs);
    padding: var(--space-lg) var(--space-md);
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform var(--duration-reveal) var(--ease-editorial);
  }
  .bj-nav-drawer[aria-hidden="false"] { transform: translateX(0); }
  .bj-nav-drawer__link, .bj-nav-drawer__summary {
    font-family: var(--font-display); font-size: var(--size-title); font-weight: 380;
    color: var(--color-ink); text-decoration: none; padding-block: var(--space-xs);
    border-bottom: 1px solid var(--color-hairline);
    cursor: pointer; list-style: none;
    display: flex; align-items: center; justify-content: space-between;
  }
  .bj-nav-drawer__summary::-webkit-details-marker { display: none; }
  .bj-nav-drawer__summary::after {
    content: '+'; font-family: var(--font-display); color: var(--color-primary); font-size: 1.125rem;
  }
  .bj-nav-drawer__group[open] .bj-nav-drawer__summary::after { content: '−'; }
  .bj-nav-drawer__submenu { display: flex; flex-direction: column; padding-left: var(--space-xs); }
  .bj-nav-drawer__sublink {
    font-family: var(--font-body); color: var(--color-muted); text-decoration: none;
    padding-block: 10px; border-bottom: 1px solid var(--color-hairline);
  }
/* END_SECTION:header */

/* START_SECTION:hero (INDEX:64) */
.bj-hero { position: relative; overflow: hidden; }
  .bj-hero__track { position: relative; height: clamp(520px, 82vh, 860px); }
  .bj-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity var(--duration-reveal) var(--ease-editorial); }
  .bj-hero__slide--active { opacity: 1; visibility: visible; }
  .bj-hero__media { position: absolute; inset: 0; }
  .bj-hero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1); }
  .bj-hero__slide--active .bj-hero__media img { animation: bj-hero-zoom 12s linear forwards; }
  @keyframes bj-hero-zoom { from { transform: scale(1); } to { transform: scale(1.08); } }
  @media (prefers-reduced-motion: reduce) { .bj-hero__slide--active .bj-hero__media img { animation: none; } }
  .bj-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, oklch(0.17 0.02 240.4 / 0.4) 0%, transparent 22%), linear-gradient(0deg, oklch(0.17 0.02 240.4 / 0.55) 0%, oklch(0.17 0.02 240.4 / 0.05) 45%, transparent 65%); }
  .bj-hero__content { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-xs); padding-bottom: var(--space-xl); color: var(--color-paper); max-width: 640px; }
  .bj-hero__eyebrow { border-color: var(--color-paper); color: var(--color-paper); margin-bottom: var(--space-xs); }
  .bj-hero__heading { color: var(--color-paper); }
  .bj-hero__subheading { color: var(--color-paper); max-width: 46ch; }
  .bj-hero__actions { display: flex; gap: var(--space-xs); flex-wrap: wrap; margin-top: var(--space-sm); }
  .bj-hero__actions .bj-btn--ghost { background: transparent; color: var(--color-paper); border-color: var(--color-paper); }
  .bj-hero__actions .bj-btn--ghost:hover { background: oklch(1 0 0 / 0.12); }
  .bj-hero__dots { position: absolute; bottom: var(--space-sm); left: var(--space-md); display: flex; gap: 8px; z-index: 2; }
  .bj-hero__dot { width: 28px; height: 3px; background: oklch(1 0 0 / 0.4); border: none; cursor: pointer; transition: background var(--duration-hover) var(--ease-editorial); }
  .bj-hero__dot--active { background: var(--color-paper); }
  @media (max-width: 767px) {
    .bj-hero__track { height: clamp(560px, 92vh, 720px); }
    .bj-hero__content { padding-bottom: var(--space-lg); }
  }
  {%- comment -%} C1 fix: lift hero CTAs clear of the bottom-right WhatsApp widget on narrow phones {%- endcomment -%}
  @media (max-width: 400px) {
    .bj-hero__content { padding-bottom: calc(var(--space-lg) + 84px); }
  }
/* END_SECTION:hero */

/* START_SECTION:ingredient-trust (INDEX:75) */
.bj-trust { padding-block: var(--space-xl); background: var(--color-surface); }
  .bj-trust__layout { display: grid; gap: var(--space-lg); grid-template-columns: 1fr; }
  @media (min-width: 1024px) { .bj-trust__layout { grid-template-columns: 0.9fr 1.1fr; } }
  .bj-trust__sub { color: var(--color-muted); margin-top: var(--space-xs); }
  .bj-trust__tags { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-md); }
/* END_SECTION:ingredient-trust */

/* START_SECTION:main-article (INDEX:82) */
.bj-article__top { padding-top: var(--space-lg); max-width: 820px; }
  .bj-breadcrumbs { margin-bottom: var(--space-md); }
  .bj-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; font-size: 0.8125rem; color: var(--color-muted); }
  .bj-breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: 6px; color: var(--color-hairline); }
  .bj-breadcrumbs a { color: var(--color-muted); text-decoration: none; }
  .bj-breadcrumbs a:hover { color: var(--color-primary); text-decoration: underline; }
  .bj-breadcrumbs li[aria-current] { color: var(--color-ink); }

  .bj-article__title { margin-top: var(--space-sm); }
  .bj-article__meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    color: var(--color-muted); font-size: 0.9375rem; margin-top: var(--space-sm);
  }
  .bj-article__meta svg { vertical-align: -2px; margin-right: 2px; }
  .bj-article__updated { font-style: italic; }

  .bj-article__media { margin-top: var(--space-lg); border-radius: var(--radius-md); overflow: hidden; }
  .bj-article__media img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }

  .bj-article__body-wrap { max-width: 820px; padding-block: var(--space-lg); }
  .bj-article__body { font-size: 1.0625rem; line-height: 1.75; color: var(--color-ink); }
  .bj-article__body > * + * { margin-top: var(--space-sm); }
  .bj-article__body h2 { font-family: var(--font-display); font-weight: 380; font-size: var(--size-headline); margin-top: var(--space-lg); scroll-margin-top: var(--space-md); }
  .bj-article__body h3 { font-weight: 560; font-size: var(--size-title); margin-top: var(--space-md); scroll-margin-top: var(--space-md); }
  .bj-article__body ul, .bj-article__body ol { padding-left: 1.4em; }
  .bj-article__body li + li { margin-top: 6px; }
  .bj-article__body img { width: 100%; height: auto; border-radius: var(--radius-sm); }
  .bj-article__body a { color: var(--color-primary); }
  .bj-article__body blockquote {
    border-left: 3px solid var(--color-accent); padding-left: var(--space-sm);
    color: var(--color-muted); font-style: italic;
  }

  .bj-callout {
    background: var(--color-surface-warm); border-radius: var(--radius-md);
    padding: var(--space-sm) var(--space-md); margin-block: var(--space-md) !important;
  }
  .bj-callout p:first-child { margin-top: 0; }
  .bj-callout p:last-child { margin-bottom: 0; }

  .bj-routine-steps { list-style: none; padding: 0; margin-block: var(--space-md) !important; counter-reset: bj-routine-step; }
  .bj-routine-step {
    counter-increment: bj-routine-step;
    display: flex; gap: var(--space-sm); align-items: flex-start;
    background: var(--color-surface); border-radius: var(--radius-md);
    padding: var(--space-sm) var(--space-md);
  }
  .bj-routine-step + .bj-routine-step { margin-top: var(--space-xs); }
  .bj-routine-step::before {
    content: counter(bj-routine-step);
    flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
    background: var(--color-primary); color: var(--color-paper);
    display: flex; align-items: center; justify-content: center;
    font-weight: 560; font-size: 0.875rem;
  }

  .bj-answer-box {
    background: var(--color-surface-warm); border-radius: var(--radius-md);
    border-left: 3px solid var(--color-accent);
    padding: var(--space-sm) var(--space-md); margin-bottom: var(--space-md);
  }
  .bj-answer-label {
    display: inline-block; font-weight: 560; font-size: var(--size-label);
    letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-accent-deep);
    margin-bottom: 6px;
  }
  .bj-answer-box p { margin: 0; color: var(--color-ink); }

  .bj-toc {
    background: var(--color-surface); border-radius: var(--radius-md);
    padding: var(--space-sm) var(--space-md); margin-bottom: var(--space-md);
  }
  .bj-toc__label { font-weight: 560; font-size: var(--size-label); letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-muted); margin: 0 0 var(--space-xs); }
  .bj-toc ol { list-style: decimal; margin: 0; padding-left: 1.2em; }
  .bj-toc li + li { margin-top: 4px; }
  .bj-toc a { color: var(--color-primary); text-decoration: none; }
  .bj-toc a:hover { text-decoration: underline; }

  .bj-share { display: flex; align-items: center; gap: var(--space-xs); margin-top: var(--space-md); }
  .bj-share__label { font-size: 0.8125rem; color: var(--color-muted); margin-right: 4px; }
  .bj-share__btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--color-surface); color: var(--color-ink);
    border: 1px solid var(--color-hairline); cursor: pointer;
    transition: background var(--duration-hover) var(--ease-editorial), color var(--duration-hover) var(--ease-editorial);
  }
  .bj-share__btn:hover { background: var(--color-primary); color: var(--color-paper); border-color: var(--color-primary); }

  .bj-article__faq { padding-top: var(--space-lg); }
  .bj-article__faq .bj-accordion { margin-top: var(--space-sm); }

  .bj-article__related-products, .bj-article__related-articles { padding-block: var(--space-lg); }
/* END_SECTION:main-article */

/* START_SECTION:main-blog (INDEX:83) */
.bj-journal { padding-block: var(--space-md) var(--space-xl); }
  .bj-journal__empty {
    text-align: center; padding: var(--space-xl) 0; max-width: 480px; margin-inline: auto;
    display: flex; flex-direction: column; align-items: center; gap: var(--space-sm);
  }
  .bj-journal__empty-copy { color: var(--color-muted); }
/* END_SECTION:main-blog */

/* START_SECTION:main-collection (INDEX:86) */
.bj-collection-header { padding-block: var(--space-xl) var(--space-md); }
  .bj-collection-header__inner { max-width: 720px; }
  .bj-collection-header__eyebrow { margin-bottom: var(--space-sm); }
  .bj-collection-header__description { color: var(--color-muted); margin-top: var(--space-sm); max-width: 60ch; }
  .bj-collection-header__description p { margin: 0; }

  .bj-collection-pills { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-md); }
  .bj-collection-pill {
    font-family: var(--font-body); font-weight: 560; font-size: var(--size-label);
    color: var(--color-ink); text-decoration: none;
    padding: 10px 18px; border: 1px solid var(--color-hairline); border-radius: var(--radius-sm);
    transition: border-color var(--duration-hover) var(--ease-editorial), background var(--duration-hover) var(--ease-editorial);
  }
  .bj-collection-pill:hover { border-color: var(--color-primary); }
  .bj-collection-pill--active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-paper); }

  .bj-collection { padding-block: var(--space-md) var(--space-xl); }
  .bj-collection__controls {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-sm);
    padding-bottom: var(--space-md); margin-bottom: var(--space-md); border-bottom: 1px solid var(--color-hairline);
  }
  .bj-collection__count { color: var(--color-muted); font-size: 0.9375rem; }
  .bj-collection__controls-right { display: flex; align-items: center; gap: var(--space-md); flex-wrap: wrap; }
  .bj-collection__filter-check { display: flex; align-items: center; gap: 8px; font-size: 0.9375rem; color: var(--color-ink); cursor: pointer; }
  .bj-collection__sort .bj-input { padding: 10px 14px; width: auto; }

  .bj-collection__empty { text-align: center; padding: var(--space-xl) 0; display: flex; flex-direction: column; align-items: center; gap: var(--space-sm); color: var(--color-muted); }

  .bj-pagination { display: flex; align-items: center; justify-content: center; gap: var(--space-md); margin-top: var(--space-lg); }
  .bj-pagination__status { color: var(--color-muted); font-size: 0.9375rem; }
/* END_SECTION:main-collection */

/* START_SECTION:main-product (INDEX:90) */
.bj-pdp { padding-block: var(--space-lg) var(--space-xl); }
  .bj-pdp__layout { display: grid; gap: var(--space-lg); grid-template-columns: 1fr; }
  @media (min-width: 1024px) { .bj-pdp__layout { grid-template-columns: 1.1fr 1fr; } }

  .bj-pdp__gallery-main { aspect-ratio: 4/5; border-radius: var(--radius-md); overflow: hidden; background: var(--color-surface); position: relative; }
  .bj-pdp__gallery-main img {
    /* Gallery photos aren't all shot at the same aspect ratio as the hero
       bottle shot (4:5) -- several of the lifestyle/ingredient photos are
       square (1:1). object-fit: cover was cropping the tops/bottoms off
       those (cutting off the ingredient labels on the dropper photo, for
       example). object-fit: contain shows every photo in full, letterboxed
       on the surface color instead of cropped. */
    width: 100%; height: 100%; object-fit: contain;
    opacity: 1; transition: opacity var(--duration-fast) var(--ease-editorial);
  }
  .bj-pdp__gallery-main img.is-swapping { opacity: 0; }
  @media (prefers-reduced-motion: reduce) {
    .bj-pdp__gallery-main img { transition: none; }
  }
  .bj-pdp__gallery-video { display: block; width: 100%; height: 100%; border: none; object-fit: contain; background: #000; }
  .bj-pdp__thumbs { display: flex; gap: var(--space-xs); margin-top: var(--space-xs); overflow-x: auto; }
  .bj-pdp__thumb { border: 2px solid transparent; border-radius: var(--radius-sm); overflow: hidden; padding: 0; background: none; cursor: pointer; flex-shrink: 0; position: relative; }
  .bj-pdp__thumb--active { border-color: var(--color-primary); }
  .bj-pdp__thumb img { width: 56px; height: 70px; object-fit: cover; }
  .bj-pdp__thumb-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: oklch(1 0 0 / 0.92); pointer-events: none; filter: drop-shadow(0 1px 3px oklch(0.17 0.02 240.4 / 0.55)); }

  .bj-pdp__title { margin-top: var(--space-xs); }
  .bj-pdp__rating { display: flex; align-items: center; gap: var(--space-xs); margin-top: var(--space-xs); }
  .bj-pdp__rating-count { color: var(--color-muted); font-size: 0.875rem; text-decoration: underline; }
  .bj-pdp__price { font-family: var(--font-display); font-size: 1.75rem; margin-top: var(--space-sm); color: var(--color-ink); }
  .bj-pdp__price .bj-price--compare { font-size: 1.125rem; }
  .bj-pdp__description { color: var(--color-muted); margin-top: var(--space-sm); }
  .bj-pdp__tags { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-sm); }

  .bj-pdp__form { margin-top: var(--space-md); display: flex; flex-direction: column; gap: var(--space-xs); }
  .bj-pdp__variant-label { display: block; margin-bottom: 4px; }
  .bj-pdp__purchase-row { display: flex; gap: var(--space-xs); align-items: stretch; }
  .bj-qty { display: flex; align-items: center; border: 1px solid var(--color-hairline); border-radius: var(--radius-md); }
  .bj-qty button { width: 40px; background: none; border: none; font-size: 1.125rem; cursor: pointer; color: var(--color-ink); }
  .bj-qty input { width: 40px; border: none; text-align: center; font-family: var(--font-body); font-size: 1rem; -moz-appearance: textfield; }
  .bj-qty input::-webkit-outer-spin-button, .bj-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
  .bj-pdp__atc { flex: 1; }
  .bj-pdp__dynamic-checkout { margin-top: var(--space-xs); }
  .bj-pdp__restock-note { color: var(--color-muted); font-size: 0.9375rem; margin-top: var(--space-xs); }
  .bj-pdp__restock-note a { color: var(--color-primary); text-decoration: underline; }

  .bj-pdp__trust { list-style: none; margin: var(--space-md) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-xs); }

  .bj-pdp__accordions { margin-top: var(--space-md); border-top: 1px solid var(--color-hairline); }

  .bj-sticky-atc {
    position: fixed; bottom: 0; left: 0; right: 0;
    background: var(--color-paper); box-shadow: var(--shadow-ambient-float);
    padding: var(--space-xs) 0; z-index: var(--z-sticky);
    transform: translateY(100%); transition: transform var(--duration-reveal) var(--ease-editorial);
  }
  .bj-sticky-atc.is-visible { transform: translateY(0); }
  .bj-sticky-atc__inner { display: flex; align-items: center; gap: var(--space-sm); }
  .bj-sticky-atc__title { display: none; }
  @media (min-width: 480px) { .bj-sticky-atc__title { display: block; flex: 1; } }
  .bj-sticky-atc__price { color: var(--color-muted); }
  .bj-sticky-atc .bj-btn { margin-left: auto; padding: 12px 28px; }
  @media (min-width: 1024px) { .bj-sticky-atc { display: none; } }

  /* Rich-text metafield rendered inside the PDP accordions (metafield_tag emits
     .metafield-rich_text_field). The global reset zeroes h1-h4 and p margins, so
     reading rhythm is restored here rather than globally. Lists stay display:block
     -- a flex container suppresses ::marker, which would drop the step numbers. */
  .bj-pdp__accordions .metafield-rich_text_field > * + * { margin-top: var(--space-xs); }
  .bj-pdp__accordions .metafield-rich_text_field > :first-child { margin-top: 0; }
  .bj-pdp__accordions .metafield-rich_text_field h2,
  .bj-pdp__accordions .metafield-rich_text_field h3 {
    font-size: var(--size-title); color: var(--color-ink); margin-top: var(--space-sm);
  }
  .bj-pdp__accordions .metafield-rich_text_field ol,
  .bj-pdp__accordions .metafield-rich_text_field ul {
    margin: var(--space-xs) 0 0; padding-left: 1.35em;
  }
  .bj-pdp__accordions .metafield-rich_text_field li + li { margin-top: 6px; }
  .bj-pdp__accordions .metafield-rich_text_field li::marker { color: var(--color-primary); font-weight: 560; }
  .bj-pdp__accordions .metafield-rich_text_field strong { font-weight: 560; color: var(--color-ink); }
  .bj-pdp__accordions .metafield-rich_text_field a { color: var(--color-primary); }
/* END_SECTION:main-product */

/* START_SECTION:newsletter (INDEX:95) */
.bj-newsletter { background: var(--color-primary); padding-block: var(--space-lg); }
  .bj-newsletter__inner { display: flex; flex-direction: column; gap: var(--space-md); align-items: flex-start; }
  @media (min-width: 1024px) { .bj-newsletter__inner { flex-direction: row; align-items: center; justify-content: space-between; } }
  .bj-newsletter__copy h2, .bj-newsletter__copy p { color: var(--color-paper); }
  .bj-newsletter__copy p { margin-top: var(--space-xs); }
  .bj-newsletter__copy .bj-hand-label { margin-top: 0; }
  .bj-newsletter__form {
    display: flex; gap: var(--space-xs); flex-wrap: wrap; min-width: min(420px, 100%);
    padding: var(--space-xs); border-radius: var(--radius-md);
  }
  .bj-newsletter__form .bj-input { flex: 1; min-width: 220px; border-color: transparent; }
  .bj-newsletter__form .bj-input:focus { border-color: var(--color-paper); }
  .bj-newsletter__success { color: var(--color-paper); width: 100%; margin-top: var(--space-xs); padding: 0 var(--space-xs); }
/* END_SECTION:newsletter */

/* START_SECTION:page-header (INDEX:98) */
.bj-page-header { padding-block: var(--space-xl) var(--space-lg); }
  .bj-page-header__inner { max-width: 720px; }
  .bj-page-header__eyebrow { margin-bottom: var(--space-sm); }
  .bj-page-header__subheading { color: var(--color-muted); margin-top: var(--space-sm); max-width: 56ch; }

  .bj-page-header--image { padding-block: 0; position: relative; }
  .bj-page-header--image .bj-page-header__media { height: clamp(320px, 42vh, 480px); position: relative; }
  .bj-page-header--image .bj-page-header__media img { width: 100%; height: 100%; object-fit: cover; }
  .bj-page-header--image .bj-page-header__media::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(0deg, oklch(0.17 0.02 240.4 / 0.55) 0%, oklch(0.17 0.02 240.4 / 0.05) 45%, transparent 65%);
  }
  .bj-page-header--image .bj-page-header__inner {
    position: absolute; bottom: var(--space-lg); left: 50%; transform: translateX(-50%);
    width: 100%; max-width: var(--container-max); padding-inline: var(--space-sm);
  }
  @media (min-width: 768px) { .bj-page-header--image .bj-page-header__inner { padding-inline: var(--space-md); } }
  .bj-page-header--image .bj-page-header__heading,
  .bj-page-header--image .bj-page-header__subheading { color: var(--color-paper); }
/* END_SECTION:page-header */

/* START_SECTION:product-reviews (INDEX:114) */
.bj-reviews__head { display: flex; flex-direction: column; gap: var(--space-xs); margin-bottom: var(--space-md); }
  .bj-reviews__summary { display: flex; align-items: center; gap: var(--space-xs); }
  .bj-reviews__count { color: var(--color-muted); font-size: 0.9375rem; }
  .bj-reviews__app-block { grid-column: 1 / -1; }
/* END_SECTION:product-reviews */

/* START_SECTION:reviews-index (INDEX:125) */
.bj-reviews-index { padding-block: var(--space-lg) var(--space-xl); }
  .bj-reviews-index__summary {
    display: flex; flex-wrap: wrap; gap: var(--space-lg); align-items: center;
    padding-bottom: var(--space-lg); margin-bottom: var(--space-md); border-bottom: 1px solid var(--color-hairline);
  }
  .bj-reviews-index__score { display: flex; align-items: center; gap: var(--space-md); }
  .bj-reviews-index__number { color: var(--color-ink); }
  .bj-reviews-index__count { color: var(--color-muted); margin-top: 4px; }
  .bj-reviews-index__breakdown { display: flex; flex-direction: column; gap: 6px; min-width: 240px; flex: 1; }
  .bj-reviews-index__bar-row { display: grid; grid-template-columns: 44px 1fr 36px; align-items: center; gap: var(--space-xs); font-size: 0.8125rem; color: var(--color-muted); }
  .bj-reviews-index__bar-track { height: 6px; background: var(--color-hairline); border-radius: 3px; overflow: hidden; }
  .bj-reviews-index__bar-fill { display: block; height: 100%; background: var(--color-accent); }

  .bj-reviews-index__filters { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-bottom: var(--space-md); }
  .bj-reviews-index__filters button { cursor: pointer; font-family: inherit; }
  .bj-reviews-index__filters button:not(.bj-collection-pill--active) { background: none; }

  .bj-reviews-index__empty { text-align: center; color: var(--color-muted); padding: var(--space-lg) 0; }
  .bj-reviews-index__empty-state { text-align: center; padding: var(--space-xl) 0; display: flex; flex-direction: column; align-items: center; gap: var(--space-xs); }
  .bj-reviews-index__empty-state .bj-body { color: var(--color-muted); max-width: 46ch; }
  .bj-reviews-index__app-block { grid-column: 1 / -1; }
/* END_SECTION:reviews-index */

/* START_SECTION:testimonials (INDEX:137) */
.bj-testimonials { background: var(--color-surface-warm); padding-block: var(--space-xl); }
  .bj-testimonials__head { max-width: 56ch; margin-bottom: var(--space-md); }
  .bj-testimonials__footer { display: flex; justify-content: center; margin-top: var(--space-md); }
/* END_SECTION:testimonials */