/* v2.0.12 typography-only patch:
     * - preserve Apple's original font sizes, weights, line-heights and spacing
     * - <19px => BB Text
     * - 19px and above => BB Display
     * - desktop product/menu names render as text, not SVG word outlines
     */
    @media (min-width: 834px) {
      #globalnav .globalnav-item-menu .globalnav-link-text {
        position: static;
        clip: auto;
        clip-path: none;
        overflow: visible;
        width: auto;
        height: 100%;
        padding: 0;
        border: 0;
        display: flex;
        align-items: center;
        white-space: nowrap;
        font-family: "BB Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
      }

      #globalnav .globalnav-item-menu .globalnav-link-text-container > .globalnav-image-regular.globalnav-link-image {
        display: none !important;
      }
    }

/* Empty Bag count is absent, not merely scaled to zero. */
    #globalnav .globalnav-bag:not(.with-badge) .globalnav-bag-badge,
    #globalnav .globalnav-bag-badge[hidden] {
      display: none !important;
    }

    /* v2.0.28: Search action SVG geometry must not change when the field gains a value.
       Keep Apple's native breakpoint ownership: regular SVG on desktop, compact SVG on mobile. */

    /* Keep native Apple global-nav geometry exactly intact. No fixed Search/Bag
       widths, padding, transforms, or badge coordinates are overridden here. */

/*
     * Search Quick Links: replay Apple's own native search-result motion on
     * every actual flyout open. This does not alter Search geometry or routing.
     */
    #globalnav .globalnav-search .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-header,
    #globalnav .globalnav-search .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-list-item {
      animation-name: none !important;
      opacity: 0;
      transform: translateY(calc(var(--r-globalnav-search-shift-vertical, 4px) * -1));
      will-change: opacity, transform;
    }

    #globalnav .globalnav-search.globalnav-item-flyout-open .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-header,
    #globalnav .globalnav-search.globalnav-item-flyout-open .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-list-item,
    #globalnav #globalnav-menubutton-link-search[aria-expanded="true"] + #globalnav-submenu-search .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-header,
    #globalnav #globalnav-menubutton-link-search[aria-expanded="true"] + #globalnav-submenu-search .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-list-item {
      animation-delay: calc(.2s + 20ms * var(--r-globalnav-flyout-item-number) + 40ms * var(--r-globalnav-flyout-group-number, 0) + var(--bb-quicklinks-resume-offset, 0ms)) !important;
      animation-direction: normal !important;
      animation-duration: .32s !important;
      animation-fill-mode: both !important;
      animation-name: globalnav-search-fade-and-slide !important;
      animation-timing-function: cubic-bezier(.4, 0, .6, 1) !important;
    }

    #globalnav.globalnav-with-flyout-closing:not(.globalnav-with-menu-open, .globalnav-with-submenu-open)
      .globalnav-search .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-header,
    #globalnav.globalnav-with-flyout-closing:not(.globalnav-with-menu-open, .globalnav-with-submenu-open)
      .globalnav-search .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-list-item {
      opacity: 1;
      animation-delay: 0s !important;
      animation-direction: reverse !important;
      animation-duration: min(calc(.16s + (var(--r-globalnav-flyout-item-total, 6) - var(--r-globalnav-flyout-item-number)) * 20ms), .24s) !important;
      animation-fill-mode: both !important;
      animation-name: globalnav-search-fade-and-slide-to-close !important;
      animation-timing-function: cubic-bezier(.4, 0, .6, 1) !important;
    }

    /* If Apple inserts a fresh native default-links node, keep that unmanaged
       copy from painting even for a single frame. The Quick Links bridge adopts
       it synchronously and then either lets the genuine open-session stagger run
       or shows it immediately when that session has already finished. */
    #globalnav .globalnav-searchresults-current
      .globalnav-searchresults-container[data-analytics-region="defaultlinks search"]:not([data-bb-search-quicklinks="true"]) {
      visibility: hidden !important;
      opacity: 0 !important;
    }

    /* A replacement that arrives only after the genuine entrance stagger has
       completed must not replay. The marker is never used during the first
       open-session animation, so the normal sequential motion stays intact. */
    #globalnav .globalnav-searchresults-current
      [data-bb-search-quicklinks="true"][data-bb-search-quicklinks-no-replay="true"] .globalnav-searchresults-header,
    #globalnav .globalnav-searchresults-current
      [data-bb-search-quicklinks="true"][data-bb-search-quicklinks-no-replay="true"] .globalnav-searchresults-list-item {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
      will-change: auto !important;
    }

    /* Keep Apple's own fast hover/focus feedback for every Quick Link. */
    #globalnav .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-list-link {
      transition: color 20ms cubic-bezier(.4, 0, .6, 1),
                  background-color 20ms cubic-bezier(.4, 0, .6, 1),
                  fill 20ms cubic-bezier(.4, 0, .6, 1);
    }

    /* Never paint Apple's temporary previous default-links layer at the same
       time as the authoritative current Quick Links. Product/live-result
       previous layers are untouched. */
    #globalnav .globalnav-searchresults-previous
      .globalnav-searchresults-container[data-analytics-region="defaultlinks search"],
    #globalnav .globalnav-searchresults-previous [data-bb-search-quicklinks="true"] {
      display: none !important;
    }

    @media (prefers-reduced-motion: reduce) {
      #globalnav .globalnav-search .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-header,
      #globalnav .globalnav-search .globalnav-searchresults-current [data-bb-search-quicklinks="true"] .globalnav-searchresults-list-item {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        will-change: auto;
      }
    }

