/* categories-subset.css: the part of five stylesheets that /category/postpartum/, /category/baby-massage/ and
   /category/breastfeeding/ use (20/10/2026). Those pages linked style.css, motion.css, pages/categories.css,
   pages/cream-page.css and soft.css (370 KB, about 74 KB compressed, 1,550 rules) and used 445 of those rules.
   Google's phone test waits for every stylesheet before the first paint, so these pages now link this one file
   (about 16 KB compressed) in their place, and load the five full files after the first paint (a safety net, and
   it caches them for the next page).
   The rules were picked by scanning the three pages at three widths, before and after cookie consent, scrolled
   through, with the phone menu and its sections, site search, the cookie settings, and signed in (photo or
   initials) with an item in the cart (169 page states); every element's computed style was then compared
   with the five full files. Each rule is copied exactly, in the same order; every @keyframes, @font-face and
   @property is kept.
   The five files are unchanged, and every other page still links them (the other three topic pages too). Edit a
   rule these pages use here AND in its own file, and bump this file's ?v= on the three pages (stylesheets are
   cached for a day): a change made only in the full file reaches these pages only once the full files arrive, so
   it would flash in. If the topic page layout changes, re-run the scan.
   Generated from style.css?v=2026-09-25-2, motion.css?v=2026-06-10-2, pages/categories.css?v=2026-09-25-2,
   pages/cream-page.css?v=2026-07-09-1 and soft.css?v=2026-10-01-3. */
