/* pregnancy-subset.css: the part of five stylesheets that /pregnancy/ uses (20/10/2026). The page linked
   style.css, pages/service-clinic.css, pages/pregnancy.css, pages/store-cart.css and soft.css (380 KB, about 78 KB
   compressed, 1,688 rules) and used 573 of those rules. Google's phone test waits for every stylesheet before
   the first paint, so the page now links this one file (about 18 KB compressed) in their place, and loads 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 page at three widths, before and after cookie consent, scrolled through,
   with every visit row picked, the package added to the cart, the phone menu and its sections, site search, the
   cookie settings, and signed in (photo or initials) (93 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.
   soft.css styles the shop pages by asking whether a page links store-cart.css; none of those rules applies to
   /pregnancy/ (its body is not .svc-cream), so leaving that link out of the first paint changes nothing.
   The five files are unchanged, and every other page still links them. Edit a rule /pregnancy/ uses here AND in
   its own file, and bump this file's ?v= in pregnancy.html (stylesheets are cached for a day): a change made only
   in the full file reaches /pregnancy/ only once the full files arrive, so it would flash in. If /pregnancy/ is
   redesigned, re-run the scan.
   Generated from style.css?v=2026-09-25-2, pages/service-clinic.css?v=2026-10-19-1,
   pages/pregnancy.css?v=2026-07-17-9, pages/store-cart.css?v=2026-09-29-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; }
.primary-nav .nav-cta{ color: var(--brand) !important; }
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}
}
.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-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-promo-pause{
  margin: 1.5rem auto 2rem;
  max-width: var(--max);
  padding: 1.1rem 1.4rem 1.2rem;
  background: linear-gradient(180deg, rgba(141, 49, 155, 0.07), rgba(141, 49, 155, 0.03));
  border: 1px solid rgba(141, 49, 155, 0.25);
  border-left: 4px solid #8d319b;
  border-radius: 14px;
  color: var(--ink);
}
.bmb-promo-pause-inner{ max-width: 760px; }
.bmb-promo-pause-msg{
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.55;
  margin: 0;
  color: var(--ink);
}
.bmb-promo-pause-msg a{
  color: var(--spectrum-1);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bmb-promo-pause-msg a:hover{ color: #ffffff; }
@media (max-width: 640px){
.bmb-promo-pause{ margin: 1rem 1rem 1.5rem; padding: .9rem 1rem 1rem; border-radius: 10px; }
.bmb-promo-pause-msg{ font-size: .94rem; }
}
.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;
}
.bmb-cta--ghost{
  background: transparent !important;
  color: var(--cream) !important;
  border: 1px solid rgba(241, 238, 233, 0.7) !important;
}
.bmb-cta--ghost:hover{
  background: rgba(241, 238, 233, 0.14) !important;
  color: var(--cream) !important;
  border-color: var(--cream) !important;
}
/* from /css/pages/service-clinic.css */
body.is-immersive-page .site-footer{
  position:relative;
  z-index:2;
  background-color:var(--bg-2);
}
body.is-immersive-page .site-header{
  position:sticky;
  top:0;
  z-index:50;

  background:#8d319b !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:1px solid rgba(80, 55, 95, 0.10) !important;
  box-shadow:0 4px 20px -10px rgba(80, 55, 95, 0.18) !important;
  will-change:opacity;
}
@keyframes pillFadeIn {from{ opacity: 0; }to{ opacity: 1; }
}
@keyframes barFadeIn {from{ opacity: 0; }to{ opacity: 1; }
}
body.is-immersive-page .site-header.is-floating{
  animation:pillFadeIn .32s ease-out;
}
body.is-immersive-page .site-header:not(.is-floating){
  animation:barFadeIn .25s ease-out;
}
@media (prefers-reduced-motion:reduce){
body.is-immersive-page .site-header.is-floating,
  body.is-immersive-page .site-header:not(.is-floating){
    animation:none;
  }
}
body.is-immersive-page .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(28, 22, 18, 0.72);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  box-shadow:
    0 10px 32px -10px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  padding:.55rem 1.4rem;
  border:1px solid rgba(255, 255, 255, 0.10);
  border-bottom:1px solid rgba(255, 255, 255, 0.10);
  gap:.6rem 1.2rem;
  flex-wrap:nowrap;
}
@media (max-width:720px){
body.is-immersive-page .site-header.is-floating{
    width:calc(100% - 1rem);
    top:.5rem;
    padding:.3rem .8rem;
  }
}
body.is-immersive-page .site-header.is-floating .brand img{
  height:40px !important;
  transition:height .35s cubic-bezier(.22,1,.36,1);
}
@media (max-width:640px){
body.is-immersive-page .site-header.is-floating .brand img{
    height:32px !important;
  }
}
body.is-immersive-page .site-header.is-floating .brand-logo{
  filter:drop-shadow(0 2px 6px rgba(0,0,0,0.35));
}
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root{
  font-size:.88rem;
}
body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a{
  padding:.35rem 0;
}
body.is-immersive-page .site-header .brand img{
  transition:height .35s cubic-bezier(.22,1,.36,1);
}
@media (max-width:720px){
body.is-immersive-page .bmb-nav-toggle-bar{
    background:var(--ink) !important;
  }
html, body{
    overflow-x:clip !important;
  }
@supports not (overflow-x: clip){
html{overflow-x:hidden !important}
}
body.is-immersive-page .site-header.is-floating{
    background:rgba(60, 50, 44, 0.62) !important;
  }
body.is-immersive-page .site-header.is-floating{
    padding:.25rem .7rem !important;
    border-radius:999px !important;
    gap:.4rem !important;
  }
body.is-immersive-page .site-header.is-floating .brand img{
    height:30px !important;
  }
body.is-immersive-page.mobile-nav-open .site-header{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    background:var(--bg) !important;
    border-bottom:1px solid var(--line) !important;
    box-shadow:none !important;
  }
body.is-immersive-page.mobile-nav-open .bmb-nav-toggle-bar{
    background:#232527 !important;
  }
body.is-immersive-page.mobile-nav-open .primary-nav{
    z-index:95 !important;
    background:var(--bg) !important;
  }
}
/* from /css/pages/pregnancy.css */
body.preg-page{background:var(--cream)}
.preg{background:var(--cream);color:var(--ink-on-cream)}
.preg .preg-wrap{max-width:1140px;margin:0 auto;padding:0 clamp(1.4rem,4vw,2.2rem)}
body.preg-page main.preg{padding-top:0}
.preg .bmb-eyebrow{font-family:var(--font-body);font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--brand)}
.preg-hero{
  position:relative;color:#fff;overflow:hidden;isolation:isolate;
  width:100vw;
  margin:0 calc(50% - 50vw);
}
.preg-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;z-index:-2}
.preg-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(48,14,55,.42) 0%,rgba(48,14,55,.25) 40%,rgba(60,18,68,.78) 100%),
  linear-gradient(90deg,rgba(60,18,68,.82) 0%,rgba(60,18,68,.30) 62%,rgba(60,18,68,.06) 100%)}