/* WooCommerce live results: product image + name, with clean price beneath. */
    #globalnav [data-bb-search-live="true"] .globalnav-searchresults-list-item {
      animation-duration: .32s;
      animation-fill-mode: both;
      animation-name: globalnav-search-fade-and-slide;
      animation-timing-function: cubic-bezier(.4, 0, .6, 1);
      animation-delay: calc(40ms + 20ms * var(--r-globalnav-flyout-item-number));
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-item {
      margin-top: 2px;
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-item:first-child {
      margin-top: 4px;
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link {
      box-sizing: border-box;
      width: 100%;
      min-height: 58px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 12px;
      padding: 6px 10px 6px 6px;
      border-radius: 12px;
      overflow: hidden;
      background: transparent;
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-image-wrap {
      width: 42px;
      height: 42px;
      flex: 0 0 42px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      border-radius: 9px;
      background: rgba(0, 0, 0, .035);
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-image {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      border: 0;
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-copy {
      min-width: 0;
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      gap: 1px;
      overflow: hidden;
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-name,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-price {
      display: block;
      max-width: 100%;
      font-size: 17px;
      line-height: 1.2353641176;
      letter-spacing: -.022em;
      font-family: "BB Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-name {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-weight: 600;
      color: var(--r-globalnav-search-list-item-searchterm-color);
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-price {
      white-space: nowrap;
      font-weight: 400;
      color: var(--r-globalnav-search-list-item-nonsearchterm-color);
      font-variant-numeric: tabular-nums;
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:hover,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:focus-visible,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link.globalnav-searchresults-hover {
      background-color: var(--r-globalnav-search-list-item-hover-background);
      color: var(--r-globalnav-search-list-item-hover-color);
      text-decoration: none;
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:hover .bb-wp-search-product-name,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:hover .bb-wp-search-product-price,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:focus-visible .bb-wp-search-product-name,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:focus-visible .bb-wp-search-product-price,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link.globalnav-searchresults-hover .bb-wp-search-product-name,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link.globalnav-searchresults-hover .bb-wp-search-product-price {
      color: var(--r-globalnav-search-list-item-hover-color);
    }
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:hover .bb-wp-search-product-image-wrap,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:focus-visible .bb-wp-search-product-image-wrap,
    #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link.globalnav-searchresults-hover .bb-wp-search-product-image-wrap {
      background: rgba(0, 0, 0, .055);
    }
    .theme-dark #globalnav [data-bb-search-live="true"] .bb-wp-search-product-image-wrap,
    .globalheader-dark #globalnav [data-bb-search-live="true"] .bb-wp-search-product-image-wrap,
    #globalnav.globalnav-dark [data-bb-search-live="true"] .bb-wp-search-product-image-wrap {
      background: rgba(255, 255, 255, .07);
    }
    .theme-dark #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:hover .bb-wp-search-product-image-wrap,
    .globalheader-dark #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link:hover .bb-wp-search-product-image-wrap,
    #globalnav.globalnav-dark [data-bb-search-live="true"] .bb-wp-search-product-link:hover .bb-wp-search-product-image-wrap {
      background: rgba(255, 255, 255, .1);
    }
    #globalnav .bb-wp-search-status.globalnav-searchresults-list-link {
      cursor: default;
      color: var(--r-globalnav-search-list-item-nonsearchterm-color);
      background: transparent;
      pointer-events: none;
    }
    #globalnav .bb-wp-search-status.globalnav-searchresults-list-link:hover {
      color: var(--r-globalnav-search-list-item-nonsearchterm-color);
      background: transparent;
    }
    @media (max-width: 833px) {
      #globalnav [data-bb-search-live="true"] .bb-wp-search-product-item {
        margin-top: 3px;
      }
      #globalnav [data-bb-search-live="true"] .bb-wp-search-product-item:first-child {
        margin-top: 5px;
      }
      #globalnav [data-bb-search-live="true"] .bb-wp-search-product-link {
        min-height: 60px;
        gap: 11px;
        padding: 6px 12px 6px 7px;
        border-radius: 13px;
        line-height: normal;
      }
      #globalnav [data-bb-search-live="true"] .bb-wp-search-product-image-wrap {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        border-radius: 10px;
      }
      #globalnav [data-bb-search-live="true"] .bb-wp-search-product-name,
      #globalnav [data-bb-search-live="true"] .bb-wp-search-product-price {
        font-size: 14px;
        line-height: 1.2857142857;
        letter-spacing: -.016em;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      #globalnav [data-bb-search-live="true"] .globalnav-searchresults-list-item {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
      }
    }

