/* 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 ;
        opacity: 1 ;
        transform: none ;
      }
    }

/* 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 ;
  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;width:0;height:0;margin:0;padding:0}
.elementor-widget-shortcode:has(.bb-nav-source-anchor),
.wp-block-shortcode:has(.bb-nav-source-anchor){display:none;margin:0;padding:0;min-height:0}


/* 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,25,.8);
}
@supports (backdrop-filter: initial) {
  body.bb-nav-section-dark #globalnav.globalnav-scrim {
    --globalnav-background: rgba(22,22,25,.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 ;
  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 160ms cubic-bezier(.4,0,.6,1),
    background 160ms cubic-bezier(.4,0,.6,1),
    backdrop-filter 160ms cubic-bezier(.4,0,.6,1),
    -webkit-backdrop-filter 160ms 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 ;
  backdrop-filter: none ;
}
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 ;
  backdrop-filter: none ;
}
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,25,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,25,.8);
}
@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,25,.8);
  }
}

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

/* 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: 0ms, 0ms, 0ms, 0ms;
  transition-delay: 0ms, 0ms, 0ms, 0ms;
}


/* 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 ;
  --globalnav-backdrop-filter: none ;
  background: transparent ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}

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 ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}

/* 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. Flyout/open/closing
   states are
   deliberately excluded so Apple's expanded-menu surfaces remain native. */
body.bb-nav-has-localnav #globalheader {
  background: transparent ;
}

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 ;
  --globalnav-backdrop-filter: none ;
  background: transparent ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}

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 ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}

/* 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-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) {
  /* 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 ;
    -webkit-backdrop-filter: none ;
    backdrop-filter: none ;
    -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 ;
    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 ;
  }
}


/* 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) ;
  }

  #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) ;
  }

  /* 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/ 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 .5s cubic-bezier(.4,0,.6,1) .5s,
    background .5s cubic-bezier(.4,0,.6,1) .5s,
    backdrop-filter .5s cubic-bezier(.4,0,.6,1) .5s,
    -webkit-backdrop-filter .5s cubic-bezier(.4,0,.6,1) .5s;
}

/* Crossing 44px desktop / 48px compact removes the idle surface immediately.
   Returning above the boundary holds transparent for .5s, then restores
   background/opacity + blur together over .5s. */
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: none;
}

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 ;
  --globalnav-backdrop-filter: none ;
  background: transparent ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}

@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 ;
    -webkit-backdrop-filter: none ;
    backdrop-filter: none ;
  }
}

@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 ;
    transition-delay: 0s ;
  }
}

/* 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 ;
  --globalnav-backdrop-filter: none ;
  background: transparent ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}

@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 ;
    -webkit-backdrop-filter: none ;
    backdrop-filter: none ;
  }
}

/* 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 ;
  }

  #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 ;
  }

  #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 ;
  }
}

/* v1.16.60 — compact menu trigger follows the same color authority as logo/search/bag. */
@media (max-width: 833px) {
  #globalnav .globalnav-menutrigger-button {
    color: var(--r-globalnav-color) ;
  }

  #globalnav .globalnav-menutrigger-button:hover,
  #globalnav .globalnav-menutrigger-button:focus-visible {
    color: var(--r-globalnav-color-hover) ;
  }
}


/* v1.16.72 — Permanent transparent header route override.
   On /contact/feedback/ (and other always-transparent routes), the local-nav
   background is the normal idle painter, so it must also be disabled. This
   final override wins over theme and section-marker surfaces. */
body.bb-nav-always-transparent-header-page #globalheader,
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: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 {
  --globalnav-background: transparent ;
  --globalnav-backdrop-filter: none ;
  background: transparent ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}
body.bb-nav-always-transparent-header-page.bb-nav-has-localnav #ac-localnav {
  --localnav-background: transparent ;
  --localnav-background-stuck: transparent ;
}
body.bb-nav-always-transparent-header-page.bb-nav-has-localnav #ac-localnav .ac-ln-background {
  background: transparent ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}

/* v1.16.85 — One continuous marker surface across global + local nav.
   The native local-nav background extends upward by --r-globalnav-height, so
   it is the single idle scrim/blur painter. Global nav stays transparent while
   markers are active; this prevents a visible seam or doubled alpha. */