/* from /css/style.css */
@font-face{font-family:'Quicksand';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/quicksand-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  /* ── Brand core (v1.2) ── */
  --brand: #8d319b;          /* bmb Purple #8D319B — primary / grounding */
  --brand-dk: #6e2479;       /* darker purple — hover / emphasis */
  --brand-50:  #f7eef9;      /* near-white purple tint */
  --brand-100: #efd9f3;      /* pale purple */
  --brand-200: #ddb5e6;      /* light purple */
  --brand-700: #5a1f63;      /* deep purple */
  --navy: #5a1f63;           /* (was navy) → deep purple — section eyebrows + strong proof */
  --navy-dk: #3f1546;        /* darker deep purple for hover */
  --gold: #7fa8e8;           /* (was gold) → Spectrum 02 periwinkle — numbers + accents */
  --gold-dk: #6588da;        /* darker periwinkle for hover */
  --accent: #5bc2e7;         /* bmb Blue #5BC2E7 — signature accent on LIGHT surfaces (links, labels, highlights) */
  --accent-ink: #1f7fa0;     /* darkened blue for accent TEXT that needs contrast on cream (≥4.5:1) */
  --cream: #f1eee9;          /* bmb Cream #F1EEE9 — soft light surface */

  /* ── Brand spectrum — blue → purple periwinkle bridge (v1.2) ── */
  --spectrum-1: #74cbea;     /* Spectrum 01 — closest to blue */
  --spectrum-2: #7fa8e8;     /* Spectrum 02 */
  --spectrum-3: #9091e6;     /* Spectrum 03 — periwinkle midpoint */
  --spectrum-4: #a87bd8;     /* Spectrum 04 */
  --spectrum-5: #bc66c6;     /* Spectrum 05 — closest to purple */

  /* ── Surface + text (Drenched per Brand Guidelines v1.2 In Application) ──
     The brand surface IS bmb-Purple. Cream is text and accents on top.
     --ink therefore is the LIGHT text color (cream); use --ink-on-cream
     only when you genuinely have a cream/light card and need ink text. */
  --bg: #8d319b;             /* bmb Purple — the surface */
  --bg-2: #6e2479;           /* deeper purple — inset bands, deeper sections */
  --bg-3: #5a1f63;           /* deepest purple — footer, end-state surfaces */
  --surface: #f1eee9;        /* a cream surface (for cards that pop on purple) */
  --ink: #f1eee9;            /* cream — the default text color on purple */
  --ink-2: rgba(241,238,233,0.82);   /* dimmed cream for supporting text */
  --muted: rgba(241,238,233,0.62);   /* further-dimmed cream */
  --ink-on-cream: #232527;   /* use ONLY when you have a cream card / light surface */
  --line: rgba(241,238,233,0.18);    /* subtle cream hairline on purple */
  --line-rose: rgba(241,238,233,0.30);

  --max: 1180px;
  --r: 6px;
  --r-lg: 14px;
  --shadow-sm: 0 1px 3px rgba(80, 55, 95,.05), 0 6px 16px rgba(80, 55, 95,.06);
  --shadow:    0 6px 18px rgba(80, 55, 95,.08), 0 28px 60px rgba(80, 55, 95,.08);

  /* Typography: three fonts for the whole site (ticket #112, 25/09/2026), the
     ones on the client-approved brochure homepage:
       Quicksand         body text, UI, labels and the sans headings
       Playfair Display  serif headings where a page uses a serif
       Great Vibes       small script accents only
     Mulish (the old body font) is retired. The --serif / --sans variable
     names are kept to avoid sweeping every rule across the codebase; both
     point to Quicksand. Read --serif as "display font" and --sans as
     "body font". */
  --font-display: 'Quicksand', system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: 'Quicksand', system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: 'Quicksand', system-ui, -apple-system, "Segoe UI", sans-serif;
  --sans: 'Quicksand', system-ui, -apple-system, "Segoe UI", sans-serif;
}
body:not(.home-concept), .home-concept .site-footer, .home-concept .bmb-consent{ font-weight: 500; }
*{ box-sizing: border-box; }
:where(button, input, select, textarea, optgroup){ font-family: inherit; }
html{ font-family: var(--font-body); color: var(--ink); background: var(--bg); font-size: 17px; overflow-x: clip; }
body{ margin: 0; line-height: 1.6; overflow-x: clip; }
:where(
  .about-journey-grid li,
  .about-pillars li,
  .about-preview .about-journey-grid li,
  .about-preview .about-pillars li,
  .bmb-article-preview .bmb-benefit-col,
  .bmb-article-preview .bmb-bundle-card,
  .bmb-article-preview .bmb-contact-chip,
  .bmb-article-preview .bmb-faq-item,
  .bmb-article-preview .bmb-first-trials-cta,
  .bmb-article-preview .bmb-location-card,
  .bmb-article-preview .bmb-service-spec,
  .bmb-article-preview .bmb-shop-card,
  .bmb-blog-card,
  .bmb-bundle-card,
  .bmb-card--cream,
  .bmb-consent,
  .bmb-consent-btn--secondary,
  .bmb-consent-reopen,
  .bmb-consent-text,
  .bmb-cookie-banner,
  .bmb-cookie-modal,
  .bmb-faq-item,
  .bmb-final-cta-card,
  .bmb-light-surface,
  .bmb-magazine-preview .bmb-mag-remedy,
  .bmb-menu-card,
  .bmb-pack-card,
  .bmb-shop-card,
  .bmb-stage-card,
  .bmb-testimonial-card,
  .bmb-trim-card,
  .bmb-trim-figure,
  .bmb-why-pillars > li,
  .bmb-why ul > li,
  .bmb-why-item,
  .categories-preview .bmb-post-card,
  .contact-preview .contact-channel,
  .contact-preview .contact-form,
  .contact-preview .contact-location,
  .contact-preview .contact-quick-card,
  .flyout-cat,
  .flyout-panel,
  .home-preview .bmb-blog-card,
  .home-preview .bmb-location-card,
  .home-preview .bmb-partner-tile,
  .home-preview .bmb-review-card,
  .home-preview .bmb-review-summary,
  .home-preview .bmb-stage-services a,
  .home-preview .bmb-timeline > li,
  .home-preview .bmb-why-pillars li,
  .partners-preview .partners-hero-meta li,
  .partners-preview .partners-location,
  .partners-preview .partners-why-grid li,
  .portfolio-preview .portfolio-platform a,
  .portfolio-preview .portfolio-story,
  .post-card,
  .primary-nav .flyout-panel,
  .primary-nav .nav-cta,
  .product-card,
  .products-preview .bmb-product-card,
  .service-benefits-grid > li,
  .service-prep-card,
  .service-prep-note,
  .service-preview .service-benefits-grid li,
  .service-preview .service-faq-list details,
  .service-preview .service-hero-meta > div,
  .service-preview .service-prep-card,
  .service-preview .service-related-grid li,
  .service-preview .service-story,
  .service-preview--archive .post-grid--archive .bmb-post-card,
  .service-related-grid > li,
  .service-story,
  .site-footer .footer-location,
  .submenu,
  .terms-glance-card,
  .terms-preview .terms-glance-stat,
  .terms-preview .terms-toc-inner,
  .terms-toc-card,
  .testimonial-card,
  /* Article cards inside a group */
.terms-preview .terms-article,
  /* Contact pill — cream-on-purple per In Application. The header bar is
   bmb-Purple now; the CTA inverts to a cream pill with purple text so it
   reads as the brand's signature call-to-action. */
.primary-nav .nav-cta,
  /* Enquiry form — sits BELOW the location cards. */
.bmb-article-preview .enquiry-form,
  /* Flex-column layout per card. Subgrid wasn't an option because the
   card has 6 children and the parent only has 3 row tracks — the
   children collapsed into overlapping cells. */
.contact-preview .contact-location,
  /* Ghost CTA ("Explore Services") — frosted-glass surface to match the
   header's vibe. Translucent white-ish background + backdrop blur so
   the photo behind subtly shows through,
  /* Primary CTA ("Book Now") — elevated hero-only treatment. Bigger,
  /* Submenu panel */
.primary-nav .submenu,
  /* Service FAQ pills (cream cards on the purple body). */
details.service-faq,
.service-faq-body,
.service-faq-list details,
  /* Service related cards (cream cards in the related grid). */
.service-related-card,
.service-related-grid a,
  /* Process / numbered cards on courses pages. */
.service-process-list > li,
.service-process-grid > li,
  /* Bundle / product / shop cards on /product/* pages. */
.bmb-bundle-card, .bmb-pack-card, .bmb-menu-card,
.bmb-bundle-eyebrow, .bmb-bundle-duration, .bmb-bundle-list,
.bmb-menu-name, .bmb-menu-list,
  /* Partners page location card. */
.partners-preview .partners-loc-card,
  /* Contact-us cards (channel grid + form). */
.contact-preview .contact-channel-card,
  /* ── Enquiry form ──────────────────────────────────────────────── */
.contact-preview .contact-form-section .contact-form-card,
  /* ── Individual card: flex-column with fixed-height title slot so
   price + CTA sit on the same horizontal baseline across all cards
   regardless of how many lines the title actually wraps to. */
.bmb-article-preview .related-products .product-card,
  /* ── Terms & conditions callout (for happy-hour-massage-promotion).
   Sits between the offer grid and the first-trials CTA. Matches the
   bundles-packages width breakout so it doesn't read as cramped. */
.bmb-article-preview .bmb-terms-callout,
  /* ─── Sticky bottom CTA (appears after scrolling past the hero) ─ */
/* When the hero Book button has scrolled off-screen,
  and a
   slow "breathing" shadow pulse so it draws the eye without being
   garish. Hover pauses the breath and lifts. */
.home-preview .bmb-stage-frame > .bmb-hero .bmb-cta.bmb-cta--primary,
  no scale. Toggled by
   the same JS scroll listener that flips the floating header pill. */
.service-floating-cta,
  premium dimensional shadow stack (inset top highlight + warm ambient
   glow),
  subtle vertical brand→brand-dk gradient for depth,
  this pill
   FADES IN at its final position — no slide,
  with a soft saturation pop. */
.home-preview .bmb-stage-frame > .bmb-hero .bmb-cta.bmb-cta--ghost
){
  --ink: var(--ink-on-cream, #232527);
  --ink-2: #4a4a4a;
  --muted: #5a5358;
  color: var(--ink);
}
.primary-nav .nav-cta{ color: var(--brand) !important; }
:where(
  .bmb-product-card, .post-card, .service-prep-card, .service-story,
  .bmb-mag-remedy, .bmb-faq-item, .bmb-bundle-card, .bmb-menu-card,
  .bmb-benefit-col, .bmb-location-card, .bmb-review-card, .bmb-review-summary,
  .bmb-blog-card, .bmb-shop-card, .bmb-partner-tile, .contact-channel,
  .contact-quick-card, .contact-location, .portfolio-story, .partners-location,
  .about-pillars li, .about-journey-grid li, .partners-why-grid li,
  .bmb-why > div, .service-benefits-grid > li, .service-related-grid > li,
  .terms-toc-card, .terms-glance-card, .bmb-timeline > li
) :where(h1,h2,h3,h4,h5,h6,p,a,li,span,strong,em,blockquote){
  color: inherit;
}
.primary-nav .nav-cta{ color: var(--brand) !important; }
:where(.bmb-product-card, .post-card, .service-prep-card, .service-story,
       .terms-article, .bmb-mag-body, .bmb-mag-questions, .bmb-mag-bottomline,
       .about-pillars, .about-journey-grid, .partners-why-grid,
       .bmb-why > div, .service-benefits-grid > li, .service-related-grid > li,
       .portfolio-story) :where(h1,h2,h3,h4,h5,h6,p,a,li,span,strong,em,blockquote){
  color: inherit;
}
a{ color: var(--spectrum-1); text-decoration: none; }
a:hover{ text-decoration: underline; color: #ffffff; }
h1, h2, h3{ font-family: var(--font-display); color: var(--ink); margin: 0 0 .5em; font-weight: 600; letter-spacing: -.01em; }
h1{ font-size: 2.25rem; line-height: 1.2; }
h2{ font-size: 1.625rem; }
h3{ font-size: 1.15rem; }
.site-header{
  /* Slimmed 2026-07-17 (client: header too thick): .6rem vertical
     (was 1rem) + 60px logo (was 80px) ≈ 81px tall (was ~112px). */
  padding: .6rem max(1.5rem, calc((100vw - 1560px) / 2));
  border-bottom: 1px solid rgba(80, 55, 95, 0.10);
  display: flex; flex-wrap: wrap; gap: 1rem 2rem;
  align-items: center; justify-content: space-between;
  /* SOLID OPAQUE CREAM — no transparency, no backdrop blur, no
     tint changes per page. Earlier attempts at translucent /
     warm-taupe / light-frost all let the page bg bleed through
     and absorb the cyan brand logo. A solid cream bar guarantees
     the cyan logo (and the dark nav text) reads on every page
     regardless of what's behind. The pill state has its own
     chrome (a white pill with plum text since 24/09/2026) via the
     .is-floating rules below. */
  background: var(--bg);
  box-shadow: 0 4px 20px -10px rgba(0, 0, 0, 0.28);
  position: sticky; top: 0; z-index: 50;
  will-change: opacity;
  /* Smooth bg + border transitions so the warm-taupe → opaque cream
     swap that fires when the mobile burger opens lines up with the
     0.35s menu slide-in. NOTE: backdrop-filter is intentionally NOT
     transitioned — backdrop-filter > 0 creates a containing block for
     fixed-position descendants, and easing it from blur(16px) to none
     over 320ms would trap the .primary-nav overlay inside the ~50px
     header for those 320ms (the "only the top of the menu shows" bug).
     Drop backdrop-filter instantly; only the opaque colours animate. */
  transition:
    background-color .32s cubic-bezier(.16, 1, .3, 1),
    border-color .32s cubic-bezier(.16, 1, .3, 1),
    box-shadow .32s cubic-bezier(.16, 1, .3, 1);
}
@keyframes pillFadeIn {from{ opacity: 0; }to{ opacity: 1; } }
@keyframes barFadeIn  {from{ opacity: 0; }to{ opacity: 1; } }
.site-header.is-floating{ animation: pillFadeIn .32s ease-out; }
.site-header:not(.is-floating){ animation: barFadeIn .25s ease-out; }
@media (prefers-reduced-motion: reduce){
.site-header.is-floating,
  .site-header:not(.is-floating){ animation: none; }
}
.site-header.is-floating{
  position: fixed;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 2rem);
  max-width: 1520px;
  margin: 0 auto;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 10px 30px -12px rgba(85, 63, 99, 0.28);
  padding: .55rem 1.4rem;
  border: 1px solid rgba(212, 197, 227, 0.9);
  border-bottom: 1px solid rgba(212, 197, 227, 0.9);
  gap: .6rem 1.2rem;
  flex-wrap: nowrap;
}
@media (max-width: 720px){
.site-header.is-floating{
    width: calc(100% - 1rem);
    top: .5rem;
    padding: .3rem .8rem;
    border-radius: 999px;
    gap: .4rem;
  }
}
.site-header.is-floating .brand img{
  height: 40px;
  transition: height .35s cubic-bezier(.22, 1, .36, 1);
}
@media (max-width: 720px){
.site-header.is-floating .brand img{ height: 30px; }
}
@media (max-width: 768px){
body.mobile-nav-open .site-header,
  body.mobile-nav-open .site-header.is-floating{
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    border-radius: 0 !important;
    background: var(--bg) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid var(--line) !important;
    box-shadow: none !important;
    padding: 1rem 1.25rem !important;
    animation: none !important;
    /* Smooth the warm-taupe → opaque-cream chrome flip so it lines up
       with the 0.35s menu slide-in. CRITICAL: do NOT transition
       backdrop-filter — backdrop-filter > 0 creates a containing block
       for fixed-position descendants. If we eased it from blur(16px)
       to none, for 320ms the .primary-nav overlay (position:fixed;
       inset:0) would still be trapped inside the ~50px header and
       only the first menu item would be visible (this was the
       previously-fixed bug; transitioning backdrop-filter reintroduced
       it). Drop backdrop-filter instantly via no-transition; only the
       opaque colours animate. */
    transition:
      background-color .32s cubic-bezier(.16, 1, .3, 1) !important,
      border-bottom-color .32s cubic-bezier(.16, 1, .3, 1) !important,
      box-shadow .32s cubic-bezier(.16, 1, .3, 1) !important;
  }
body.mobile-nav-open .bmb-nav-toggle-bar{ background: #232527 !important; }
body.mobile-nav-open .primary-nav{
    z-index: 95 !important;
    /* Match the transparent + blurred mobile nav background below.
       Was solid var(--bg); switched to slight-transparency frost
       so the page softens through instead of a solid cream wall. */
    background:var(--bg-2) !important;
    -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
    backdrop-filter: blur(20px) saturate(140%) !important;
  }
}
.site-header .brand{ font-weight: 600; font-size: 1.125rem; color: var(--brand); line-height: 0; display: inline-flex; align-items: center; position: relative; }
.site-header .brand img{ display: block; height: 60px; width: auto; max-width: 100%; transition: opacity .15s ease; }
.site-header .brand:hover img{ opacity: .85; }
@media (max-width: 640px){
.site-header .brand img{ height: 60px; }
}
.site-header .brand img.brand-logo-light{ display: block; }
.site-header .brand img.brand-logo-dark{ display: none; }
.site-header .brand img.brand-logo-pill{ display: none; }
.site-header.is-floating .brand img.brand-logo-light{ display: none !important; }
.site-header.is-floating .brand img.brand-logo-dark{ display: none !important; }
.site-header.is-floating .brand img.brand-logo-pill{ display: block !important; }
body.is-immersive-page .site-header.is-floating .brand img.brand-logo{ filter: none; }
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a{
  color: #553f63 !important;
}
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a:hover,
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a:focus-visible{
  color: #7a6390 !important;
}
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a.nav-cta,
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a.nav-cta:hover,
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a.nav-cta:focus-visible{
  color: #ffffff !important;
  background: #553f63 !important;
  border-color: #553f63 !important;
}
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a.nav-cta:hover,
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a.nav-cta:focus-visible{
  background: #43304f !important;
}
.site-header.is-floating .primary-nav .nav-search-item .nav-search-btn,
.site-header.is-floating .primary-nav .nav-root > li.nav-account-item > a.nav-account,
.site-header.is-floating .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{
  color: #553f63;
  border-color: #d4c5e3;
}
.site-header.is-floating .primary-nav .nav-search-item .nav-search-btn:hover,
.site-header.is-floating .primary-nav .nav-search-item .nav-search-btn:focus-visible,
.site-header.is-floating .primary-nav .nav-root > li.nav-account-item > a.nav-account:hover,
.site-header.is-floating .primary-nav .nav-root > li.nav-account-item > a.nav-account:focus-visible,
.site-header.is-floating .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:hover,
.site-header.is-floating .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:focus-visible{
  background: #f3edf7;
}
.site-header.is-floating .primary-nav .nav-search-item .nav-search-btn:focus-visible,
.site-header.is-floating .nav-account:focus-visible,
.site-header.is-floating .nav-cart:focus-visible,
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a:focus-visible{
  outline: 2px solid #7a6390;
  outline-offset: 2px;
}
.primary-nav .nav-root{ display: flex; flex-wrap: wrap; gap: 0 1.75rem; margin: 0; padding: 0; list-style: none; align-items: center; }
.primary-nav .nav-root > li{ position: relative; }
.primary-nav .nav-root > li > a{
  font-family: var(--serif);
  font-size: 1.22rem;
  font-weight: 600;
  letter-spacing: 0;
  /* Dark ink — header bar is now light cream-frost (was warm-taupe
     where near-white text was readable). Dark text on light frost
     reads well on every page, with the pill state below forcing
     white text back when the floating dark pill is active. */
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .5rem 0;
  transition: color .15s ease;
}
.primary-nav .nav-root > li > a:hover,
.primary-nav .nav-root > li > a:focus-visible{
  color: var(--brand-dk, #6e2479);
  text-decoration: none;
}
.primary-nav .caret{
  display: inline-block;
  width: .55em;
  height: .55em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
  opacity: .75;
}
.primary-nav .has-submenu:hover > a .caret,
.primary-nav .has-submenu:focus-within > a .caret{ transform: rotate(-135deg) translateY(2px); opacity: 1; }
.primary-nav .submenu{
  position: absolute;
  top: 100%;
  left: -1rem;
  min-width: 240px;
  margin: 0;
  padding: .5rem 0;
  list-style: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(42, 42, 42, .08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  z-index: 50;
}
.primary-nav .nav-cta-item{ margin-left: .4rem; }
.primary-nav .nav-cta{
  display: inline-flex;
  align-items: center;
  padding: .42rem 1.1rem !important;
  background: var(--cream);
  color: var(--brand) !important;
  border-radius: 999px;
  font-family: var(--sans) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
  box-shadow: 0 4px 12px -4px rgba(31, 8, 36, 0.45);
}
.primary-nav .nav-cta:hover,
.primary-nav .nav-cta:focus-visible{
  background: #ffffff !important;
  color: var(--brand-dk) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px -4px rgba(31, 8, 36, 0.55);
  text-decoration: none;
}
.primary-nav .has-submenu:hover > .submenu,
.primary-nav .has-submenu:focus-within > .submenu{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .18s ease, transform .18s ease, visibility 0s;
}
.primary-nav .submenu li{ margin: 0; }
.primary-nav .submenu a{
  display: block;
  padding: .55rem 1.1rem;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0;
  white-space: nowrap;
  transition: background .12s ease, color .12s ease;
}
.primary-nav .submenu a:hover,
.primary-nav .submenu a:focus-visible{
  background: var(--brand-100, #efd9f3);
  color: var(--brand);
  text-decoration: none;
}
@media (max-width: 768px){
.primary-nav .nav-root > li > a,
  .primary-nav .submenu a{
    font-family: var(--sans);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: .005em;
  }
}
.bmb-nav-toggle{
  display: none;
  width: 44px;
  height: 44px;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  position: relative;
  z-index: 100;
}
.bmb-nav-toggle-bar{
  display: block;
  width: 24px;
  height: 2px;
  /* Dark ink on the light cream-frost header (the new global default,
     2026-06-10). Was cream on warm-taupe before the light-bar swap.
     The mobile-nav-open state above already uses #232527. */
  background: var(--ink);
  border-radius: 2px;
  transition: transform .25s cubic-bezier(0.16, 1, 0.3, 1), opacity .15s ease, background-color .25s ease;
}
.site-header.is-floating .bmb-nav-toggle-bar{
  background: #553f63 !important;
}
body.mobile-nav-open .bmb-nav-toggle-bar:nth-child(1){ transform: translateY(8px) rotate(45deg); }
body.mobile-nav-open .bmb-nav-toggle-bar:nth-child(2){ opacity: 0; }
body.mobile-nav-open .bmb-nav-toggle-bar:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }
.nav-account-item,
.nav-cart-item{ display: flex; align-items: center; margin-left: .4rem; flex: 0 0 auto; list-style: none; padding: 0; }
.nav-account-item::marker,
.nav-cart-item::marker{ content: none; }
.nav-tel-item{ display: none; }
.nav-cart-item.is-empty{ display: none; }
.primary-nav .nav-root > li.nav-account-item > a.nav-account,
.primary-nav .nav-root > li.nav-cart-item > a.nav-cart{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 auto;
  position: relative;
  /* The generic nav-link rule applies vertical padding, which shrank the
     content box and rendered the avatar squashed (41×24). */
  padding: 0;
  width: 2.5rem; height: 2.5rem;
  min-width: 2.5rem; max-width: 2.5rem;
  min-height: 2.5rem; max-height: 2.5rem;
  flex-basis: 2.5rem;
  border-radius: 50%;
  border: 1.6px solid rgba(255, 255, 255, .7);
  color: #fff;
  text-decoration: none;
  overflow: visible;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.primary-nav .nav-root > li.nav-account-item > a.nav-account:hover,
.primary-nav .nav-root > li.nav-account-item > a.nav-account:focus-visible,
.primary-nav .nav-root > li.nav-cart-item > a.nav-cart:hover,
.primary-nav .nav-root > li.nav-cart-item > a.nav-cart:focus-visible{
  background: rgba(255, 255, 255, .16);
  transform: translateY(-1px);
}
.nav-account:focus-visible,
.nav-cart:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }
.nav-account svg,
.nav-cart svg{ width: 1.35rem; height: 1.35rem; flex: 0 0 auto; }
.nav-account .nav-account-face,
.nav-cart .nav-cart-face{ display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.primary-nav .nav-root > li.nav-account-item > a.nav-account.is-in{
  background: #fff; border-color: #fff; color: #8d319b;
  font-family: var(--sans, sans-serif); font-weight: 800; font-size: .9rem; letter-spacing: .01em;
  overflow: hidden;
}
.nav-account img{
  position: absolute; inset: 0; display: block;
  width: 100%; height: 100%; object-fit: cover; border-radius: 50%;
}
.nav-account-label,
.nav-cart-label{ display: none; }
.nav-cart-badge{
  position: absolute; top: -.42rem; right: -.42rem;
  min-width: 1.05rem; height: 1.05rem; padding: 0 .2rem;
  box-sizing: border-box; border-radius: 999px;
  background: var(--accent, #5bc2e7); color: #1b2b31;
  font-family: var(--sans, sans-serif); font-size: .68rem; font-weight: 800; line-height: 1.05rem;
  text-align: center;
}
@media (min-width: 769px){
.primary-nav .nav-root > li.nav-search-item{ order: 1; }
.primary-nav .nav-root > li.nav-account-item{ order: 2; margin-left: calc(-1.75rem + 1rem); }
.primary-nav .nav-root > li.nav-cart-item{ order: 3; margin-left: calc(-1.75rem + 1rem); }
.primary-nav .nav-root > li.nav-cta-item{ order: 4; margin-left: calc(-1.75rem + 1rem); }
.primary-nav .nav-root > li.nav-account-item > a.nav-account,
  .primary-nav .nav-root > li.nav-cart-item > a.nav-cart,
  .primary-nav .nav-search-item .nav-search-btn{
    width: 2.3rem; height: 2.3rem;
    min-width: 2.3rem; max-width: 2.3rem;
    min-height: 2.3rem; max-height: 2.3rem;
    flex-basis: 2.3rem;
  }
}
@media (max-width: 768px){
.bmb-nav-toggle{ display: flex; }
.site-header{ padding: .55rem 1.25rem; flex-wrap: nowrap; }
.site-header .brand{ flex: 0 1 auto; }
.primary-nav{
    position: fixed;
    inset: 0;
    /* Slight transparency + backdrop blur so the page beneath
       softens through instead of a solid cream wall (2026-06-10). */
    background:var(--bg-2);
    -webkit-backdrop-filter: blur(20px) saturate(140%);
    backdrop-filter: blur(20px) saturate(140%);
    padding: 6rem 1.5rem 2.5rem;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .35s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 90;
    visibility: hidden;
  }
body.mobile-nav-open .primary-nav{
    transform: translateX(0);
    visibility: visible;
  }
body.mobile-nav-open{
    overflow: hidden;
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
  }
body.mobile-nav-open .bmb-nav-toggle{
    position: fixed;
    top: .85rem;
    right: 1.25rem;
  }
.primary-nav{ overscroll-behavior: contain; }
.primary-nav .nav-root{
    display: grid;
    /* minmax(0,1fr), not 1fr: a plain 1fr floors at the content's min size, so
       a long display name in the account tile widened its column and shoved
       the cart tile out of the drawer. */
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: .6rem;
    row-gap: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    align-items: stretch;
  }
.primary-nav .nav-root > li{
    width: 100%;
    min-width: 0;         /* ditto: grid items default to min-width:auto */
    grid-column: 1 / -1;
    border-bottom: 0;
  }
.primary-nav .nav-root > li.has-submenu{
    border-bottom: 1px solid var(--line);
  }
.primary-nav .nav-root > li > a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.1rem 0;
    font-size: 1.125rem;
    color: var(--ink);
    font-weight: 500;
  }
.primary-nav .nav-root > li > a:hover,
  .primary-nav .nav-root > li > a:focus,
  .primary-nav .nav-root > li > a:focus-visible,
  .primary-nav .nav-root > li > a:active,
  .primary-nav .has-submenu.is-expanded > a{
    color: #2a8fb0;
  }
.primary-nav .caret{
    transform: rotate(45deg) translateY(-2px);
    transition: transform .25s ease;
    opacity: .55;
  }
.primary-nav .has-submenu.is-expanded .caret{
    transform: rotate(-135deg) translateY(2px);
    opacity: 1;
  }
.primary-nav .submenu{
    position: static;
    opacity: 1;
    /* hidden while collapsed, so Tab skips links nobody can see (a child's
       visibility:visible would otherwise override the closed drawer's hidden).
       The delay keeps the links showing until the collapse has finished. */
    visibility: hidden;
    transform: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    min-width: 0;
    background: transparent;
    max-height: 0;
    overflow: hidden;
    transition:
      max-height .42s cubic-bezier(.22, 1, .36, 1),
      padding .35s cubic-bezier(.22, 1, .36, 1),
      visibility 0s linear .42s;
    list-style: none;
  }
.primary-nav .has-submenu.is-expanded .submenu{
    max-height: 520px;
    padding: 0 0 .75rem 1rem;
  }
body.mobile-nav-open .primary-nav .has-submenu.is-expanded .submenu{
    visibility: visible;
    transition-delay: 0s;
  }
.primary-nav .has-submenu:not(.is-expanded):hover > .submenu,
  .primary-nav .has-submenu:not(.is-expanded):focus-within > .submenu{
    visibility: hidden;
  }
@supports (interpolate-size: allow-keywords){
.primary-nav .submenu{
      height: 0; max-height: none;
      transition:
        height .42s cubic-bezier(.22, 1, .36, 1),
        padding .35s cubic-bezier(.22, 1, .36, 1),
        visibility 0s linear .42s;
    }
.primary-nav .has-submenu.is-expanded .submenu{ height: auto; max-height: none; }
}
body.mobile-nav-open .primary-nav .nav-root > li{
    animation: bmbNavRowIn .45s cubic-bezier(.22, 1, .36, 1) both;
  }
body.mobile-nav-open .primary-nav .nav-root > li:nth-child(1){ animation-delay:.10s }
body.mobile-nav-open .primary-nav .nav-root > li:nth-child(2){ animation-delay:.15s }
body.mobile-nav-open .primary-nav .nav-root > li:nth-child(3){ animation-delay:.20s }
body.mobile-nav-open .primary-nav .nav-root > li:nth-child(4){ animation-delay:.25s }
body.mobile-nav-open .primary-nav .nav-root > li:nth-child(5){ animation-delay:.30s }
body.mobile-nav-open .primary-nav .nav-root > li:nth-child(6){ animation-delay:.35s }
body.mobile-nav-open .primary-nav .nav-root > li.nav-account-item{ animation-delay:.41s }
body.mobile-nav-open .primary-nav .nav-root > li.nav-cart-item{ animation-delay:.45s }
body.mobile-nav-open .primary-nav .nav-root > li.nav-cta-item{ animation-delay:.51s }
body.mobile-nav-open .primary-nav .nav-root > li.nav-tel-item{ animation-delay:.57s }
@keyframes bmbNavRowIn{
    from{ opacity:0; transform:translateY(10px) }
    to{ opacity:1; transform:none }
  }
@media (prefers-reduced-motion: reduce){
body.mobile-nav-open .primary-nav .nav-root > li{ animation:none }
.primary-nav .submenu{ transition:none }
}
.primary-nav .submenu a{
    /* Mobile menu — the expanded submenu sits on the dark/purple mobile
       drawer, not the desktop cream panel. Cream text reads; dark text
       (the cream-scope default) would vanish. */
    padding: .55rem 0;
    font-size: 1rem;
    color: var(--cream);
    display: block;
  }
.primary-nav .submenu a:hover,
  .primary-nav .submenu a:focus-visible{
    color: #ffffff;
    background: transparent;
  }
.primary-nav .submenu li{
    opacity: 0;
    transform: translateY(-6px);
    transition:
      opacity .24s ease-out,
      transform .32s cubic-bezier(.22, 1, .36, 1);
  }
.primary-nav .has-submenu.is-expanded .submenu li{
    opacity: 1;
    transform: translateY(0);
  }
.primary-nav .has-submenu.is-expanded .submenu li:nth-child(1){ transition-delay: .06s; }
.primary-nav .has-submenu.is-expanded .submenu li:nth-child(2){ transition-delay: .10s; }
.primary-nav .has-submenu.is-expanded .submenu li:nth-child(3){ transition-delay: .14s; }
.primary-nav .has-submenu.is-expanded .submenu li:nth-child(4){ transition-delay: .18s; }
.primary-nav .has-submenu.is-expanded .submenu li:nth-child(5){ transition-delay: .22s; }
.primary-nav .has-submenu.is-expanded .submenu li:nth-child(6){ transition-delay: .26s; }
.primary-nav .has-submenu.is-expanded .submenu li:nth-child(7){ transition-delay: .30s; }
.primary-nav .has-submenu.is-expanded .submenu li:nth-child(8){ transition-delay: .34s; }
@media (prefers-reduced-motion: reduce){
.primary-nav .submenu,
    .primary-nav .submenu li{
      transition: none !important;
    }
.primary-nav .submenu li{
      opacity: 1;
      transform: none;
    }
}
.primary-nav .nav-root > li.nav-search-item{ margin: 0 0 1.1rem; }
.primary-nav .nav-search-item .nav-search-btn{
    width: 100%;
    height: auto;
    min-width: 0;
    justify-content: flex-start;
    gap: .7rem;
    padding: .9rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .07);
    font-family: var(--sans);
    font-size: .98rem;
    font-weight: 500;
    color: rgba(241, 238, 233, .72);
    text-align: left;
  }
.primary-nav .nav-search-item .nav-search-btn:hover,
  .primary-nav .nav-search-item .nav-search-btn:focus-visible{
    background: rgba(255, 255, 255, .13);
    border-color: rgba(255, 255, 255, .34);
    transform: none;
  }
.primary-nav .nav-search-item .nav-search-label{ display: inline; }
.primary-nav .nav-root > li.nav-account-item{ grid-column: 1 / 2; margin: 1.2rem 0 0; }
.primary-nav .nav-root > li.nav-cart-item{ grid-column: 2 / 3; margin: 1.2rem 0 0; display: block; }
.primary-nav .nav-root > li.nav-cart-item.is-empty{ display: block; }
.primary-nav .nav-root > li.nav-account-item > a.nav-account,
  .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .65rem;
    width: 100%; max-width: none; min-width: 0;
    height: auto; max-height: none; min-height: 0;
    flex-basis: auto;
    padding: .85rem .9rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 16px;
    background: rgba(255, 255, 255, .07);
    overflow: visible;
    font-family: var(--sans);
    font-size: .95rem;
    font-weight: 600;
    color: var(--ink);
  }
.primary-nav .nav-root > li.nav-account-item > a.nav-account:hover,
  .primary-nav .nav-root > li.nav-account-item > a.nav-account:focus-visible,
  .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:hover,
  .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:focus-visible{
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .34);
    transform: none;
  }
.nav-account .nav-account-face,
  .nav-cart .nav-cart-face{
    position: relative;
    flex: 0 0 auto;
    width: 2.1rem; height: 2.1rem;
    border-radius: 50%;
    border: 1.6px solid rgba(255, 255, 255, .7);
    box-sizing: border-box;
  }
.nav-account .nav-account-face{ overflow: hidden; }
.primary-nav .nav-root > li.nav-account-item > a.nav-account.is-in{
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .2);
    color: var(--ink);
    overflow: visible;
  }
.nav-account.is-in .nav-account-face{
    background: #fff; border-color: #fff; color: #8d319b;
    font-weight: 800; font-size: .82rem;
  }
.nav-account-label,
  .nav-cart-label{
    display: block;
    font-weight: inherit;
    line-height: 1.25;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
@media (max-width: 359px){
.primary-nav .nav-root > li.nav-account-item,
    .primary-nav .nav-root > li.nav-cart-item{ grid-column: 1 / -1; }
.primary-nav .nav-root > li.nav-cart-item{ margin-top: .6rem; }
}
.primary-nav .nav-root > li.nav-cta-item{ margin-left: 0; margin-top: 1.1rem; }
.primary-nav .nav-cta{
    display: block;
    text-align: center;
    padding: .8rem 1.4rem !important;
    font-size: 1.05rem !important;
  }
.primary-nav .nav-root > li.nav-tel-item{ display: block; margin-top: 1.15rem; }
.primary-nav .nav-root > li.nav-tel-item > a.nav-tel{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: .55rem;
    padding: .5rem 0;
    font-family: var(--sans);
    font-size: .92rem;
    font-weight: 500;
    color: rgba(241, 238, 233, .68);
    text-decoration: none;
  }
.primary-nav .nav-tel svg{ width: 1rem; height: 1rem; flex: 0 0 auto; }
.primary-nav .nav-tel strong{ color: var(--ink); font-weight: 700; letter-spacing: .01em; }
.primary-nav .nav-root > li.nav-tel-item > a.nav-tel:hover,
  .primary-nav .nav-root > li.nav-tel-item > a.nav-tel:focus-visible{ color: var(--ink); }
}
main{ max-width: var(--max); margin: 0 auto; padding: 2rem 1.25rem 4rem; }
main section{ margin: 2.25rem 0; }
.site-footer{
  background:var(--bg-2,#f3ece4);
  padding:4rem 2rem 1.6rem;color:var(--ink);
}
.site-footer .footer-row{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1.7fr repeat(4,minmax(0,1fr));
  gap:2.4rem;align-items:start;
}
.site-footer .footer-col-head{
  font-family:var(--serif);
  font-weight:500;font-size:1.25rem;
  letter-spacing:.005em;color:var(--ink);
  margin:0 0 1.4rem;text-transform:none;
}
.site-footer .footer-brand .footer-logo{
  height:54px;width:auto;margin-bottom:1.2rem;display:block;
}
.site-footer .footer-tagline{
  font-family:var(--sans);font-size:.92rem;line-height:1.65;
  color:var(--ink-2);margin:0 0 1.2rem;max-width:32ch;
}
.site-footer .footer-brand-contact{margin:0;font-family:var(--sans);font-size:.88rem}
.site-footer .footer-brand-contact a{
  color:var(--ink);font-family:var(--sans);
  font-size:.84rem;text-decoration:none;border-bottom:1px solid var(--brand);
  padding-bottom:1px;transition:color .15s, border-color .15s;
}
.site-footer .footer-brand-contact a:hover,
.site-footer .footer-brand-contact a:focus-visible{color:var(--accent);border-color:var(--accent)}
.site-footer .footer-col ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:.9rem;
}
.site-footer .footer-col li{margin:0}
.site-footer .footer-col li a{
  font-family:var(--sans);font-size:.95rem;color:var(--ink-2);
  text-decoration:none;line-height:1.4;
  transition:color .15s ease;
}
.site-footer .footer-col li a:hover,
.site-footer .footer-col li a:focus-visible{color:var(--accent)}
.site-footer .copyright{
  max-width:1280px;margin:3rem auto 0;padding-top:1.4rem;
  border-top:1px solid var(--line);
  font-family:var(--sans);font-size:.78rem;color:var(--muted);text-align:center;
}
@media (max-width:960px){
.site-footer .footer-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
}
@media (max-width:720px){
.site-footer{padding:2.6rem 1.2rem 1.2rem}
.site-footer .footer-row{grid-template-columns:1fr;gap:1.8rem}
}
.category-hero{ padding: 1.5rem 0 0.5rem; text-align: center; }
.category-hero h1{ font-size: 2rem; }
.category-hero .lead{ color: var(--muted); max-width: 720px; margin: .5rem auto 1.5rem; }
.post-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 360px)); justify-content: center; gap: 1.25rem; }
.post-card{ border: 1px solid var(--line); border-radius: 10px; background: #fff; transition: box-shadow .15s; overflow: hidden; display: flex; flex-direction: column; }
.post-card-thumb{ display: block; }
.post-card-thumb img{ width: 100%; height: 180px; object-fit: cover; display: block; }
.post-card > h3, .post-card > p{ padding: 0 1.25rem; }
.post-card > h3{ margin-top: 1rem; }
.post-card:hover{ box-shadow: 0 4px 18px rgba(0,0,0,.06); }
.post-card h3{ margin: 0 0 .35rem; font-size: 1.05rem; line-height: 1.3; }
.post-card h3 a{ color: var(--ink); }
.post-card h3 a:hover{ color: var(--spectrum-1); }
.post-card-date{ color: var(--muted); font-size: .8rem; margin: 0 0 .5rem; }
.post-card-excerpt{ color: var(--ink); font-size: .9rem; line-height: 1.5; margin: 0; }
:where(.contact-form-card, .post-card, .bmb-blog-card, .service-prep-card,
       .bmb-bundle-card, .bmb-pack-card, .bmb-menu-card, .terms-toc-card,
       .terms-glance-card, .partners-loc-card, .contact-channel-card,
       .bmb-faq-item, .service-faq, .service-faq-body) a{
  color: var(--brand);
}
:where(.contact-form-card, .post-card, .bmb-blog-card, .service-prep-card,
       .bmb-bundle-card, .bmb-pack-card, .bmb-menu-card, .terms-toc-card,
       .terms-glance-card, .partners-loc-card, .contact-channel-card,
       .bmb-faq-item, .service-faq, .service-faq-body) a:hover{
  color: var(--brand-dk);
}
.enquiry-form button[type=submit]:hover:not(:disabled){ opacity: .9; }
.bmb-visually-hidden{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.bmb-consent{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -6px 24px rgba(42, 42, 42, .12); }
.bmb-consent[hidden]{ display: none; }
.bmb-consent-inner{ max-width: var(--max); margin: 0 auto; padding: 1.1rem 1.25rem 1.25rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 1.5rem; align-items: center; }
.bmb-consent-text h2{ font-size: 1.05rem; margin: 0 0 .25rem; font-family: var(--serif); font-weight: 600; }
.bmb-consent-text p{ margin: 0; font-size: .9rem; color: var(--ink); line-height: 1.5; }
.bmb-consent-text a{ color: var(--brand); text-decoration: underline; }
.bmb-consent-actions{ display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.bmb-consent-btn{ font: inherit; font-size: .9rem; font-weight: 500; padding: .55rem 1.1rem; border-radius: 999px; cursor: pointer; border: 1px solid var(--brand); line-height: 1.2; white-space: nowrap; }
.bmb-consent-btn--primary{ background: var(--brand); color: #fff; }
.bmb-consent-btn--primary:hover{ opacity: .9; }
.bmb-consent-btn--secondary{ background: #fff; color: var(--brand); }
.bmb-consent-btn--secondary:hover{ background: #efd9f3; }
.bmb-consent-btn:focus-visible{ outline: 3px solid #efd9f3; outline-offset: 2px; }
.bmb-consent-prefs{ grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: .9rem; margin-top: .25rem; }
.bmb-consent-prefs[hidden]{ display: none; }
.bmb-consent-prefs fieldset{ border: 0; padding: 0; margin: 0 0 .75rem; }
.bmb-consent-pref{ display: flex; gap: .65rem; align-items: flex-start; margin: .5rem 0; font-size: .88rem; color: var(--ink); }
.bmb-consent-pref input[type=checkbox]{ margin-top: .25rem; accent-color: var(--brand); }
.bmb-consent-pref input[type=checkbox]:focus-visible{ outline: 3px solid #efd9f3; outline-offset: 2px; }
.bmb-consent-pref strong{ color: var(--ink); }
@media (max-width: 720px){
.bmb-consent-inner{ grid-template-columns: 1fr; padding: 1rem 1rem 1.1rem; }
.bmb-consent-actions{ justify-content: stretch; }
.bmb-consent-actions .bmb-consent-btn{ flex: 1 1 auto; text-align: center; }
}
.bmb-post-card{ position: relative; }
.bmb-post-card h3 a::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.bmb-post-card .bmb-post-card-cta{ position: relative; z-index: 2; }
.bmb-wa-fab{
  position: fixed;
  right: clamp(1rem, 2.5vw, 1.5rem);
  bottom: calc(clamp(1rem, 2.5vw, 1.5rem) + env(safe-area-inset-bottom, 0px));
  z-index: 45;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #25d366;
  color: #ffffff;
  text-decoration: none;
  box-shadow:
    0 6px 20px rgba(20, 18, 16, 0.22),
    0 2px 6px rgba(20, 18, 16, 0.14);
  transition:
    transform .22s cubic-bezier(.2, .7, .2, 1),
    background-color .22s cubic-bezier(.2, .7, .2, 1),
    box-shadow .22s cubic-bezier(.2, .7, .2, 1),
    opacity .25s ease-out;
  -webkit-tap-highlight-color: transparent;
}
.bmb-wa-fab:hover,
.bmb-wa-fab:focus-visible{
  background: #1ebe57;
  transform: translateY(-3px);
  box-shadow:
    0 10px 26px rgba(20, 18, 16, 0.28),
    0 3px 8px rgba(20, 18, 16, 0.18);
  text-decoration: none;
}
.bmb-wa-fab:focus-visible{
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}
.bmb-wa-fab__icon{
  width: 1.85rem;
  height: 1.85rem;
  position: relative;
  z-index: 1;
  display: block;
}
.bmb-wa-fab__pulse{
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #25d366;
  opacity: 0.55;
  animation: bmbWaFabPulse 2.4s cubic-bezier(.2, .7, .2, 1) infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes bmbWaFabPulse {0%{ transform: scale(1);    opacity: 0.55; }70%{ transform: scale(1.6);  opacity: 0;    }100%{ transform: scale(1.6);  opacity: 0;    }
}
body.mobile-nav-open .bmb-wa-fab{
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
}
@media (prefers-reduced-motion: reduce){
.bmb-wa-fab{ transition: opacity .25s ease-out; }
.bmb-wa-fab:hover,
  .bmb-wa-fab:focus-visible{ transform: none; }
.bmb-wa-fab__pulse{ animation: none; opacity: 0; }
}
@media (max-width: 640px){
.bmb-wa-fab{ width: 3.25rem; height: 3.25rem; }
.bmb-wa-fab__icon{ width: 1.65rem; height: 1.65rem; }
}
.bmb-cta--primary{
  background: var(--cream) !important;
  background-image: none !important;
  color: var(--brand) !important;
  border: 1px solid transparent !important;
  box-shadow:
    0 8px 24px -6px rgba(31, 8, 36, 0.45),
    0 16px 44px -10px rgba(31, 8, 36, 0.35) !important;
}
.bmb-cta--primary:hover{
  background: #ffffff !important;
  color: var(--brand-dk) !important;
  transform: translateY(-2px);
  box-shadow:
    0 12px 32px -6px rgba(31, 8, 36, 0.55),
    0 20px 52px -10px rgba(31, 8, 36, 0.45) !important;
}
/* from /css/motion.css */
:root{
  --bmb-ease-edit: cubic-bezier(.2, .7, .2, 1);  /* editorial ease-out */
  --bmb-ease-soft: cubic-bezier(.2, .6, .2, 1);  /* content reveal */
}
body[data-hero-style="quiet"] .bmb-section-head .bmb-eyebrow,
body[data-hero-style="quiet"] .bmb-eyebrow:first-of-type,
body[data-hero-style="quiet"] [class*="-hero-eyebrow"],
body[data-hero-style="quiet"] [class*="-hero-display"],
body[data-hero-style="quiet"] [class*="-hero-h1"],
body[data-hero-style="quiet"] [class*="-hero-lead"],
body[data-hero-style="quiet"] main h1:first-of-type,
body[data-hero-style="quiet"] main .bmb-section-head:first-of-type h1,
body[data-hero-style="quiet"] main .bmb-section-head:first-of-type p,
body[data-hero-style="quiet"] main > header h1,
body[data-hero-style="quiet"] main > header p,
body[data-hero-style="quiet"] [class*="-intro"] h1,
body[data-hero-style="quiet"] [class*="-intro"] > p{
  opacity: 0;
  transform: translateY(10px);
  animation: bmbHeroFadeUp .7s var(--bmb-ease-edit) forwards;
}
body[data-hero-style="quiet"] .bmb-eyebrow:first-of-type,
body[data-hero-style="quiet"] .bmb-section-head .bmb-eyebrow,
body[data-hero-style="quiet"] [class*="-hero-eyebrow"]{ animation-delay: .1s; }
body[data-hero-style="quiet"] [class*="-hero-h1"],
body[data-hero-style="quiet"] main h1:first-of-type,
body[data-hero-style="quiet"] main .bmb-section-head:first-of-type h1,
body[data-hero-style="quiet"] main > header h1,
body[data-hero-style="quiet"] [class*="-intro"] h1{ animation-delay: .2s; animation-duration: .9s; }
@keyframes bmbHeroFadeUp {to{ opacity: 1; transform: translateY(0); }
}
@keyframes bmbHeroFadeDown {to{ opacity: 1; transform: translateY(0); }
}
@keyframes bmbHeroScaleIn {from{ opacity: 0; transform: scale(.95); }to{ opacity: 1; transform: scale(1); }
}
@keyframes bmbHeroSlideRightToZero {to{ opacity: 1; transform: translateX(0); }
}
@keyframes bmbHeroKenBurnsIn {to{ opacity: 1; transform: scale(1); }
}
@keyframes bmbHeroKenBurnsSlow {to{ transform: scale(1); }
}
@media (prefers-reduced-motion: reduce){
body[data-hero-style] .bmb-eyebrow,
  body[data-hero-style] [class*="-hero-eyebrow"],
  body[data-hero-style] [class*="-hero-display"],
  body[data-hero-style] [class*="-hero-display"] em,
  body[data-hero-style] [class*="-hero-h1"],
  body[data-hero-style] [class*="-hero-lead"],
  body[data-hero-style] h1,
  body[data-hero-style] main > h1:first-of-type,
  body[data-hero-style] main > header h1,
  body[data-hero-style] main > header p,
  body[data-hero-style] .bmb-article-meta,
  body[data-hero-style] .bmb-article-lead,
  body[data-hero-style] .bmb-article-cover,
  body[data-hero-style] .bmb-article-cover img,
  .bmb-grid-bento > *{
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}
/* from /css/pages/categories.css */
html,body{overflow-x:clip;max-width:100vw}
body:has(.categories-preview){
  background:linear-gradient(180deg, var(--bg-3) 0%, var(--bg-2) 35%, var(--bg) 82%, #9b4ba9 100%);
}
.categories-preview{
  font-family:var(--sans);
  color:var(--ink);
  font-size:16px;line-height:1.65;
  max-width:1180px;
  margin:0 auto;
  padding:2rem 2rem 4rem;
  background:transparent;
}
.categories-preview .bmb-eyebrow{
  font-family:var(--font-display);font-size:.82rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--cream);
  display:inline-flex;align-items:center;gap:14px;margin:0;
}
.categories-preview .bmb-categories-hero{
  text-align:center;
  padding:3.5rem 1rem 2.5rem;
  max-width:780px;
  margin:0 auto;
}
.categories-preview .bmb-categories-hero .bmb-eyebrow{
  justify-content:center;margin-bottom:1.4rem;
}
.categories-preview .bmb-categories-hero h1{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(2.2rem, 5vw, 3.4rem);
  line-height:1.12;
  letter-spacing:-.015em;
  color:var(--cream);
  margin:0 0 1.4rem;
}
.categories-preview .bmb-categories-lead{
  font-family:var(--sans);
  font-size:1rem;
  line-height:1.7;
  color:rgba(241, 238, 233, .82);
  margin:0 auto;
  max-width:62ch;
}
.categories-preview .bmb-post-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 360px));
  justify-content:center;
  gap:1.2rem;
  margin:0 auto;
  padding:0;
}
.categories-preview .bmb-post-grid:has(.bmb-post-card:nth-child(2):last-child){
  grid-template-columns:repeat(2, minmax(280px, 360px));
  max-width:760px;
}
.categories-preview .bmb-post-card{
  position:relative;
  display:flex;
  flex-direction:column;
  background:var(--surface);
  border:none;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease;
  will-change:transform;
}
.categories-preview .bmb-post-card > .bmb-post-card-date,
.categories-preview .bmb-post-card > h3,
.categories-preview .bmb-post-card > .bmb-post-card-excerpt{
  padding:0 1.4rem;margin:0;
}
.categories-preview .bmb-post-card > .bmb-post-card-date{padding-top:1.4rem}
.categories-preview .bmb-post-card > h3{padding-top:.6rem;padding-bottom:.6rem}
.categories-preview .bmb-post-card > .bmb-post-card-cta{
  margin:auto 0 0;padding:.5rem 1.4rem 1.5rem;
}
.categories-preview .bmb-post-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 26px rgba(80, 55, 95,.10), 0 30px 60px rgba(80, 55, 95,.08);
}
.categories-preview .bmb-post-card-img{
  display:block;
  position:relative;
  aspect-ratio:3/2;
  overflow:hidden;
  background:linear-gradient(135deg, var(--brand-50), var(--brand-100));
}
.categories-preview .bmb-post-card-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.2,.7,.3,1);
}
.categories-preview .bmb-post-card:hover .bmb-post-card-img img{
  transform:scale(1.05);
}
.categories-preview .bmb-post-card-date{
  font-family:var(--sans);font-size:.74rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  margin:0;
}
.categories-preview .bmb-post-card h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:1.35rem;
  line-height:1.25;
  letter-spacing:-.005em;
  margin:0;
  color:var(--ink);
}
.categories-preview .bmb-post-card h3 a{
  color:inherit;text-decoration:none;
}
.categories-preview .bmb-post-card h3 a:hover{color:var(--cream)}
.categories-preview .bmb-post-card-excerpt{
  font-family:var(--sans);
  font-size:.92rem;
  line-height:1.6;
  color:var(--ink-2);
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.categories-preview .bmb-post-card-cta{
  display:inline-flex;align-items:center;gap:.35rem;
  margin:auto 0 0;padding:.5rem 0 0;
  background:none;border:none;
  font-family:var(--sans);font-size:.88rem;font-weight:500;
  color:var(--brand);text-decoration:none;letter-spacing:.005em;
  align-self:flex-start;
}
.categories-preview .bmb-post-card-cta span{
  display:inline-block;transition:transform .25s ease;
}
.categories-preview .bmb-post-card:hover .bmb-post-card-cta span{
  transform:translateX(4px);
}
.categories-preview .bmb-categories-final-cta{
  text-align:center;
  padding:4.5rem 1rem 3rem;
  max-width:640px;
  margin:3rem auto 0;
}
.categories-preview .bmb-categories-final-cta .bmb-eyebrow{
  justify-content:center;
  margin-bottom:1.25rem;
  font-size:clamp(1.4rem, 2.4vw, 1.9rem);
  font-weight:600;
  letter-spacing:.22em;
  gap:0;
  color:var(--cream);
}
.categories-preview .bmb-categories-final-cta .bmb-eyebrow::before{
  display:none;
}
.categories-preview .bmb-categories-final-cta h2{
  font-family:var(--sans);
  font-size:clamp(1rem, 1.3vw, 1.22rem);
  font-weight:500; /* Quicksand body weight, ticket #112 (was 400 in Mulish) */
  color:rgba(241, 238, 233, .82);
  line-height:1.5;
  margin:0 0 1rem;
  letter-spacing:0;
}
.categories-preview .bmb-categories-final-cta p{
  font-family:var(--sans);font-size:1rem;line-height:1.7;color:rgba(241, 238, 233, .82);
  margin:0 auto 1.8rem;max-width:52ch;
}
.categories-preview .bmb-categories-ctas{
  display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;
}
.categories-preview .bmb-cta{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family: var(--sans);
  font-size:1.05rem;font-weight:500;
  letter-spacing:.005em;padding:.7rem 1.5rem;border-radius:999px;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background .15s, color .15s, border-color .15s;
  white-space:nowrap;
}
.categories-preview .bmb-cta--primary{
  background:var(--cream);color:var(--brand);border:1px solid rgba(35, 37, 39, 0.08);box-shadow:0 8px 24px -6px rgba(0,0,0,.35);
}
.categories-preview .bmb-cta--primary:hover{
  background:#fff;transform:translateY(-1px);
}
@media (max-width:720px){
.categories-preview{padding:1.4rem 1rem 3rem}
.categories-preview .bmb-categories-hero{padding:2.4rem .5rem 1.8rem}
.categories-preview .bmb-post-grid{grid-template-columns:1fr;gap:1.2rem}
.categories-preview .bmb-categories-final-cta{padding:3rem .5rem 2rem}
}
/* from /css/pages/cream-page.css */
body.cream-page{
  --c-paper:#fbf8f4; --c-cream:#f1eee9; --c-soft:#f4efe6; --c-card:#ffffff;
  --c-ink:#2a2540; --c-body:#4a4553; --c-muted:#8b7f92;
  --c-plum:#5a1f63; --c-purple:#8d319b; --c-line:#e7ded0;
  background: var(--c-paper);
}
body.cream-page main{ background: var(--c-paper) !important; }
body.cream-page main :is(p,li,dd,dt,span,small,td,th,figcaption,blockquote,summary,time,label){ color: var(--c-body) !important; }
body.cream-page main :is(h1,h2,h3,h4){ color: var(--c-ink) !important; }
body.cream-page main .bmb-eyebrow{ color: var(--c-purple) !important; }
body.cream-page main .bmb-eyebrow::before{ background: var(--c-purple) !important; }
body.cream-page main a:not(.bmb-cta):not([class*="btn"]){ color: var(--c-purple); }
/* from /css/soft.css */
:root{
  --soft-plum:#553f63; --soft-plum-2:#7a6390; --soft-violet:#a58bbb;
  --soft-lav:#f3edf7; --soft-lav-2:#e7ddef; --soft-lilac:#d4c5e3; --soft-mist:#faf7fc;
  --soft-ink:#3f3346; --soft-body:#62576a; --soft-gold:#8c6a2c;
  /* the old saturated brand purple, remapped */
  --brand:#553f63; --brand-dk:#43304f; --brand-700:#3f2f48;
  --brand-50:#faf7fc; --brand-100:#f3edf7; --brand-200:#e7ddef;
}
html body .site-header:not(.is-floating){ background:rgba(255,255,255,.97) !important; border-bottom:1px solid var(--soft-lav-2) !important;
  box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
html body .site-header .brand-logo-dark, html body .site-header .brand-logo-pill{ display:none !important; }
html body .site-header .brand-logo-light{ display:block !important; opacity:1 !important; }
html body .site-header.is-floating .brand-logo-light{ display:none !important; }
html body .site-header.is-floating .brand-logo-pill{ display:block !important; }
html body .site-header .primary-nav .nav-root > li > a,
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a{ color:var(--soft-plum) !important; }
html body .site-header .primary-nav .nav-root > li > a:hover,
html body .site-header .primary-nav .nav-root > li > a:focus-visible,
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a:hover,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a:hover,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a:focus-visible{ color:var(--soft-plum-2) !important; }
html body .site-header .primary-nav .nav-root > li > a.nav-cta,
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a.nav-cta,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a.nav-cta{ color:#fff !important; background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; }
html body .site-header svg, html body .site-header .nav-utility a, html body .site-header .nav-utility button{ color:var(--soft-plum) !important; }
html body .site-header .bmb-nav-toggle-bar, html body .site-header.is-floating .bmb-nav-toggle-bar{ background:var(--soft-plum) !important; }
html body .site-header .brand{ min-height:44px !important; align-items:center; }
html body .site-header .sub-menu, html body .site-header .primary-nav ul ul{ background:#fff !important; border-color:var(--soft-lav-2) !important; }
html body .site-header .sub-menu a, html body .site-header .primary-nav ul ul a{ color:var(--soft-ink) !important; }
html body .site-header .sub-menu a:hover, html body .site-header .primary-nav ul ul a:hover{ background:var(--soft-lav) !important; color:var(--soft-plum) !important; }
@media (max-width:768px){
html body.mobile-nav-open .site-header.site-header{ background:#fff !important; border-bottom:1px solid var(--soft-lav-2) !important; }
html body.mobile-nav-open .site-header .primary-nav{ background:var(--soft-mist) !important; }
html body .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:var(--soft-lav-2) !important; }
html body .site-header .primary-nav .nav-root > li > a:not(.nav-cta){ color:var(--soft-plum) !important; }
html body .site-header .primary-nav .nav-root > li.has-submenu.is-expanded > a{ color:var(--soft-plum-2) !important; }
html body .site-header .primary-nav .submenu{ background:transparent !important; border-color:transparent !important; box-shadow:none !important; }
html body .site-header .primary-nav .submenu a{ color:var(--soft-ink) !important; background:transparent !important; }
html body .site-header .primary-nav .submenu a:hover, html body .site-header .primary-nav .submenu a:focus-visible{ color:var(--soft-plum-2) !important; background:transparent !important; }
html body .site-header .primary-nav .nav-search-item .nav-search-btn{ background:#fff !important; border-color:var(--soft-lilac) !important; color:var(--soft-body) !important; }
html body .site-header .primary-nav .nav-search-item .nav-search-label{ color:var(--soft-body) !important; }
html body .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html body .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{ background:var(--soft-lav) !important; border-color:var(--soft-lav-2) !important; color:var(--soft-plum) !important; }
html body .site-header .nav-account .nav-account-face, html body .site-header .nav-cart .nav-cart-face{ border-color:var(--soft-violet) !important; }
html body .site-header .nav-account.is-in .nav-account-face{ background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; color:#fff !important; }
html body .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel{ color:var(--soft-body) !important; }
html body .site-header .primary-nav .nav-tel strong{ color:var(--soft-plum) !important; }
html body.mobile-nav-open .site-header button.bmb-nav-toggle > span.bmb-nav-toggle-bar{ background:var(--soft-plum) !important; }
}
html body .site-footer{ background:var(--soft-mist) !important; border-top:1px solid var(--soft-lav-2) !important; }
html body .site-footer, html body .site-footer a, html body .site-footer p, html body .site-footer li,
html body .site-footer h2, html body .site-footer h3, html body .site-footer h4{ color:var(--soft-body) !important; }
html body .site-footer .footer-col-head{ color:var(--soft-plum) !important; }
html body .site-footer > *:last-child{ background:var(--soft-plum) !important; margin:2rem calc(50% - 50vw) 0 !important; padding:1rem 22px !important; max-width:none !important; width:auto !important; }
html body .site-footer > *:last-child, html body .site-footer > *:last-child *{ color:rgba(255,255,255,.9) !important; }
html body .site-footer{ padding-bottom:0 !important; }
@media (max-width:768px){
html body .site-footer li a{ display:inline-block !important; padding-top:12px !important; padding-bottom:12px !important; margin-top:-12px !important; margin-bottom:-12px !important; }
html body .site-footer .footer-social a{ padding:12px !important; margin:-12px !important; }
html body .site-footer > *:last-child{ padding-left:84px !important; padding-right:84px !important; }
}
html body .bmb-cta--primary, html body .cta:not(section), html body .button-primary{ background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; color:#fff !important; }
html :where(body:not(.home-concept)) .bmb-cta--primary{ box-shadow:0 10px 24px -8px rgba(85,63,99,.3) !important; }
html body .bmb-cta--primary:hover, html body .bmb-cta--primary:focus-visible{ background:var(--brand-dk) !important; border-color:var(--brand-dk) !important; color:#fff !important; box-shadow:0 12px 28px -8px rgba(85,63,99,.38) !important; }
html body .site-header .primary-nav .nav-root > li > a.nav-cta{ box-shadow:0 4px 12px -4px rgba(85,63,99,.35) !important; }
html body .site-header .primary-nav .nav-root > li > a.nav-cta:hover,
html body .site-header .primary-nav .nav-root > li > a.nav-cta:focus-visible{ background:var(--brand-dk) !important; border-color:var(--brand-dk) !important; color:#fff !important; box-shadow:0 6px 16px -4px rgba(85,63,99,.42) !important; }
html body .bmb-consent-btn--primary{ background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; }
html body .bmb-consent-btn--secondary{ color:var(--soft-plum) !important; border-color:var(--soft-plum) !important; }
html body .bmb-consent-text a{ color:var(--soft-plum) !important; }
html body .bmb-consent-btn:focus-visible, html body .bmb-consent-pref input[type=checkbox]:focus-visible{ outline:2px solid var(--soft-plum-2) !important; outline-offset:2px !important; }
html body .bmb-consent-btn--secondary:hover{ background:var(--soft-lav) !important; }
html body .bmb-consent-btn--primary:hover{ background:var(--brand-dk) !important; border-color:var(--brand-dk) !important; opacity:1 !important; }
html body .bmb-consent-actions .bmb-consent-btn{ min-height:44px !important; }
html body .primary-nav .submenu, html body .primary-nav .flyout, html body .primary-nav .flyout-panel{ background:#ffffff !important; border-color:var(--soft-lav-2) !important; box-shadow:0 18px 40px -14px rgba(85,63,99,.22) !important; }
html body .primary-nav .submenu a, html body .primary-nav .flyout-cat-label{ color:var(--soft-body) !important; }
html body .primary-nav .submenu a:hover, html body .primary-nav .submenu a:focus-visible,
html body .primary-nav .flyout-cat.is-open > .flyout-cat-label{ color:var(--soft-plum) !important; background:var(--soft-lav) !important; }
html body .site-header .nav-cart:focus-visible, html body .site-header .nav-account:focus-visible,
html body .site-header .primary-nav a:focus-visible{ outline:2px solid var(--soft-violet) !important; outline-offset:3px !important; }
@media (max-width:768px){
html body.mobile-nav-open.mobile-nav-open .site-header.site-header, html body.mobile-nav-open.mobile-nav-open .site-header.is-floating{ background:#ffffff !important; border-bottom:1px solid var(--soft-lav-2) !important; }
html body.mobile-nav-open.mobile-nav-open .primary-nav.primary-nav, html body .primary-nav.primary-nav{ background:rgba(255,255,255,.98) !important; }
html body .primary-nav .nav-root > li{ border-bottom-color:var(--soft-lav-2) !important; }
html body .primary-nav .nav-root > li > a, html body .primary-nav .nav-root > li > button,
  html body .primary-nav .submenu-toggle, html body .primary-nav .nav-root > li > a svg{ color:var(--soft-plum) !important; }
html body .primary-nav .submenu{ background:transparent !important; box-shadow:none !important; }
html body .primary-nav .nav-search-item .nav-search-btn{ background:#ffffff !important; border-color:var(--soft-lilac) !important; color:var(--soft-body) !important; }
html body .primary-nav .nav-search-item .nav-search-btn:hover, html body .primary-nav .nav-search-item .nav-search-btn:focus-visible{ background:var(--soft-mist) !important; border-color:var(--soft-violet) !important; }
html body .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html body .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{ background:#ffffff !important; border-color:var(--soft-lilac) !important; color:var(--soft-plum) !important; }
html body .primary-nav .nav-root > li.nav-account-item > a.nav-account:hover,
  html body .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:hover{ background:var(--soft-mist) !important; border-color:var(--soft-violet) !important; }
html body .nav-account .nav-account-face, html body .nav-cart .nav-cart-face{ border-color:var(--soft-violet) !important; color:var(--soft-plum) !important; }
html body .nav-account.is-in .nav-account-face{ background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; color:#ffffff !important; }
html body .primary-nav .nav-root > li.nav-tel-item > a.nav-tel{ color:var(--soft-body) !important; }
html body .primary-nav .nav-tel strong{ color:var(--soft-plum) !important; }
html body.mobile-nav-open .bmb-nav-toggle-bar{ background:var(--soft-plum) !important; }
html body.mobile-nav-open #primary-nav{ background:var(--soft-mist) !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
html body.mobile-nav-open .site-header .brand{ position:relative !important; z-index:96 !important; }
html body.mobile-nav-open #primary-nav .nav-search-item .nav-search-btn,
  html body.mobile-nav-open #primary-nav .nav-root > li.nav-account-item > a.nav-account:not(.is-in),
  html body.mobile-nav-open #primary-nav .nav-root > li.nav-cart-item > a.nav-cart{ background:#ffffff !important; border-color:var(--soft-lilac) !important; }
html body.mobile-nav-open #primary-nav .submenu a{ color:var(--soft-ink) !important; }
html body.mobile-nav-open #primary-nav .nav-tel{ min-height:44px !important; }
}
html:has(> body.cream-page){ background:#fff !important; }
html body.cream-page{
  background:#fff !important;
  /* cream-page.css tokens -> soft palette */
  --c-paper:#fff; --c-cream:#f3edf7; --c-soft:#f3edf7; --c-card:#fff;
  --c-ink:#553f63; --c-body:#62576a; --c-muted:#7a6390;  /* headings plum, like the homepage */
  --c-plum:#553f63; --c-purple:#553f63; --c-line:#e7ddef;
  /* style.css tokens still pointing at the old deep purples */
  --navy:#553f63; --navy-dk:#43304f; --spectrum-5:#a58bbb;
}
html body.cream-page main{
  background:#fff !important;
  --bg:#f3edf7; --bg-2:#f3edf7; --bg-3:#e7ddef;
  /* beige card surfaces -> lavender, like the homepage cards */
  --cream:#f3edf7; --surface:#f3edf7;
  --line-rose:#d4c5e3;
  /* style.css "--gold" is periwinkle #7fa8e8 (numerals, bullets, quote marks):
     not in the soft palette, and ~2.1:1 as text on lavender */
  --gold:#7a6390; --gold-dk:#553f63;
}
html body.cream-page main .bmb-eyebrow{ color:#553f63 !important; }
html body.cream-page main .bmb-eyebrow::before{ background:#a58bbb !important; }
html body.cream-page main a:not(.bmb-cta):not([class*="btn"]){ color:#553f63; text-decoration-color:rgba(85,63,99,.35); }
html body.cream-page main a:not(.bmb-cta):not([class*="btn"]):hover,
html body.cream-page main a:not(.bmb-cta):not([class*="btn"]):focus-visible{ color:#7a6390 !important; text-decoration-color:#7a6390; }
html body.cream-page main .bmb-cta--primary,
html body.cream-page main .contact-form-submit{
  background:#553f63 !important; color:#fff !important; border-color:#553f63 !important;
  box-shadow:0 10px 24px -8px rgba(85,63,99,.30) !important; }
html body.cream-page main .bmb-cta--primary:hover,
html body.cream-page main .contact-form-submit:hover{
  background:#43304f !important; color:#fff !important; box-shadow:0 14px 30px -10px rgba(85,63,99,.36) !important; }
html body.cream-page main :is(.categories-preview .bmb-post-card h3 a,.products-preview .bmb-product-card h3 a){ color:#553f63 !important; }
html body.cream-page main :is(.categories-preview .bmb-post-card h3 a,.products-preview .bmb-product-card h3 a):hover{ color:#7a6390 !important; }
html body.cream-page main :is(.bmb-post-card-cta,.bmb-product-card-cta){ color:#553f63 !important; }
html body.cream-page main :is(.bmb-post-card-cta,.bmb-product-card-cta):hover{ color:#7a6390 !important; }
html body.cream-page main :is(.bmb-post-card-img,.bmb-product-card-img){ background:linear-gradient(135deg,#faf7fc,#f3edf7) !important; }
@media (max-width:720px){
html body.cream-page main .categories-preview .bmb-post-grid{ grid-template-columns:minmax(0,1fr) !important; }
}
@media (max-width:768px){
html body.cream-page .site-header .primary-nav{ background:#fff !important; }
html body.cream-page .site-header .primary-nav .nav-root > li,
  html body.cream-page .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
html body.cream-page .site-header .primary-nav .has-submenu.is-expanded > a{ color:#7a6390 !important; }
html body.cream-page .site-header .primary-nav .submenu a,
  html body.cream-page .site-header .primary-nav .flyout-cat-label{ color:#3f3346 !important; }
html body.cream-page .site-header .primary-nav .submenu a:hover,
  html body.cream-page .site-header .primary-nav .submenu a:focus-visible,
  html body.cream-page .site-header .primary-nav .flyout-cat.is-open > .flyout-cat-label{ color:#553f63 !important; }
html body.cream-page .site-header .primary-nav .nav-search-item .nav-search-btn{
    background:#faf7fc !important; border-color:#e7ddef !important; color:#62576a !important; }
html body.cream-page .site-header .primary-nav .nav-search-item .nav-search-btn *{ color:#62576a !important; }
html body.cream-page .site-header .primary-nav .nav-root > li.nav-account-item > a,
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-cart-item > a{
    background:#faf7fc !important; border-color:#e7ddef !important; color:#553f63 !important; }
html body.cream-page .site-header .primary-nav .nav-root > li.nav-account-item > a *,
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-cart-item > a *{ color:#553f63 !important; }
html body.cream-page .site-header .primary-nav :is(.nav-account-face,.nav-cart-face){ border-color:#a58bbb !important; }
html body.cream-page .site-header .primary-nav .nav-account.is-in .nav-account-face{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html body.cream-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel,
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel svg{ color:#62576a !important; }
html body.cream-page .site-header .primary-nav .nav-tel strong{ color:#553f63 !important; }
}
html body.home-concept .bmb-review-arrow:hover:not(:disabled){ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
@media (min-width:769px) and (max-width:1219px){
html body.is-immersive-page .site-header .primary-nav .nav-root{
    flex-wrap:nowrap !important; gap:0 clamp(10px,1.3vw,18px) !important; }
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a{
    font-size:clamp(13.5px, calc(3vw - 14px), 16px) !important; white-space:nowrap !important; }
html body.is-immersive-page .site-header .primary-nav .nav-root > li.nav-account-item,
  html body.is-immersive-page .site-header .primary-nav .nav-root > li.nav-cart-item,
  html body.is-immersive-page .site-header .primary-nav .nav-root > li.nav-cta-item{ margin-left:0 !important; }
}
@media (min-width:769px) and (max-width:899px){
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a{ font-size:14.5px !important; }
}
@media (min-width:769px){
html body .site-header .primary-nav .nav-root > li > a{ font-size:16px !important; min-height:44px; }
html body .site-header .primary-nav .nav-root > li.nav-cta-item > a.nav-cta{ font-size:15px !important; }
}
@media (min-width:1220px){
html body .site-header .primary-nav .nav-root{ column-gap:1.5rem !important; }
}
@media (min-width:1220px){
html body .site-header:not(.is-floating){
    padding-left:calc(24px + clamp(2rem, 5vw, 7.5rem)) !important; padding-right:calc(34px + clamp(2rem, 5vw, 7.5rem)) !important; }
}
@media (min-width:1100px) and (max-width:1219px){
html body .site-header:not(.is-floating){ padding-left:calc(24px + 5vw) !important; }
}
@media (min-width:769px){
html body .site-header :is(.nav-search-btn, a.nav-account, a.nav-cart){ position:relative; overflow:visible !important; }
html body .site-header :is(.nav-search-btn, a.nav-account, a.nav-cart)::after{ content:""; position:absolute; inset:-5px; border-radius:50%; }
}
.nav-home-label{ display:none; }
@media (min-width:769px){
html body .site-header .primary-nav .nav-root > li.nav-home-item{ display:flex; align-items:center; flex:0 0 auto; }
html body .site-header .primary-nav .nav-root > li.nav-home-item > a.nav-home{
    position:relative; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
    width:2.3rem; height:2.3rem; min-width:2.3rem; min-height:2.3rem; flex:0 0 2.3rem;
    padding:0 !important; border-radius:50%; border:1px solid transparent; background:transparent;
    color:var(--soft-plum) !important; text-decoration:none;
    transition:background .2s ease, border-color .2s ease, transform .2s ease; }
html body .site-header .primary-nav .nav-root > li.nav-home-item > a.nav-home svg{ width:1.2rem; height:1.2rem; flex:0 0 auto; }
html body .site-header.is-floating .primary-nav .nav-root > li.nav-home-item > a.nav-home{ border-color:var(--soft-lilac); }
html body .site-header .primary-nav .nav-root > li.nav-home-item > a.nav-home::after{ content:""; position:absolute; inset:-5px; border-radius:50%; }
html body .site-header .primary-nav .nav-root > li.nav-home-item > a.nav-home:focus-visible{ outline:2px solid var(--soft-violet) !important; outline-offset:3px !important; }
}
@supports (container-type:inline-size){
@media (min-width:769px){
html body .site-header .brand{ flex:0 0 auto; }
html body .site-header .primary-nav{ flex:1 1 0%; min-width:0; container:bmbnav / inline-size; }
html body .site-header .primary-nav .nav-root.nav-root{
      --nav-a:204px; --nav-k:37.9;
      --nav-n1:9; --nav-c:25.5px;
      --nav-f:clamp(13px, calc((100cqi - var(--nav-a) - 108px) / var(--nav-k)), 16px);
      --nav-g:clamp(8px, max(calc((100cqi - var(--nav-a) - var(--nav-k) * var(--nav-f)) / var(--nav-n1)),
                             calc((100cqi - var(--nav-a) - var(--nav-k) * var(--nav-f) - var(--nav-c)) / 7)), 25.5px);
      flex-wrap:nowrap !important; justify-content:flex-end; gap:0 var(--nav-g) !important; column-gap:var(--nav-g) !important; }
html body .site-header .primary-nav .nav-root.nav-root:has(> li.nav-cart-item:not(.is-empty)){ --nav-a:243px; --nav-n1:10; --nav-c:38.25px; }
html body .site-header.site-header .primary-nav .nav-root.nav-root > li > a:not(.nav-cta){ font-size:var(--nav-f) !important; white-space:nowrap !important; }
html body .site-header.site-header .primary-nav .nav-root.nav-root > li.nav-cta-item > a.nav-cta{
      font-size:calc(14px + (var(--nav-f) - 13px) / 3) !important;
      padding-left:calc(13.6px + (var(--nav-f) - 13px) * 1.7) !important; padding-right:calc(13.6px + (var(--nav-f) - 13px) * 1.7) !important; white-space:nowrap; }
html body .site-header .primary-nav .nav-root.nav-root > li:is(.nav-account-item, .nav-cart-item, .nav-cta-item){
      margin-left:calc(min(var(--nav-g), 12.75px) - var(--nav-g)) !important; }
}
@container bmbnav (max-width:799px){
html body .site-header .primary-nav .nav-root.nav-root{ --nav-a:168px; --nav-k:34.6;
      --nav-f:clamp(13px, calc((100cqi - var(--nav-a) - 108px) / var(--nav-k)), 14px); }
html body .site-header .primary-nav .nav-root.nav-root:has(> li.nav-cart-item:not(.is-empty)){ --nav-a:207px; }
html body .site-header .primary-nav .nav-root > li > a > .caret{ display:none !important; }
}
@container bmbnav (min-width:799.01px) and (max-width:849px){
html body .site-header .primary-nav .nav-root.nav-root:has(> li.nav-cart-item:not(.is-empty)){ --nav-a:207px; --nav-k:34.6;
      --nav-f:clamp(13px, calc((100cqi - var(--nav-a) - 108px) / var(--nav-k)), 14px); }
html body .site-header .primary-nav .nav-root:has(> li.nav-cart-item:not(.is-empty)) > li > a > .caret{ display:none !important; }
}
@media (min-width:769px) and (max-width:899px){
html body .site-header:not(.is-floating) .primary-nav{ flex:1 1 100%; }
html body .site-header.is-floating .brand{ display:none !important; }
}
}
@media (max-width:768px){
html body .site-header .primary-nav .nav-root > li.nav-home-item{ border-bottom:1px solid var(--soft-lav-2); }
html body .site-header .primary-nav .nav-root > li.nav-home-item > a.nav-home{ justify-content:flex-start; gap:.7rem; min-height:44px; }
html body .site-header .primary-nav .nav-root > li.nav-home-item > a.nav-home svg{ width:1.3rem; height:1.3rem; flex:0 0 auto; }
html body .site-header .primary-nav .nav-home-label{ display:inline; }
html body.mobile-nav-open .site-header::after{ content:""; position:fixed; top:0; left:0; right:0; height:88px;
    background:var(--soft-mist); border-bottom:1px solid var(--soft-lav-2); z-index:95; pointer-events:none; }
html body.mobile-nav-open .primary-nav .nav-root > li.has-submenu:nth-child(7){ animation-delay:.40s; }
html body.mobile-nav-open .primary-nav .nav-root > li.has-submenu:nth-child(8){ animation-delay:.45s; }
html body.mobile-nav-open .primary-nav .nav-root > li.nav-account-item{ animation-delay:.50s; }
html body.mobile-nav-open .primary-nav .nav-root > li.nav-cart-item{ animation-delay:.54s; }
html body.mobile-nav-open .primary-nav .nav-root > li.nav-cta-item{ animation-delay:.60s; }
html body.mobile-nav-open .primary-nav .nav-root > li.nav-tel-item{ animation-delay:.66s; }
}
html body .site-footer .footer-social .footer-social-name{ font-size:.88rem; line-height:1.3; white-space:normal; }
html body .site-footer .footer-social a > svg{ flex:none; }
html body .site-footer .footer-social > span{ white-space:nowrap; }
html body .site-footer .footer-social::after{ content:""; flex:0 0 100%; height:0; order:1; }
html body .site-footer .footer-social > a[href*="instagram.com"], html body .site-footer .footer-social > span{ order:2; }
@media (min-width:769px){
html body .site-header .primary-nav .submenu > li.nav-hub-item{ display:none !important; }
}
@media (max-width:768px){
html body.mobile-nav-open .site-header.site-header, html body.mobile-nav-open .site-header.is-floating.is-floating{
    position:fixed !important; top:0 !important; left:0 !important; right:0 !important; margin-top:0 !important; transform:none !important; }
}
html body .site-header:not(.is-floating){ background:#ffffff !important; }
html body .site-footer .footer-nap{ font-style:normal; font-family:var(--sans); font-size:.84rem; line-height:1.55; margin:0 0 1.2rem; max-width:36ch; display:flex; flex-direction:column; gap:.7rem; }
html body .site-footer .footer-nap > span{ display:block; }
html body .site-footer .footer-nap strong{ font-weight:700; color:#3f3346; letter-spacing:.01em; }
html body .site-footer .footer-nap a{ text-decoration:none; border-bottom:1px solid currentColor; overflow-wrap:anywhere; }
@media (max-width:768px){
html body .site-footer .footer-nap{ max-width:none; }
html body .site-footer .footer-nap-lines{ line-height:2.1; }
}