/* v1.2.0 first-paint geometry: #globalheader is empty until the optimized
   runtime mounts. Reserve its final block height before first paint so the
   page never jumps down when .globalnav-placeholder is inserted. */
#globalheader[data-bb-nav-critical-mount="1"] {
  display: block !important;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-width: 320px;
  min-height: var(--r-globalnav-height, 44px);
}
@media (max-width: 833px) {
  #globalheader[data-bb-nav-critical-mount="1"] {
    min-height: 48px;
  }
}

/* The final-response relocation leaves only a zero-size source marker in the
   original shortcode location. Collapse dedicated shortcode widgets so an
   Elementor/Gutenberg wrapper cannot leave a ghost gap after the nav is moved. */
.bb-nav-source-anchor{display:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important}
.elementor-widget-shortcode:has(.bb-nav-source-anchor),
.wp-block-shortcode:has(.bb-nav-source-anchor){display:none!important;margin:0!important;padding:0!important;min-height:0!important}


/* v1.12 viewport section-theme authority. Page-level .theme-light must not cancel the nav state. */
body.bb-nav-section-dark #globalnav {
  --r-globalnav-color: rgba(255,255,255,.8);
  --r-globalnav-color-secondary: #E8E8ED;
  --r-globalnav-color-hover: #FFFFFF;
}
body.bb-nav-section-dark #globalnav.globalnav-scrim {
  --globalnav-background: rgba(22,22,23,.88);
}
@supports (backdrop-filter: initial) {
  body.bb-nav-section-dark #globalnav.globalnav-scrim {
    --globalnav-background: rgba(22,22,23,.8);
  }
}
body.bb-nav-section-dark #globalnav .globalnav-menutrigger-button { color:#fff; }
body.bb-nav-section-light #globalnav {
  --r-globalnav-color: rgba(0,0,0,.8);
  --r-globalnav-color-secondary: #333336;
  --r-globalnav-color-hover: #000;
}

/* v1.13 resolved-theme inversion support.
   bb-nav-section-light must beat the site's .theme-dark selectors when an
   .ac-in-section-dark region is under the header while the base theme is dark. */
body.bb-nav-section-light #globalnav {
  --r-globalnav-color: rgba(0,0,0,.8);
  --r-globalnav-color-secondary: #333336;
  --r-globalnav-color-hover: #000;
}
body.bb-nav-section-light #globalnav.globalnav-scrim {
  --globalnav-background: rgba(250,250,252,.92);
}
@supports (backdrop-filter: initial) {
  body.bb-nav-section-light #globalnav.globalnav-scrim {
    --globalnav-background: rgba(250,250,252,.8);
  }
}
body.bb-nav-section-light #globalnav .globalnav-menutrigger-button { color:#000; }

/* v1.15 page-scoped header modes ------------------------------------------ */