body[data-bb-nav-section-mode]:not([data-bb-nav-section-mode="base"]).bb-nav-section-dark #globalheader,
body[data-bb-nav-section-mode]:not([data-bb-nav-section-mode="base"]).bb-nav-section-light #globalheader {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.bb-nav-has-localnav[data-bb-nav-section-mode]:not([data-bb-nav-section-mode="base"]) #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;
  --globalnav-backdrop-filter: none;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.bb-nav-has-localnav[data-bb-nav-section-mode]:not([data-bb-nav-section-mode="base"]) #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;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.bb-nav-has-localnav[data-bb-nav-section-mode]:not([data-bb-nav-section-mode="base"]).bb-nav-section-dark #ac-localnav {
  --localnav-background: rgba(22,22,25,.8);
  --localnav-background-stuck: rgba(22,22,25,.8);
}
body.bb-nav-has-localnav[data-bb-nav-section-mode]:not([data-bb-nav-section-mode="base"]).bb-nav-section-light #ac-localnav {
  --localnav-background: rgba(250,250,252,.8);
  --localnav-background-stuck: rgba(250,250,252,.8);
}
body.bb-nav-has-localnav[data-bb-nav-section-mode]:not([data-bb-nav-section-mode="base"]) #ac-localnav .ac-ln-background {
  margin-top: calc(-1 * var(--r-globalnav-height, 0px));
  padding-top: var(--r-globalnav-height, 0px);
  background: var(--localnav-background);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  transition: background 160ms cubic-bezier(.4,0,.6,1), backdrop-filter 160ms cubic-bezier(.4,0,.6,1), -webkit-backdrop-filter 160ms cubic-bezier(.4,0,.6,1);
}

/* Permanent-transparent routes still win over marker states. */
body.bb-nav-always-transparent-header-page #globalnav:not(.globalnav-with-flyout-open):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  --globalnav-background: transparent ;
  --globalnav-backdrop-filter: none ;
  background: transparent ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}
body.bb-nav-always-transparent-header-page.bb-nav-has-localnav #ac-localnav {
  --localnav-background: transparent ;
  --localnav-background-stuck: transparent ;
}
body.bb-nav-always-transparent-header-page.bb-nav-has-localnav #ac-localnav .ac-ln-background {
  background: transparent ;
  -webkit-backdrop-filter: none ;
  backdrop-filter: none ;
}

/* v1.16.79 — rendered global-nav theme classes outrank semantic page tokens. */
body #globalnav.globalnav-light,
body #globalnav.globalheader-light {
  --r-globalnav-color:rgba(0,0,0,.8);
  --r-globalnav-color-secondary:#333336;
  --r-globalnav-color-hover:#000;
  --r-globalnav-background-opened:#fafafc;
  --r-globalnav-background-opened-dark:#fafafc;
  --bb-nav-surface-color:#fafafc;
}
body #globalnav.globalnav-dark,
body #globalnav.globalheader-dark {
  --r-globalnav-color:rgba(255,255,255,.8);
  --r-globalnav-color-secondary:#e8e8ed;
  --r-globalnav-color-hover:#fff;
  --r-globalnav-background-opened:#161617;
  --r-globalnav-background-opened-dark:#161617;
  --bb-nav-surface-color:rgba(22,22,25,.8);
}
body #globalnav.globalnav-light .globalnav-submenu-header,
body #globalnav.globalheader-light .globalnav-submenu-header { color:#6e6e73; }
body #globalnav.globalnav-dark .globalnav-submenu-header,
body #globalnav.globalheader-dark .globalnav-submenu-header { color:#a1a1a6; }

/* Flyouts/mobile menu must use the same resolved theme as the idle header. */
body #globalnav.globalnav-light.globalnav-with-flyout-open .globalnav-content,
body #globalnav.globalheader-light.globalnav-with-flyout-open .globalnav-content,
body #globalnav.globalnav-light.globalnav-with-menu-open .globalnav-content,
body #globalnav.globalheader-light.globalnav-with-menu-open .globalnav-content { background:#fafafc; }
body #globalnav.globalnav-dark.globalnav-with-flyout-open .globalnav-content,
body #globalnav.globalheader-dark.globalnav-with-flyout-open .globalnav-content,
body #globalnav.globalnav-dark.globalnav-with-menu-open .globalnav-content,
body #globalnav.globalheader-dark.globalnav-with-menu-open .globalnav-content { background:#161617; }


/* v1.16.80 — requested dark header surface. The resolved dark nav token is the
   actual translucent header/local-nav background after reveal. */
body #globalnav.globalnav-dark,
body #globalnav.globalheader-dark {
  --bb-nav-surface-color:rgba(22,22,25,.8);
}
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalnav-dark:not(.globalnav-with-flyout-open):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalheader-dark:not(.globalnav-with-flyout-open):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  --globalnav-background:var(--bb-nav-surface-color);
  background:var(--bb-nav-surface-color);
}