.preg-hero .preg-wrap{padding:clamp(7rem,15vw,10rem) clamp(1.4rem,4vw,2.2rem) clamp(2.6rem,6vw,4rem)}
.preg-hero .bmb-eyebrow{color:#f0cdf6;margin-bottom:1rem}
.preg-hero h1{font-family:var(--font-display);font-size:clamp(2.3rem,5.4vw,3.5rem);font-weight:700;color:#fff;max-width:16ch;margin:0;line-height:1.08;letter-spacing:-.01em}
.preg-hero-lead{font-size:clamp(1.05rem,2.2vw,1.22rem);color:#f4e6f7;max-width:46ch;margin:1rem 0 0;line-height:1.5}
.preg-price{display:inline-flex;align-items:baseline;gap:.55rem;margin-top:1.6rem;background:rgba(255,255,255,.14);border:1px dashed rgba(255,255,255,.6);border-radius:14px;padding:.7rem 1.1rem}
.preg-price b{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#fff}
.preg-price span{font-size:.82rem;color:#eecdf4;font-weight:600}
.preg-hero-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.preg-hero-note{margin-top:1rem;font-size:.8rem;color:#e6c6ee}
.preg .bmb-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-body);font-weight:700;font-size:.95rem;line-height:1;
  padding:.85rem 1.7rem;border-radius:999px;text-decoration:none;cursor:pointer;
  border:1px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.preg .bmb-cta:hover{transform:translateY(-2px)}
.preg-incl{padding:clamp(2.6rem,5vw,4rem) 0}
.preg-incl-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.6rem,3.5vw,3rem);align-items:start}
@media (max-width:820px){
.preg-incl-grid{grid-template-columns:1fr}
}
.preg-incl-head .bmb-eyebrow{display:inline-block;margin-bottom:.6rem}
.preg-incl-head h2{font-family:var(--font-display);font-size:clamp(1.7rem,3.6vw,2.3rem);font-weight:700;color:var(--navy);margin:.2rem 0 0;line-height:1.15}
.preg-incl-head p{max-width:48ch;margin:.7rem 0 0;color:#4a4553;line-height:1.55}
.preg-incl-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.75rem}
.preg-incl-list li{display:flex;gap:.85rem;align-items:flex-start;background:#fff;border:1px solid rgba(90,31,99,.1);border-radius:14px;padding:.95rem 1.15rem;box-shadow:0 10px 26px -22px rgba(42,12,48,.4)}
.preg-incl-list b{font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:var(--ink-on-cream);display:block}
.preg-incl-aside{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:6rem}
@media (max-width:820px){
.preg-incl-aside{position:static}
}
.preg-incl-media{border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 22px 50px -28px rgba(42,12,48,.5)}
.preg-incl-media img{width:100%;height:100%;object-fit:cover;display:block}
.preg-benefits{background:var(--navy);color:#fbf1ff;border-radius:18px;padding:1.4rem 1.5rem}
.preg-benefits h3{color:#fff;font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin:0 0 .9rem}
.preg-benefits ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;font-size:.94rem}
.preg-benefits li{display:flex;gap:.6rem;align-items:flex-start;color:#f0dcf5;line-height:1.45}
.preg-benefits li svg{width:1.05rem;height:1.05rem;flex:none;margin-top:.2rem;color:#e9b6f2}
.preg-divider{background:var(--cream);border-top:1px solid rgba(90,31,99,.12);border-bottom:1px solid rgba(90,31,99,.12);padding:clamp(1.4rem,3vw,2rem) 0;text-align:center}
.preg-divider p{margin:0;font-family:var(--font-display);font-weight:600;color:var(--navy);font-size:clamp(1.05rem,2.3vw,1.35rem)}
.preg-divider span{display:block;font-family:var(--font-body);font-weight:600;font-size:.85rem;color:#8b7f92;margin-top:.35rem}
.preg-alc{padding:clamp(2.6rem,5vw,4rem) 0}
.preg-alc-head{margin-bottom:1.6rem}
.preg-alc-head .bmb-eyebrow{display:inline-block;margin-bottom:.5rem}
.preg-alc-head h2{font-family:var(--font-display);font-size:clamp(1.5rem,3.2vw,2rem);font-weight:700;color:var(--navy);margin:.2rem 0 0}
.preg-alc-head p{max-width:52ch;margin:.6rem 0 0;color:#4a4553;line-height:1.55}
.preg-alc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:760px){
.preg-alc-grid{grid-template-columns:1fr}
}
.preg-svc{background:#fff;border:1px solid rgba(90,31,99,.1);border-radius:16px;padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 12px 30px -24px rgba(42,12,48,.45);transition:transform .2s ease,box-shadow .2s ease;text-decoration:none;color:inherit}
.preg-svc:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(42,12,48,.55)}
.preg-svc h3{font-family:var(--font-display);font-size:1.18rem;font-weight:700;color:var(--navy);margin:0}
.preg-svc p{font-size:.9rem;color:#4a4553;margin:0;flex:1;line-height:1.5}
.preg-svc .preg-link{margin-top:.6rem;font-family:var(--font-body);font-weight:800;font-size:.85rem;color:var(--brand)}
.preg-svc:hover .preg-link{color:var(--brand-dk)}
.preg-svc{overflow:hidden}
.preg-svc-media{margin:-1.4rem -1.4rem 0;aspect-ratio:16/10;overflow:hidden;background:#f4efe6}
.preg-svc-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.preg-svc:hover .preg-svc-media img{transform:scale(1.04)}
.preg-nudge{padding:0 0 clamp(2.8rem,5vw,4rem)}
.preg-nudge-inner{background:linear-gradient(120deg,var(--navy),var(--brand));color:#fdf5ff;border-radius:20px;padding:clamp(1.6rem,3.5vw,2.4rem) clamp(1.6rem,3.5vw,2.6rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;box-shadow:0 22px 50px -28px rgba(42,12,48,.5)}
.preg-nudge-inner h2{font-family:var(--font-display);color:#fff;font-size:clamp(1.25rem,2.6vw,1.6rem);font-weight:700;margin:0}
.preg-nudge-inner p{margin:.4rem 0 0;color:#eed6f4;max-width:52ch;font-size:.98rem}
.preg-visit{
  flex:none;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  background:var(--brand);
  color:#fff;
  font-family:var(--font-body);
  font-weight:800;
  font-size:.66rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  border-radius:999px;
  padding:.36rem .72rem;
  margin-top:.22rem;
}
.preg-book{padding:clamp(1.2rem,2.5vw,1.8rem) 0 clamp(2rem,4vw,2.8rem)}
.preg-book-band{
  background:linear-gradient(120deg,#5a1f63,var(--brand));
  border-radius:22px;
  padding:clamp(1.8rem,4vw,2.6rem) clamp(1.2rem,3vw,2rem);
  text-align:center;
  box-shadow:0 22px 50px -28px rgba(42,12,48,.55);
}
.preg-book-price{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.35rem,2.8vw,1.8rem);
  color:#fff;
  margin:0 0 1.2rem;
  line-height:1.2;
}
.preg-book-price b{font-size:1.45em;font-weight:700}
.preg-book-price span{
  display:block;
  font-family:var(--font-body);
  font-size:.6em;
  font-weight:600;
  color:#e6c6ee;
  margin-top:.4rem;
  letter-spacing:.02em;
}
.preg-book .preg-book-cta.bmb-cta--primary{
  font-size:1.12rem;
  padding:1rem 2.6rem;
  background:var(--cream);
  color:#5a1f63;
  border:none;
}
.preg-book .preg-book-cta.bmb-cta--primary:hover{
  background:#fff;
  color:var(--brand);
}
.preg-book .preg-book-buy{
  margin-right:.6rem;
}
@media (max-width:560px){
.preg-book .preg-book-buy{ margin-right:0; margin-bottom:.7rem; }
}
.preg-book-note{
  margin:.95rem 0 0;
  font-size:.84rem;
  color:#e2cdea;
}
@media (max-width:560px){
.preg-incl-list li{flex-direction:column;gap:.55rem}
.preg-visit{margin-top:0}
}
.preg-incl-list li{align-items:center}
.preg-visit{margin-top:0}
.preg-benefit-banner{
  margin-top:1.1rem;
  background:#f3e8f6;
  border:1px solid rgba(141,49,155,.16);
  border-radius:16px;
  padding:1.15rem 1.3rem 1.2rem;
}
.preg-benefit-lead{
  margin:0 0 .65rem;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.02rem;
  color:#5a1f63;
}
.preg-benefit-note{
  margin:.9rem 0 0;
  font-size:.82rem;
  font-style:italic;
  line-height:1.5;
  color:#8b7f92;
}
.preg-benefit-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.preg-benefit-list b{
  display:block;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.98rem;
  color:#5a1f63;
  margin-bottom:.2rem;
}
.preg-benefit-list span{
  display:block;
  position:relative;
  padding-left:1.05rem;
  font-size:.87rem;
  line-height:1.5;
  color:#6f6377;
}
.preg-benefit-list span::before{
  content:"\2022";
  position:absolute;
  left:.15rem;
  color:var(--brand);
  font-weight:700;
}
.preg-benefit-banner .preg-benefit-note{
  border-top:1px solid rgba(141,49,155,.14);
  padding-top:.85rem;
  margin-top:1rem;
}
.preg-incl-grid{align-items:stretch}
.preg-incl-aside{position:static}
.preg-incl-media{aspect-ratio:auto;flex:1 1 auto;min-height:280px}
@media (max-width:820px){
.preg-incl-media{aspect-ratio:4/3;flex:none;min-height:0}
}
.preg-incl-list--interactive > li{cursor:pointer;transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease}
.preg-incl-list--interactive > li:hover{transform:translateY(-1px)}
.preg-incl-list--interactive > li.is-active{
  border-color:rgba(141,49,155,.5);
  box-shadow:0 12px 28px -18px rgba(141,49,155,.55);
}
.preg-incl-hint{
  margin:.6rem 0 0;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--brand);
}
@media (pointer:fine){
.preg-incl-hint{display:none}
}
#preg-visit-media{position:relative}
#preg-visit-media .preg-media-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .45s ease;
}
#preg-visit-media .preg-media-slide.is-active{opacity:1}
@media (max-width:820px){
#preg-visit-media.is-mobile-sticky{
    position:sticky;
    top:64px;                 /* clears the floating pill header */
    z-index:5;
    aspect-ratio:3/4;         /* portrait to suit the vertical clips */
    flex:none;
    min-height:0;
    margin:.2rem 0 1.15rem;
    box-shadow:0 14px 34px -20px rgba(42,12,48,.55);
  }
.preg-incl-media.is-mobile-sticky + .preg-incl-list--interactive{margin-top:.2rem}
}
/* from /css/pages/store-cart.css */
.bmb-cart-fab {
  position: fixed;
  right: clamp(1rem, 2.5vw, 1.5rem);
  /* base offset (matches WA fab) + room for the WA fab (3.5rem) below it */
  bottom: calc(clamp(1rem, 2.5vw, 1.5rem) + env(safe-area-inset-bottom, 0px) + 4.25rem);
  z-index: 46;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: 0 1.1rem 0 1rem;
  height: 3.5rem;
  border-radius: 999px;
  background: #5a1f63;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 14px 30px -12px rgba(42, 12, 48, .6);
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, background .2s ease;
}
.bmb-cart-fab:hover,
.bmb-cart-fab:focus-visible { background: #6d2578; transform: translateY(-2px); box-shadow: 0 20px 38px -14px rgba(42,12,48,.7); }
.bmb-cart-fab__icon { flex: 0 0 auto; }
.bmb-cart-fab__label { font-family: var(--sans); font-weight: 700; font-size: .95rem; letter-spacing: -.01em; }
.bmb-cart-fab__badge {
  position: absolute; top: -.35rem; right: -.35rem;
  min-width: 1.4rem; height: 1.4rem; padding: 0 .35rem;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; background: #f4c9fb; color: #43164c;
  font-family: var(--sans); font-weight: 800; font-size: .78rem; line-height: 1;
  box-shadow: 0 2px 6px -1px rgba(42,12,48,.5);
}
.bmb-cart-fab.pulse { animation: bmbCartPulse .5s cubic-bezier(.16,1,.3,1); }
.bmb-cart-fab:not(.has-items) { display: none; }
@keyframes bmbCartPulse { 0% { transform: scale(1); } 40% { transform: scale(1.09); } 100% { transform: scale(1); } }
.has-cart-fab .bmb-wa-fab { bottom: calc(clamp(1rem, 2.5vw, 1.5rem) + env(safe-area-inset-bottom, 0px)); }
.bmb-cart-toast {
  position: fixed;
  left: 50%; bottom: 1.5rem; transform: translate(-50%, 1.5rem);
  z-index: 60;
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .7rem 1.1rem; border-radius: 999px;
  background: #2a2540; color: #fff;
  font-family: var(--sans); font-size: .92rem; font-weight: 600;
  box-shadow: 0 16px 36px -14px rgba(20,6,24,.7);
  opacity: 0; pointer-events: none;
  transition: opacity .3s ease, transform .35s cubic-bezier(.16,1,.3,1);
}
.bmb-cart-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.bmb-cart-toast svg { color: #7ee0a6; }
@media (prefers-reduced-motion: reduce){
.bmb-cart-fab, .bmb-cart-toast, .co-qty-btn, .co-remove { transition: none; }
.bmb-cart-fab.pulse { animation: none; }
}
/* 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 body aside.bmb-promo-pause.bmb-promo-pause[role="note"][aria-label]{
  display:block !important; box-sizing:border-box !important; float:none !important;
  /* positioned like the service sections (z-index 1): a static block is painted under the
     fixed hero photo on the immersive service pages, whose hero isolates its own stacking layer */
  position:relative !important; z-index:1 !important;
  /* as wide as the text around it, never wider than 760px, and 16px clear of the screen edge
     when its parent is full-bleed (top of a product page, between two full-width sections) */
  width:auto !important; max-width:min(760px, 100%, calc(100vw - 32px)) !important; grid-column:1 / -1;
  margin:1.25rem auto !important; padding:.7rem 1rem !important;
  background:#f7f2fa !important; background-image:none !important; box-shadow:none !important;
  border:1px solid #e7ddef !important; border-radius:12px !important;
  color:#5b4f63 !important; text-align:left !important; }
html body aside.bmb-promo-pause.bmb-promo-pause[role="note"][aria-label] .bmb-promo-pause-inner{ max-width:none !important; margin:0 !important; padding:0 !important; }
html body aside.bmb-promo-pause.bmb-promo-pause[role="note"][aria-label] p.bmb-promo-pause-msg.bmb-promo-pause-msg{
  margin:0 !important; padding:0 !important; max-width:none !important;
  font-family:'Quicksand', system-ui, -apple-system, "Segoe UI", sans-serif !important; font-style:normal !important;
  font-size:.875rem !important; font-weight:500 !important; line-height:1.55 !important;
  letter-spacing:0 !important; text-transform:none !important; text-align:left !important; color:#5b4f63 !important; }
html body aside.bmb-promo-pause.bmb-promo-pause[role="note"][aria-label] p.bmb-promo-pause-msg.bmb-promo-pause-msg a{
  color:#553f63 !important; font-weight:700 !important; background:none !important; padding:0 !important; border:0 !important;
  text-decoration:underline !important; text-decoration-color:#a58bbb !important;
  text-decoration-thickness:1px !important; text-underline-offset:3px !important; }
html body aside.bmb-promo-pause.bmb-promo-pause[role="note"][aria-label] p.bmb-promo-pause-msg.bmb-promo-pause-msg a:focus-visible{ outline:2px solid #553f63 !important; outline-offset:2px !important; border-radius:2px; }
html:has(> body.preg-page){ background:#faf7fc; }
html body.preg-page{ --navy:#553f63; --navy-dk:#43304f; --cream:#faf7fc; background:#faf7fc !important; }
html body.preg-page main.preg, html body.preg-page .preg{ background:#faf7fc; color:#3f3346; }
html body.preg-page .preg-hero{ color:#3f3346; --hx:max(0px, 50% - 570px); }
html body.preg-page .preg-hero::after{ background:
  linear-gradient(90deg, rgba(250,247,252,.93) 0, rgba(250,247,252,.88) calc(var(--hx) + 600px), rgba(250,247,252,.45) calc(var(--hx) + 760px), rgba(250,247,252,0) calc(var(--hx) + 920px)),
  linear-gradient(0deg, rgba(243,237,247,.7) 0%, rgba(243,237,247,0) 32%) !important; }
html body.preg-page .preg-hero:has([data-sku="pregnancy-package"])::after{ background:
  linear-gradient(90deg, rgba(250,247,252,.93) 0, rgba(250,247,252,.88) calc(var(--hx) + 600px), rgba(250,247,252,.74) calc(var(--hx) + 900px), rgba(250,247,252,0) calc(var(--hx) + 1100px)),
  linear-gradient(0deg, rgba(243,237,247,.7) 0%, rgba(243,237,247,0) 32%) !important; }
html body.preg-page .preg-hero .bmb-eyebrow{ color:#553f63 !important; text-shadow:none !important; }
html body.preg-page .preg-hero h1{ color:#553f63 !important; text-shadow:none !important; }
html body.preg-page .preg-hero-lead{ color:#3f3346 !important; text-shadow:none !important; }
html body.preg-page .preg-hero-note{ color:#3f3346 !important; text-shadow:none !important; }
html body.preg-page .preg-price{ background:rgba(255,255,255,.82); border:1px dashed #a58bbb; }
html body.preg-page .preg-price b{ color:#553f63; }
html body.preg-page .preg-price span, html body.preg-page .preg-price s{ color:#7a6390; }
@media (max-width:1180px){
html body.preg-page .preg-hero:has(.preg-hero-note)::after{ background:
    linear-gradient(90deg, rgba(250,247,252,.9) 0%, rgba(250,247,252,.84) 60%, rgba(250,247,252,.8) 100%) !important; }
}
@media (max-width:720px){
html body.preg-page .preg-hero::after, html body.preg-page .preg-hero:has(.preg-hero-note)::after{ background:
    linear-gradient(180deg, rgba(250,247,252,.52) 0%, rgba(250,247,252,.8) 26%, rgba(250,247,252,.84) 100%) !important; }
}
html body.preg-page .preg .bmb-cta--primary{ background:#553f63 !important; color:#fff !important; border:1px solid #553f63 !important;
  box-shadow:0 10px 24px rgba(85,63,99,.2) !important; }
html body.preg-page .preg .bmb-cta--primary:hover, html body.preg-page .preg .bmb-cta--primary:focus-visible{
  background:#43304f !important; color:#fff !important; border-color:#43304f !important; box-shadow:0 12px 28px rgba(85,63,99,.26) !important; }
html body.preg-page .preg .bmb-cta--ghost{ background:#fff !important; color:#553f63 !important; border:1px solid #d4c5e3 !important; box-shadow:none !important; }
html body.preg-page .preg .bmb-cta--ghost:hover, html body.preg-page .preg .bmb-cta--ghost:focus-visible{
  background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }
html body.preg-page .preg .bmb-cta:focus-visible{ outline:3px solid #d4c5e3; outline-offset:3px; }
html body.preg-page .preg .bmb-eyebrow{ color:#553f63; }
html body.preg-page .preg-incl-head h2, html body.preg-page .preg-alc-head h2{ color:#553f63; }
html body.preg-page .preg-incl-head p, html body.preg-page .preg-alc-head p{ color:#62576a; }
html body.preg-page .preg-incl-list li{ border-color:#e7ddef; box-shadow:0 10px 26px -22px rgba(85,63,99,.35); }
html body.preg-page .preg-incl-list b{ color:#3f3346; }
html body.preg-page .preg-visit{ background:#efe6f5; color:#553f63; box-shadow:inset 0 0 0 1px #d4c5e3; }
html body.preg-page .preg-incl-list--interactive > li:hover{ border-color:#d4c5e3; }
html body.preg-page .preg-incl-list--interactive > li.is-active{ border-color:#a58bbb; box-shadow:0 12px 28px -18px rgba(85,63,99,.4); }
html body.preg-page .preg-incl-list--interactive > li.is-active .preg-visit{ background:#553f63; color:#fff; box-shadow:none; }
html body.preg-page .preg-incl-hint{ color:#7a6390; }
html body.preg-page .preg-incl-media, html body.preg-page #preg-visit-media.is-mobile-sticky{ box-shadow:0 22px 50px -28px rgba(85,63,99,.4); }
html body.preg-page .preg-benefit-banner{ background:#f3edf7; border-color:#e7ddef; }
html body.preg-page .preg-benefit-lead, html body.preg-page .preg-benefit-list b{ color:#553f63; }
html body.preg-page .preg-benefit-list span{ color:#62576a; }
html body.preg-page .preg-benefit-list span::before{ color:#a58bbb; }
html body.preg-page .preg-benefit-note{ color:#62576a; }
html body.preg-page .preg-benefit-banner .preg-benefit-note{ border-top-color:#d4c5e3; }
html body.preg-page .preg-benefits{ background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%); color:#62576a; border:1px solid #e7ddef; }
html body.preg-page .preg-benefits h3{ color:#553f63; }
html body.preg-page .preg-benefits li{ color:#62576a; }
html body.preg-page .preg-benefits li svg{ color:#7a6390; }
html body.preg-page .preg-book-band, html body.preg-page .preg-nudge-inner{
  background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important; color:#62576a; box-shadow:0 18px 40px rgba(85,63,99,.10); }
html body.preg-page .preg-book-price{ color:#553f63; }
html body.preg-page .preg-book-price span{ color:#7a6390; }
html body.preg-page .preg-book-note{ color:#62576a; }
html body.preg-page .preg-nudge-inner h2{ color:#553f63; }
html body.preg-page .preg-nudge-inner p{ color:#62576a; }
html body.preg-page .preg-divider{ background:transparent; border-top-color:#e7ddef; border-bottom-color:#e7ddef; }
html body.preg-page .preg-divider p{ color:#553f63; }
html body.preg-page .preg-divider span{ color:#62576a; }
html body.preg-page .preg-svc, html body.preg-page .preg-hub-card{ border-color:#e7ddef; box-shadow:0 18px 40px -28px rgba(85,63,99,.35); }
html body.preg-page .preg-svc:hover, html body.preg-page .preg-hub-card:hover{ border-color:#d4c5e3; box-shadow:0 24px 48px -28px rgba(85,63,99,.45); }
html body.preg-page .preg-svc:focus-visible, html body.preg-page .preg-hub-card:focus-visible{ outline:3px solid #d4c5e3; outline-offset:3px; }
html body.preg-page .preg-svc h3, html body.preg-page .preg-hub-body h3{ color:#553f63; }
html body.preg-page .preg-svc p, html body.preg-page .preg-hub-body p{ color:#62576a; }
html body.preg-page .preg-svc .preg-link, html body.preg-page .preg-hub-link{ color:#553f63; }
html body.preg-page .preg-svc:hover .preg-link, html body.preg-page .preg-hub-card:hover .preg-hub-link{ color:#7a6390; }
html body.preg-page .preg-svc-media{ background:#f3edf7; }
html body.preg-page .bmb-cart-fab{ background:#553f63; box-shadow:0 14px 30px -12px rgba(85,63,99,.45); }
html body.preg-page .bmb-cart-fab:hover, html body.preg-page .bmb-cart-fab:focus-visible{ background:#43304f; box-shadow:0 20px 38px -14px rgba(85,63,99,.5); }
html body.preg-page .bmb-cart-fab__badge{ background:#e7ddef; color:#553f63; box-shadow:0 2px 6px -1px rgba(85,63,99,.35); }
@media (max-width:768px){
html body.preg-page.mobile-nav-open .site-header,
  html body.preg-page.mobile-nav-open .site-header.is-floating{ background:#fff !important; border-bottom:1px solid #e7ddef !important; }
html body.preg-page .site-header .primary-nav{ background:#fff !important; }
html body.preg-page .site-header .primary-nav .submenu,
  html body.preg-page .site-header .primary-nav .flyout-panel{ background:transparent !important; }
html body.preg-page .site-header .primary-nav .submenu a:hover,
  html body.preg-page .site-header .primary-nav .submenu a:focus-visible{ background:transparent !important; }
html body.preg-page .site-header .primary-nav .nav-root > li,
  html body.preg-page .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
html body.preg-page .site-header .primary-nav .has-submenu.is-expanded > a{ color:#7a6390 !important; }
html body.preg-page .site-header .primary-nav .submenu a,
  html body.preg-page .site-header .primary-nav .flyout-cat-label{ color:#3f3346 !important; }
html body.preg-page .site-header .primary-nav .submenu a:hover,
  html body.preg-page .site-header .primary-nav .submenu a:focus-visible,
  html body.preg-page .site-header .primary-nav .flyout-cat.is-open > .flyout-cat-label{ color:#553f63 !important; }
html body.preg-page .site-header .primary-nav .nav-search-item .nav-search-btn{ background:#faf7fc !important; border-color:#e7ddef !important; color:#62576a !important; }
html body.preg-page .site-header .primary-nav .nav-search-item .nav-search-btn:hover,
  html body.preg-page .site-header .primary-nav .nav-search-item .nav-search-btn:focus-visible{ background:#f3edf7 !important; border-color:#d4c5e3 !important; }
html body.preg-page .site-header .primary-nav .nav-search-item .nav-search-btn *{ color:#62576a !important; }
html body.preg-page .site-header .primary-nav .nav-root > li.nav-account-item > a,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a{ background:#faf7fc !important; border-color:#e7ddef !important; color:#553f63 !important; }
html body.preg-page .site-header .primary-nav .nav-root > li.nav-account-item > a:hover,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-account-item > a:focus-visible,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a:hover,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a:focus-visible{ background:#f3edf7 !important; border-color:#d4c5e3 !important; }
html body.preg-page .site-header .primary-nav .nav-root > li.nav-account-item > a *,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a *{ color:#553f63 !important; }
html body.preg-page .site-header .primary-nav :is(.nav-account-face,.nav-cart-face){ border-color:#a58bbb !important; }
html body.preg-page .site-header .primary-nav .nav-account.is-in .nav-account-face{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html body.preg-page .site-header .primary-nav .nav-account.is-in .nav-account-face *{ color:#fff !important; }
html body.preg-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel :is(svg,span){ color:#62576a !important; }
html body.preg-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel:hover,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel:focus-visible{ color:#553f63 !important; }
html body.preg-page .site-header .primary-nav .nav-tel strong{ color:#553f63 !important; }
html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a .nav-cart-badge{ background:#553f63 !important; color:#fff !important; }
}
html body.preg-page .site-header :is(.nav-account,.nav-cart,.nav-search-btn):focus-visible{ outline-color:#a58bbb !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; }
}