/* Actual front page only: keep the global header fixed. Other global-only pages remain in normal flow. */
body.bb-nav-fixed-header-page #globalheader[data-bb-nav-critical-mount="1"],
body.bb-nav-fixed-header-page #globalheader {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
}
body.admin-bar.bb-nav-fixed-header-page #globalheader[data-bb-nav-critical-mount="1"],
body.admin-bar.bb-nav-fixed-header-page #globalheader {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar.bb-nav-fixed-header-page #globalheader[data-bb-nav-critical-mount="1"],
  body.admin-bar.bb-nav-fixed-header-page #globalheader {
    top: 46px;
  }
}

/* /ttt/ + /ttt2/: start fully transparent. Once scroll begins, let the
   resolved nav theme fade into the native light/dark scrim and blur. */
body.bb-nav-transparent-start-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  transition:
    background-color .32s cubic-bezier(.4,0,.6,1),
    background .32s cubic-bezier(.4,0,.6,1),
    backdrop-filter .32s cubic-bezier(.4,0,.6,1),
    -webkit-backdrop-filter .32s cubic-bezier(.4,0,.6,1);
}
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #globalnav {
  --globalnav-background: rgba(250,250,252,0);
  --globalnav-backdrop-filter: none;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #globalnav.globalnav-dark,
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #globalnav.globalheader-dark {
  --globalnav-background: rgba(22,22,23,0);
}
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalnav-light,
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalheader-light {
  --globalnav-background: rgba(250,250,252,.92);
}
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalnav-dark,
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalheader-dark {
  --globalnav-background: rgba(22,22,23,.88);
}
@supports ((-webkit-backdrop-filter: initial) or (backdrop-filter: initial)) {
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav {
    --globalnav-backdrop-filter: saturate(180%) blur(20px);
  }
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalnav-light,
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalheader-light {
    --globalnav-background: rgba(250,250,252,.8);
  }
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalnav-dark,
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalheader-dark {
    --globalnav-background: rgba(22,22,23,.8);
  }
}

/* v1.16.11 global-only idle surface ---------------------------------------
   Home + /t/ may style only the collapsed/idle 44/48px bar. The instant the
   native globalnav state machine starts animating, every custom background,
   blur and transition declaration steps aside until closing is complete. */
body.bb-nav-global-only-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  background: var(--globalnav-background);
  -webkit-backdrop-filter: var(--globalnav-backdrop-filter);
  backdrop-filter: var(--globalnav-backdrop-filter);
}

/* v1.16.10 — Global-only mobile idle surface -----------------------------
   IMPORTANT: paint the 44/48px idle scrim only once. #globalnav already owns
   the dynamic theme surface + backdrop blur. Painting the same translucent
   background on .globalnav-content as well stacks two alpha layers and makes
   80% look almost opaque. Keep the child clear while idle; native flyout
   open/closing states below temporarily take ownership when the mobile menu
   expands. */
@media (max-width: 833px) {
  body.bb-nav-global-only-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.bb-nav-transparent-start-page #globalnav,
  body.bb-nav-transparent-start-page #globalnav .globalnav-content,
  body.bb-nav-global-only-page #globalnav .globalnav-content {
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
  }
}


/* v1.15.3 /ttt/ + /ttt2/: mirror Apple's delayed close feel for the global
   transparent-start surface. Scroll-in is immediate; scroll-back-to-top waits
   briefly before fading the scrim/background away. */
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
  -webkit-transition-delay: 0ms, 0ms, 0ms, 0ms;
  transition-delay: 0ms, 0ms, 0ms, 0ms;
}
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
  -webkit-transition-delay: 500ms, 500ms, 500ms, 500ms;
  transition-delay: 500ms, 500ms, 500ms, 500ms;
}


/* v1.15.4 /ttt/ + /ttt2/: one unified scrim surface -----------------------
   The local-nav .ac-ln-background already extends upward by the global-nav
   height (native Apple layout). Do not paint a second translucent layer on
   #globalnav while idle, otherwise the overlapping 44/48px becomes darker.
   The local background is therefore the single source of the bar's scrim,
   blur and fade. Native global flyout/opening states remain free to paint
   their own expanded surfaces. */
body.bb-nav-transparent-start-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  --globalnav-background: transparent !important;
  --globalnav-backdrop-filter: none !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.bb-nav-transparent-start-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* v1.16.0 HECU semantic-token bridge -------------------------------------
   In normal/base mode the global navigation consumes the same resolved design
   tokens as the footer/theme system. Section inversion/fixed markers keep the
   native high-contrast light/dark palette so readability is deterministic. */