/* v1.16.81 — scrolled BB pages must paint the resolved surface, not a page token. */
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalnav-dark:not(.globalnav-with-flyout-open):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalheader-dark:not(.globalnav-with-flyout-open):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.page-bb.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalnav-dark:not(.globalnav-with-flyout-open):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  --globalnav-background:rgba(22,22,25,.8);
  background:rgba(22,22,25,.8);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
}
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalnav-light:not(.globalnav-with-flyout-open):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open),
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #globalnav.globalheader-light:not(.globalnav-with-flyout-open):not(.globalnav-with-menu-open):not(.globalnav-with-submenu-open) {
  --globalnav-background:rgba(250,250,252,.8);
  background:rgba(250,250,252,.8);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
}

/* v1.16.85 unified header surface: when a local nav exists, the local-nav
   background is the single closed-state painter for both nav rows. Keep the
   native global nav surface transparent so dark/light scrims cannot stack. */
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;
  --globalnav-backdrop-filter: none;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
@media (max-width: 833px) {
  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;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}


/* v1.16.96 — Restore the proven global-only header surface contract.
   Pages with no local navigation, including the front page, let #globalnav own
   the single idle surface. Desktop paints on #globalnav; compact/mobile keeps
   the wrapper blur and paints the translucent scrim on .globalnav-content,
   matching the working v1.16.72 homepage behavior. */
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);
}
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);
  }
}
@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) {
    background: none;
    -webkit-backdrop-filter: var(--globalnav-backdrop-filter);
    backdrop-filter: var(--globalnav-backdrop-filter);
  }
  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);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.bb-nav-global-only-page #globalnav .globalnav-content {
    transition-duration: .01ms;
    transition-delay: 0s;
  }
}

/* v1.16.93 — /about/ + /bb/ transition timing only ----------------------
   Keep the existing global/local surface architecture unchanged. These two
   exact routes use a 240ms global-header transition and a 320ms unified
   local-nav background/blur transition, both with zero delay. */
body.bb-nav-about-transition-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-bb-transition-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-reverse-transition-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 240ms cubic-bezier(.4,0,.6,1) 0ms,
    background 240ms cubic-bezier(.4,0,.6,1) 0ms,
    backdrop-filter 240ms cubic-bezier(.4,0,.6,1) 0ms,
    -webkit-backdrop-filter 240ms cubic-bezier(.4,0,.6,1) 0ms;
}
body.bb-nav-about-transition-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,
body.bb-nav-bb-transition-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,
body.bb-nav-reverse-transition-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 240ms cubic-bezier(.4,0,.6,1) 0ms,
    background 240ms cubic-bezier(.4,0,.6,1) 0ms,
    backdrop-filter 240ms cubic-bezier(.4,0,.6,1) 0ms,
    -webkit-backdrop-filter 240ms cubic-bezier(.4,0,.6,1) 0ms;
}
body.bb-nav-about-transition-page.bb-nav-has-localnav #ac-localnav .ac-ln-background,
body.bb-nav-bb-transition-page.bb-nav-has-localnav #ac-localnav .ac-ln-background,
body.bb-nav-reverse-transition-page.bb-nav-has-localnav #ac-localnav .ac-ln-background {
  -webkit-transition:
    background 320ms cubic-bezier(.4,0,.6,1) 0ms,
    -webkit-backdrop-filter 320ms cubic-bezier(.4,0,.6,1) 0ms;
  transition:
    background 320ms cubic-bezier(.4,0,.6,1) 0ms,
    backdrop-filter 320ms cubic-bezier(.4,0,.6,1) 0ms,
    -webkit-backdrop-filter 320ms cubic-bezier(.4,0,.6,1) 0ms;
}
@media (prefers-reduced-motion: reduce) {
  body.bb-nav-about-transition-page #globalnav,
  body.bb-nav-about-transition-page #globalnav .globalnav-content,
  body.bb-nav-about-transition-page.bb-nav-has-localnav #ac-localnav .ac-ln-background,
  body.bb-nav-bb-transition-page #globalnav,
  body.bb-nav-bb-transition-page #globalnav .globalnav-content,
  body.bb-nav-bb-transition-page.bb-nav-has-localnav #ac-localnav .ac-ln-background,
  body.bb-nav-reverse-transition-page #globalnav,
  body.bb-nav-reverse-transition-page #globalnav .globalnav-content,
  body.bb-nav-reverse-transition-page.bb-nav-has-localnav #ac-localnav .ac-ln-background {
    transition-duration: .01ms;
    transition-delay: 0s;
  }
}