body[data-bb-nav-section-mode="base"] #globalnav,
body:not([data-bb-nav-section-mode]) #globalnav {
  --r-globalnav-color: color-mix(in srgb, var(--hecu-text, #1d1d1f) 80%, transparent);
  --r-globalnav-color-secondary: var(--hecu-text-muted, #333336);
  --r-globalnav-color-hover: var(--hecu-text, #000);
  --bb-nav-surface-color: var(--section-bg, var(--hecu-section-bg, var(--hecu-bg, #f5f5f7)));
  --r-globalnav-background-opened: var(--bb-nav-surface-color);
  --r-globalnav-background-opened-dark: var(--bb-nav-surface-color);
  --globalnav-background: color-mix(in srgb, var(--bb-nav-surface-color) 80%, transparent);
}

body[data-bb-nav-section-mode="base"] #globalnav .globalnav-submenu-header,
body:not([data-bb-nav-section-mode]) #globalnav .globalnav-submenu-header {
  color: var(--hecu-text-muted, #6e6e73);
}

body[data-bb-nav-section-mode="base"] #globalnav :focus-visible,
body:not([data-bb-nav-section-mode]) #globalnav :focus-visible {
  --sk-focus-color: var(--hecu-focus, #0071e3);
}


/* v1.16.3 — One unified idle header surface everywhere --------------------
   If #ac-localnav exists, its native .ac-ln-background is the ONLY idle
   scrim painter. It already extends upward by --r-globalnav-height, so this
   covers global + local bars with one alpha/blur layer. Global-only pages
   keep #globalnav as their single painter. Flyout/open/closing states are
   deliberately excluded so Apple's expanded-menu surfaces remain native. */
body.bb-nav-has-localnav #globalheader {
  background: transparent !important;
}

body.bb-nav-has-localnav #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  --globalnav-background: transparent !important;
  --globalnav-backdrop-filter: none !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.bb-nav-has-localnav #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Global-only pages use the same live footer surface token as pages with a
   local nav. This keeps Home + /t/ visually synchronized with theme family
   and intensity changes. Explicit section inversion/fixed states remain owned
   by their section-state rules. */
body.bb-nav-global-only-page[data-bb-nav-section-mode="base"] #globalnav,
body.bb-nav-global-only-page:not([data-bb-nav-section-mode]) #globalnav {
  --bb-nav-surface-color: var(--section-bg, var(--hecu-section-bg, var(--hecu-bg, #f5f5f7)));
  --globalnav-background: color-mix(in srgb, var(--bb-nav-surface-color) 92%, transparent);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  body.bb-nav-global-only-page #globalnav {
    --globalnav-backdrop-filter: saturate(180%) blur(20px);
  }
  body.bb-nav-global-only-page[data-bb-nav-section-mode="base"] #globalnav,
  body.bb-nav-global-only-page:not([data-bb-nav-section-mode]) #globalnav {
    --globalnav-background: color-mix(in srgb, var(--bb-nav-surface-color) 80%, transparent);
  }
}

/* v1.16.11 — Native mobile flyout ownership -------------------------------
   No page profile is allowed to override .globalnav-content while the native
   flyout state machine is opening, open, animating or closing. globalnav-core
   therefore owns height, opacity/visibility, opened background, backdrop blur,
   curtain blending and all transition rates exactly as in the original nav. */
@media (max-width: 833px) {
  body.bb-nav-global-only-page #globalnav.globalnav-animating,
  body.bb-nav-global-only-page #globalnav.globalnav-with-flyout-open,
  body.bb-nav-global-only-page #globalnav.globalnav-with-flyout-closing,
  body.bb-nav-has-localnav #globalnav.globalnav-animating,
  body.bb-nav-has-localnav #globalnav.globalnav-with-flyout-open,
  body.bb-nav-has-localnav #globalnav.globalnav-with-flyout-closing {
    /* Marker block only: intentionally no background/transition overrides. */
  }
}

/* v1.16.12 — v1.14 mobile flyout surface contract -------------------------
   The page-profile system owns only the collapsed/idle bar. During mobile
   flyout motion, restore the original v1.14 visual contract explicitly:
   - the opened flyout surface is fully opaque (#fafafc / #161617)
   - native globalnav-core owns height and transition rate/timing
   - blur is handed in/out only on Apple's native animating/closing states
   - no Home, /t/, /ttt/, local-nav or dynamic-idle alpha can leak into the
     expanded flyout surface.
*/
@media (max-width: 833px) {
  #globalnav.globalnav-with-flyout-open .globalnav-content {
    height: calc(100vh - var(--globalnav-preceding-element-height, 0px));
    overflow-x: hidden;
    overflow-y: scroll;
    transition-delay: 0ms;
  }

  @supports (height: 100dvh) {
    #globalnav.globalnav-with-flyout-open .globalnav-content {
      height: calc(100dvh - var(--globalnav-preceding-element-height, 0px));
    }
  }

  /* Exact opaque opened surfaces from the v1.14 global-nav contract. */
  #globalnav.globalnav-with-flyout-open.globalnav-dark .globalnav-content,
  #globalnav.globalnav-with-flyout-open.globalheader-dark .globalnav-content,
  .globalheader-dark #globalnav.globalnav-with-flyout-open .globalnav-content,
  .theme-dark #globalnav.globalnav-with-flyout-open:not(.globalnav-light):not(.globalheader-light) .globalnav-content {
    background: #161617;
  }

  #globalnav.globalnav-with-flyout-open.globalnav-light .globalnav-content,
  #globalnav.globalnav-with-flyout-open.globalheader-light .globalnav-content,
  .globalheader-dark #globalnav.globalnav-with-flyout-open.globalnav-light .globalnav-content,
  .theme-dark #globalnav.globalnav-with-flyout-open.globalnav-light .globalnav-content,
  .globalheader-dark #globalnav.globalnav-with-flyout-open.globalheader-light .globalnav-content,
  .theme-dark #globalnav.globalnav-with-flyout-open.globalheader-light .globalnav-content,
  .globalheader-light #globalnav.globalnav-with-flyout-open .globalnav-content,
  .theme-light #globalnav.globalnav-with-flyout-open .globalnav-content {
    background: #fafafc;
  }

  /* Preserve v1.14's native blur hand-off during opening and closing. */
  #globalnav.globalnav-with-flyout-open.globalnav-animating:not(.globalnav-with-flyout-closing) .globalnav-content,
  #globalnav.globalnav-with-flyout-closing:not(.globalnav-with-menu-open, .globalnav-with-submenu-open) .globalnav-content {
    -webkit-backdrop-filter: var(--globalnav-backdrop-filter);
    backdrop-filter: var(--globalnav-backdrop-filter);
  }
}

/* v1.16.14 — Correct global-only mobile scrim + local-nav close fade -------
   Front page + /t/: mirror the original mobile globalnav principle exactly.
   The wrapper owns the backdrop filter, while .globalnav-content paints the
   single translucent 44/48px scrim. This avoids both stacked alpha and an
   under-painted mobile bar.

   Pages with a local nav: the full-screen flyout surface fades to transparent
   before the variable-height collapse is complete, revealing the unified
   .ac-ln-background underneath. The actual menu/height state machine remains
   native and untouched.
*/
@media (max-width: 833px) {
  /* Global-only idle bar: original mobile scrim ownership. */
  body.bb-nav-global-only-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
    background: none !important;
    -webkit-backdrop-filter: var(--globalnav-backdrop-filter) !important;
    backdrop-filter: var(--globalnav-backdrop-filter) !important;
  }

  body.bb-nav-global-only-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
    background: var(--globalnav-background) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  /* Local-nav pages: fade the expanded flyout surface out first, then let
     the native height collapse finish over the already-visible shared bar. */
  body.bb-nav-has-localnav #globalnav.globalnav-with-flyout-closing .globalnav-content {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    -webkit-transition:
      height var(--r-globalnav-flyout-rate) cubic-bezier(.4,0,.6,1) 80ms,
      background 500ms cubic-bezier(.4,0,.6,1) 0ms,
      -webkit-backdrop-filter 500ms cubic-bezier(.4,0,.6,1) 0ms !important;
    transition:
      height var(--r-globalnav-flyout-rate) cubic-bezier(.4,0,.6,1) 80ms,
      background 500ms cubic-bezier(.4,0,.6,1) 0ms,
      backdrop-filter 500ms cubic-bezier(.4,0,.6,1) 0ms !important;
  }
}