/* v1.16.98 — /pages/ + /sitemap/: absolute zero-surface header mode.
   These two routes never paint header/local-nav color, alpha or blur in any
   scroll, theme, marker, sticky, animation, flyout or menu state. */
body.bb-nav-always-transparent-header-page #globalheader,
body.bb-nav-always-transparent-header-page #globalnav,
body.bb-nav-always-transparent-header-page #globalnav .globalnav-content {
  --globalnav-background: transparent;
  --globalnav-background-opened: transparent;
  --globalnav-background-opened-dark: transparent;
  --globalnav-backdrop-filter: none;
  background: transparent;
  background-color: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.bb-nav-always-transparent-header-page.bb-nav-has-localnav #ac-localnav {
  --localnav-background: transparent;
  --localnav-background-stuck: transparent;
}
body.bb-nav-always-transparent-header-page.bb-nav-has-localnav #ac-localnav .ac-ln-background,
body.bb-nav-always-transparent-header-page.bb-nav-has-localnav #ac-localnav.ac-localnav-scrim .ac-ln-background,
body.bb-nav-always-transparent-header-page.bb-nav-has-localnav #ac-localnav.ac-ln-sticking .ac-ln-background {
  background: transparent;
  background-color: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* Menu trigger color must switch instantly; keep only the SVG shape animation. */
#globalnav #globalnav-menutrigger-button,
#globalnav #globalnav-menutrigger-button svg,
#globalnav #globalnav-menutrigger-button .globalnav-menutrigger-bread {
  transition-property: opacity;
  transition-duration: .32s;
  transition-timing-function: cubic-bezier(.4,0,.6,1);
  transition-delay: 0s;
}
#globalnav #globalnav-menutrigger-button svg,
#globalnav #globalnav-menutrigger-button .globalnav-menutrigger-bread {
  transition: none;
}


/* v1.16.114 — reusable header-only force-dark route; single full-width surface painter. */
body.bb-nav-force-dark-header-page #globalheader,
body.bb-nav-force-dark-header-page #globalnav,
body.bb-nav-force-dark-header-page #globalnav.globalnav-light,
body.bb-nav-force-dark-header-page #globalnav.globalheader-light,
body.bb-nav-force-dark-header-page #globalnav.globalnav-dark,
body.bb-nav-force-dark-header-page #globalnav.globalheader-dark {
  --r-globalnav-color: rgba(255,255,255,.8);
  --r-globalnav-color-secondary: #e8e8ed;
  --r-globalnav-color-hover: #fff;
  --r-globalnav-background-opened: #161617;
  --r-globalnav-background-opened-dark: #161617;
  --bb-nav-surface-color: rgba(22,22,25,.8);
  --globalnav-background: rgba(22,22,25,.8);
  --globalnav-backdrop-filter: saturate(180%) blur(20px);
  color-scheme: dark;
}
body.bb-nav-force-dark-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) {
  background: rgba(22,22,25,.8);
  background-color: rgba(22,22,25,.8);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
}
body.bb-nav-force-dark-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;
  background-color: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.bb-nav-force-dark-header-page #globalnav .globalnav-menutrigger-button { color:#fff; }
body.bb-nav-force-dark-header-page #globalnav.globalnav-with-flyout-open .globalnav-content,
body.bb-nav-force-dark-header-page #globalnav.globalnav-with-menu-open .globalnav-content,
body.bb-nav-force-dark-header-page #globalnav.globalnav-with-submenu-open .globalnav-content {
  background: #161617;
  background-color: #161617;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* v1.16.116 — /photography/ force-dark reverse surface.
   Dark at the top. At 44px desktop / 48px compact it becomes transparent
   immediately. Returning into the top zone holds transparent for .5s, then
   restores background opacity + blur together over .5s. */
body.bb-nav-photography-reverse-surface-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: rgba(22,22,25,.8);
    background-color: rgba(22,22,25,.8);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-transition: background .5s cubic-bezier(.4,0,.6,1) .5s, background-color .5s cubic-bezier(.4,0,.6,1) .5s, -webkit-backdrop-filter .5s cubic-bezier(.4,0,.6,1) .5s;
    transition: background .5s cubic-bezier(.4,0,.6,1) .5s, background-color .5s cubic-bezier(.4,0,.6,1) .5s, backdrop-filter .5s cubic-bezier(.4,0,.6,1) .5s;
}
body.bb-nav-photography-reverse-surface-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) {
    background: transparent;
    background-color: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    -webkit-transition: none;
    transition: none;
}
body.bb-nav-photography-reverse-surface-page #globalnav .globalnav-content {
    background: transparent;
    background-color: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