/* v1.16.15 — Mobile section-theme color interpolation -----------------------
   On compact globalnav, the native hide/show rule replaces `.globalnav-link`'s
   normal `transition: color ...` with an opacity/visibility-only transition.
   That made Apple/logo, Search and Bag snap between dark/light section states.
   Restore the same .32s color interpolation used by the native menu trigger,
   while preserving the original compact opacity/visibility timing.
*/
@media (max-width: 833px) {
  #globalnav .globalnav-link-apple,
  #globalnav #globalnav-menubutton-link-search,
  #globalnav #globalnav-menubutton-link-bag {
    transition:
      opacity .24s cubic-bezier(.4,0,.6,1) 80ms,
      visibility .24s step-start 80ms,
      color .32s cubic-bezier(.4,0,.6,1) !important;
  }

  #globalnav.globalnav-with-flyout-open .globalnav-link-apple,
  #globalnav.globalnav-with-flyout-open #globalnav-menubutton-link-search,
  #globalnav.globalnav-with-flyout-open #globalnav-menubutton-link-bag {
    transition:
      opacity .24s cubic-bezier(.4,0,.6,1),
      visibility .24s step-end,
      color .32s cubic-bezier(.4,0,.6,1) !important;
  }

  /* SVGs/icons use currentColor, so a single color transition on the actual
     controls keeps logo/search/bag in lock-step with the menu trigger. */
  #globalnav .globalnav-link-apple svg,
  #globalnav #globalnav-menubutton-link-search svg,
  #globalnav #globalnav-menubutton-link-bag svg {
    fill: currentColor;
  }
}



/* v1.16.34 — reverse transparent-on-scroll pages -------------------------
   /ui-ux/, /photography/ and /contact/ keep the normal global-only surface at the top.
   After the shared header/admin-bar-aware threshold, the idle global header
   becomes fully transparent. Native flyout/menu states retain ownership. */
body.bb-nav-transparent-after-scroll-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-transparent-after-scroll-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
  transition:
    background-color 500ms cubic-bezier(.4,0,.6,1) 500ms,
    background 500ms cubic-bezier(.4,0,.6,1) 500ms,
    backdrop-filter 500ms cubic-bezier(.4,0,.6,1) 500ms,
    -webkit-backdrop-filter 500ms cubic-bezier(.4,0,.6,1) 500ms;
}

/* Entering the scrolled/transparent state is immediate; only the return to
   the top surface holds for 500ms, matching the transparent-start pages. */
body.bb-nav-transparent-after-scroll-page.bb-nav-has-scrolled #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-transparent-after-scroll-page.bb-nav-has-scrolled #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
  transition-delay: 0ms, 0ms, 0ms, 0ms;
}

body.bb-nav-transparent-after-scroll-page.bb-nav-has-scrolled #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  --globalnav-background: transparent !important;
  --globalnav-backdrop-filter: none !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 833px) {
  body.bb-nav-transparent-after-scroll-page.bb-nav-has-scrolled #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.bb-nav-transparent-after-scroll-page #globalnav,
  body.bb-nav-transparent-after-scroll-page #globalnav .globalnav-content {
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
  }
}

/* v1.16.39 — /pages/ + /sitemap/ always-transparent idle header ---------
   These global-only pages never paint an idle global-header background,
   regardless of light/dark theme, section state, or scroll position. Native
   flyout/menu/search/bag open/closing states are intentionally excluded so
   their own surfaces remain readable and keep the native state machine. */
body.bb-nav-always-transparent-header-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-always-transparent-header-page #globalnav.globalnav-light:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-always-transparent-header-page #globalnav.globalnav-dark:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-always-transparent-header-page #globalnav.globalheader-light:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-always-transparent-header-page #globalnav.globalheader-dark:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  --globalnav-background: transparent !important;
  --globalnav-backdrop-filter: none !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 833px) {
  body.bb-nav-always-transparent-header-page #globalnav:not(.globalnav-animating):not(.globalnav-with-flyout-open):not(.globalnav-with-flyout-closing):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) .globalnav-content {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* v1.16.53 — mobile menu links use explicit theme foregrounds. */
@media (max-width: 833px) {
  #globalnav .globalnav-item-menu .globalnav-link {
    color: #1d1d1f;
    width: auto;
  }

  #globalnav.globalnav-dark .globalnav-item-menu .globalnav-link,
  .globalheader-dark #globalnav .globalnav-item-menu .globalnav-link,
  .theme-dark #globalnav .globalnav-item-menu .globalnav-link {
    color: #f5f5f7;
  }

  #globalnav.globalnav-light .globalnav-item-menu .globalnav-link,
  .globalheader-light #globalnav .globalnav-item-menu .globalnav-link,
  .theme-light #globalnav .globalnav-item-menu .globalnav-link {
    color: #1d1d1f;
  }
}

/* v1.16.54 — compact menu hover uses pure theme foregrounds. */
@media (max-width: 833px) {
  #globalnav .globalnav-item-menu .globalnav-link:hover {
    color: #000 !important;
  }

  #globalnav.globalnav-dark .globalnav-item-menu .globalnav-link:hover,
  .globalheader-dark #globalnav .globalnav-item-menu .globalnav-link:hover,
  .theme-dark #globalnav .globalnav-item-menu .globalnav-link:hover {
    color: #fff !important;
  }

  #globalnav.globalnav-light .globalnav-item-menu .globalnav-link:hover,
  .globalheader-light #globalnav .globalnav-item-menu .globalnav-link:hover,
  .theme-light #globalnav .globalnav-item-menu .globalnav-link:hover {
    color: #000 !important;
  }
}


/* v1.16.56 — WordPress admin-bar-aware global flyout viewport ------------
   Every global flyout/open state uses the actual visible #wpadminbar height.
   JS keeps --bb-wp-adminbar-height synchronized; CSS fallbacks cover the
   initial paint before JS runs. This changes only vertical viewport accounting,
   never native icon/menu geometry. */
:root { --bb-wp-adminbar-height: 0px; }
body.admin-bar { --bb-wp-adminbar-height: 32px; }
@media (max-width: 782px) {
  body.admin-bar { --bb-wp-adminbar-height: 46px; }
}

body.admin-bar #globalnav {
  --globalnav-preceding-element-height: var(--bb-wp-adminbar-height, 0px);
}

@media (min-width: 834px) {
  body.admin-bar #globalnav .globalnav-submenu {
    max-height: calc(100vh - var(--r-globalnav-flyout-spacing) - var(--bb-wp-adminbar-height, 0px));
  }
  @supports (height: 100dvh) {
    body.admin-bar #globalnav .globalnav-submenu {
      max-height: calc(100dvh - var(--r-globalnav-flyout-spacing) - var(--bb-wp-adminbar-height, 0px));
    }
  }
  body.admin-bar #globalnav .globalnav-item:not(.globalnav-item-flyout-change-previous, .globalnav-item-flyout-change-next).globalnav-item-flyout-closing .globalnav-flyout {
    height: calc(100vh - var(--bb-wp-adminbar-height, 0px));
  }
  @supports (height: 100dvh) {
    body.admin-bar #globalnav .globalnav-item:not(.globalnav-item-flyout-change-previous, .globalnav-item-flyout-change-next).globalnav-item-flyout-closing .globalnav-flyout {
      height: calc(100dvh - var(--bb-wp-adminbar-height, 0px));
    }
  }
}

@media (max-width: 833px) {
  body.admin-bar #globalnav.globalnav-with-flyout-open .globalnav-content {
    height: calc(100vh - var(--bb-wp-adminbar-height, 0px));
  }
  @supports (height: 100dvh) {
    body.admin-bar #globalnav.globalnav-with-flyout-open .globalnav-content {
      height: calc(100dvh - var(--bb-wp-adminbar-height, 0px));
    }
  }
  body.admin-bar #globalnav .globalnav-item:not(.globalnav-item-flyout-change-previous, .globalnav-item-flyout-change-next).globalnav-item-flyout-closing .globalnav-flyout {
    height: calc(100vh - var(--bb-wp-adminbar-height, 0px));
  }
  @supports (height: 100dvh) {
    body.admin-bar #globalnav .globalnav-item:not(.globalnav-item-flyout-change-previous, .globalnav-item-flyout-change-next).globalnav-item-flyout-closing .globalnav-flyout {
      height: calc(100dvh - var(--bb-wp-adminbar-height, 0px));
    }
  }
}

body.admin-bar .globalnav-curtain {
  top: var(--bb-wp-adminbar-height, 0px);
  height: calc(100% - var(--bb-wp-adminbar-height, 0px));
}
