/* Apple reference button-secondary-neutral states.
       Base rule intentionally has no transition or outline declaration. */
    @media (min-width: 834px) {
      #ac-localnav .ac-ln-menu-link.button-secondary-neutral {
        cursor: pointer;
        display: inline-block;
        text-align: center;
        white-space: nowrap;
        border-radius: 980px;
        font-size: 14px;
        line-height: 1.428572;
        font-weight: 400;
        letter-spacing: -0.01em;
        font-family: "BB Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
        padding: 1px 10px;
        margin-top: -1px;
        background: transparent;
        color: #000;
        border: 1px solid #000;
      }

      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:hover {
        text-decoration: none;
      }

      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:active {
        outline: none;
      }

      #ac-localnav .ac-ln-menu-link.button-secondary-neutral.disabled,
      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:disabled {
        cursor: default;
        pointer-events: none;
      }






      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:active,
      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:focus,
      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:hover {
        background: #000;
        color: #fff;
      }

      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:focus {
        box-shadow: none;
        outline: 2px solid #000;
        outline-offset: 3px;
      }

      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:focus[data-focus-method=mouse],
      #ac-localnav .ac-ln-menu-link.button-secondary-neutral:focus[data-focus-method=touch] {
        outline: none;
      }

      .ac-localnav-dark#ac-localnav .ac-ln-menu-link.button-secondary-neutral,
      .theme-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral,
      .globalheader-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral {
        color: #fff;
        border-color: #fff;
        outline-color: #fff;
      }

      .ac-localnav-dark#ac-localnav .ac-ln-menu-link.button-secondary-neutral:active,
      .ac-localnav-dark#ac-localnav .ac-ln-menu-link.button-secondary-neutral:focus,
      .ac-localnav-dark#ac-localnav .ac-ln-menu-link.button-secondary-neutral:hover,
      .theme-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:active,
      .theme-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:focus,
      .theme-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:hover,
      .globalheader-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:active,
      .globalheader-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:focus,
      .globalheader-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:hover {
        background: #fff;
        color: #000;
      }

      .ac-localnav-dark#ac-localnav .ac-ln-menu-link.button-secondary-neutral:focus,
      .theme-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:focus,
      .globalheader-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:focus {
        outline-color: #fff;
      }

      .ac-localnav-dark#ac-localnav .ac-ln-menu-link.button-secondary-neutral:focus[data-focus-method=mouse],
      .theme-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:focus[data-focus-method=mouse],
      .globalheader-dark #ac-localnav:not(.ac-localnav-light) .ac-ln-menu-link.button-secondary-neutral:focus[data-focus-method=mouse] {
        outline: none;
      }

      /* Explicit local-nav light mode wins even when an ancestor is dark. */
      #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral,
      .theme-dark #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral,
      .globalheader-dark #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral {
        color: #000;
        border-color: #000;
        outline-color: #000;
      }

      #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:active,
      #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:focus,
      #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:hover,
      .theme-dark #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:active,
      .theme-dark #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:focus,
      .theme-dark #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:hover,
      .globalheader-dark #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:active,
      .globalheader-dark #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:focus,
      .globalheader-dark #ac-localnav.ac-localnav-light .ac-ln-menu-link.button-secondary-neutral:hover {
        background: #000;
        color: #fff;
      }
    }

/* Custom BB chevron only.
       Menu tray, curtain, .ac-ln-menu-items, and .ac-ln-menu-link animation
       are intentionally left to Apple's native local-nav CSS/JS state machine. */
    @media (max-width: 833px) {
      /* Use the Account-style two-stroke chevron while leaving the existing SVG
         in the DOM for Apple's local-nav JavaScript. The SVG is visual-only hidden. */
      #ac-localnav .ac-ln-menucta {
        overflow: hidden;
      }
      #ac-localnav .ac-ln-menucta-chevron {
        display: block !important;
        height: 30px !important;
        width: 40px !important;
        opacity: .8;
        position: relative;
        color: var(--localnav-menucta-color, #000);
        transform: translateY(0);
        transform-origin: center;
        transition: transform 1s cubic-bezier(.86,0,.07,1), transform-origin 1s cubic-bezier(.86,0,.07,1) !important;
        will-change: transform;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
      }
      #ac-localnav .ac-ln-menucta-chevron [data-chevron-icon] {
        visibility: hidden !important;
        opacity: 0 !important;
      }
      #ac-localnav .ac-ln-menucta-chevron::before,
      #ac-localnav .ac-ln-menucta-chevron::after {
        content: "";
        display: block;
        height: 1px;
        position: absolute;
        top: 13px;
        width: 11px;
        z-index: 1;
        background: currentColor;
        transition: transform 1s cubic-bezier(.86,0,.07,1), transform-origin 1s cubic-bezier(.86,0,.07,1) !important;
        will-change: transform;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
      }
      #ac-localnav .ac-ln-menucta-chevron::before {
        right: 50%;
        border-radius: .5px 0 0 .5px;
        transform: rotate(40deg) scaleY(1.1);
        transform-origin: 100% 100%;
      }
      #ac-localnav .ac-ln-menucta-chevron::after {
        left: 50%;
        border-radius: 0 .5px .5px 0;
        transform: rotate(-40deg) scaleY(1.1);
        transform-origin: 0 100%;
      }
      #ac-localnav .ac-ln-menucta-chevron:hover { opacity: 1; }

      /* Explicit closed state: the visible chevron is entirely the ::before/::after
         pair. When the menu closes, these same strokes reverse smoothly back to
         the original downward chevron instead of snapping to the SVG state. */
      #ac-ln-menustate:not(:checked) ~ #ac-localnav .ac-ln-menucta-chevron {
        transform: translateY(0);
      }
      #ac-ln-menustate:not(:checked) ~ #ac-localnav .ac-ln-menucta-chevron::before {
        transform: rotate(40deg) scaleY(1.1);
        transform-origin: 100% 100%;
      }
      #ac-ln-menustate:not(:checked) ~ #ac-localnav .ac-ln-menucta-chevron::after {
        transform: rotate(-40deg) scaleY(1.1);
        transform-origin: 0 100%;
      }

      #ac-ln-menustate:checked ~ #ac-localnav .ac-ln-menucta-chevron,
      #ac-ln-menustate:target ~ #ac-localnav .ac-ln-menucta-chevron {
        transform: translateY(-8px);
      }
      #ac-ln-menustate:checked ~ #ac-localnav .ac-ln-menucta-chevron::before,
      #ac-ln-menustate:target ~ #ac-localnav .ac-ln-menucta-chevron::before {
        transform: rotate(-40deg) scaleY(1.1);
        transform-origin: 100% 0;
      }
      #ac-ln-menustate:checked ~ #ac-localnav .ac-ln-menucta-chevron::after,
      #ac-ln-menustate:target ~ #ac-localnav .ac-ln-menucta-chevron::after {
        transform: rotate(40deg) scaleY(1.1);
        transform-origin: 0 0;
      }

    }

@media (prefers-reduced-motion: reduce) {
      #ac-localnav .ac-ln-menucta-chevron,
      #ac-localnav .ac-ln-menucta-chevron::before,
      #ac-localnav .ac-ln-menucta-chevron::after {
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
      }
    }

#ac-localnav.css-sticky {
      top: var(--bb-wp-adminbar-offset, 0px);
    }

    #ac-localnav.no-css-sticky.ac-ln-sticking {
      top: var(--bb-wp-adminbar-offset, 0px) !important;
    }

/* 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 for the sticky local nav. */
body.bb-nav-section-dark #ac-localnav {
  --localnav-keyline-color: rgba(255,255,255,.24);
  --localnav-focus-color-alt: rgb(255,255,255);
  --localnav-background-stuck: rgba(22,22,23,.88);
}
body.bb-nav-section-dark #ac-localnav.ac-localnav-scrim,
body.bb-nav-section-dark #ac-localnav.ac-ln-sticking {
  --localnav-background: rgba(22,22,23,.88);
}
@supports (backdrop-filter: initial) {
  body.bb-nav-section-dark #ac-localnav.ac-localnav-scrim,
  body.bb-nav-section-dark #ac-localnav.ac-ln-sticking {
    --localnav-background: rgba(22,22,23,.8);
  }
}
body.bb-nav-section-dark #ac-localnav ~ #ac-ln-curtain {
  --localnav-curtain-background: rgba(51,51,54,.4);
}
body.bb-nav-section-light #ac-localnav {
  --localnav-keyline-color: rgba(0,0,0,.16);
  --localnav-focus-color-alt: rgb(0,0,0);
  --localnav-background-stuck: rgba(250,250,252,.92);
}

/* v1.13 resolved-theme inversion support for local nav. */
body.bb-nav-section-light #ac-localnav {
  --localnav-keyline-color: rgba(0,0,0,.16);
  --localnav-focus-color-alt: rgb(0,0,0);
  --localnav-background-stuck: rgba(250,250,252,.92);
}
body.bb-nav-section-light #ac-localnav.ac-localnav-scrim,
body.bb-nav-section-light #ac-localnav.ac-ln-sticking {
  --localnav-background: rgba(250,250,252,.92);
}
@supports (backdrop-filter: initial) {
  body.bb-nav-section-light #ac-localnav.ac-localnav-scrim,
  body.bb-nav-section-light #ac-localnav.ac-ln-sticking {
    --localnav-background: rgba(250,250,252,.8);
  }
}
body.bb-nav-section-light #ac-localnav ~ #ac-ln-curtain {
  --localnav-curtain-background: rgba(232,232,237,.4);
}

/* v1.15 /ttt/ + /ttt2/: transparent local-nav surface before scrolling,
   then transition into the resolved light/dark sticky scrim + 20px blur. */
body.bb-nav-transparent-start-page #ac-localnav .ac-ln-background {
  transition:
    background .24s cubic-bezier(.28,.11,.32,1),
    backdrop-filter .24s cubic-bezier(.28,.11,.32,1),
    -webkit-backdrop-filter .24s cubic-bezier(.28,.11,.32,1);
}
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav {
  --localnav-background: rgba(250,250,252,0);
}
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav.ac-localnav-dark {
  --localnav-background: rgba(22,22,23,0);
}
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav .ac-ln-background {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-localnav-light {
  --localnav-background: rgba(250,250,252,.92);
}
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-localnav-dark {
  --localnav-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 #ac-localnav.ac-localnav-light {
    --localnav-background: rgba(250,250,252,.8);
  }
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-localnav-dark {
    --localnav-background: rgba(22,22,23,.8);
  }
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav .ac-ln-background {
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
  }
}

/* The native core already supplies the full current-page opacity sequence and
   ::after keyline. Keep the generated current span anchored to that system. */
#ac-localnav .ac-ln-menu-link.current {
  position: relative;
}


/* v1.15.3 /ttt/ + /ttt2/: native Apple-style keyline growth and delayed
   transparent return. The top state intentionally defeats ac-localnav-scrim's
   always-full-width keyline only on desktop. */
body.bb-nav-transparent-start-page #ac-localnav {
  --localnav-keyline-color: rgba(0,0,0,.16);
}
body.bb-nav-transparent-start-page #ac-localnav.ac-localnav-dark,
body.bb-nav-transparent-start-page.theme-dark #ac-localnav,
.theme-dark body.bb-nav-transparent-start-page #ac-localnav,
body.bb-nav-transparent-start-page .globalheader-dark #ac-localnav {
  --localnav-keyline-color: rgba(255,255,255,.24);
}
body.bb-nav-transparent-start-page #ac-localnav.ac-localnav-light {
  --localnav-keyline-color: rgba(0,0,0,.16);
}

/* Desktop top state: Apple centered 980px keyline, even when the local nav
   carries ac-localnav-scrim. Scrolling grows it to the full viewport width. */
@media (min-width: 1024px) {
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav .ac-ln-background::after,
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav.ac-localnav-scrim .ac-ln-background::after {
    width: 980px;
    inset-inline-start: 50%;
    margin-inline-start: -490px;
    -webkit-margin-start: -490px;
  }

  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav .ac-ln-background::after,
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-localnav-scrim .ac-ln-background::after,
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-ln-sticking .ac-ln-background::after {
    width: 100%;
    inset-inline-start: 0;
    margin-inline-start: 0;
    -webkit-margin-start: 0;
  }

  body.bb-nav-transparent-start-page #ac-localnav .ac-ln-background::after {
    -webkit-transition-property: width, inset-inline-start, -webkit-margin-start;
    transition-property: width, inset-inline-start, margin-inline-start;
    -webkit-transition-duration: 320ms;
    transition-duration: 320ms;
    -webkit-transition-timing-function: cubic-bezier(.28,.11,.32,1);
    transition-timing-function: cubic-bezier(.28,.11,.32,1);
  }

  /* Entering sticky/scrolled: expand immediately. Returning to the transparent
     top: wait briefly, then contract back to 980px like Apple's close timing. */
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav .ac-ln-background::after {
    -webkit-transition-delay: 0ms;
    transition-delay: 0ms;
  }
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav .ac-ln-background::after {
    -webkit-transition-delay: 500ms;
    transition-delay: 500ms;
  }
}

/* Tablet/mobile follow Apple's responsive rule: the keyline is already full
   width, so no artificial 980px overflow or sideways movement is introduced. */
@media (max-width: 1023px) {
  body.bb-nav-transparent-start-page #ac-localnav .ac-ln-background::after {
    width: 100%;
    inset-inline-start: 0;
    margin-inline-start: 0;
    -webkit-margin-start: 0;
  }
}

/* Background + blur appear immediately on scroll, but when the page returns to
   its transparent top state the fade/filter removal waits 500ms before easing
   out. This keeps the surface alive briefly instead of snapping away. */
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav .ac-ln-background {
  -webkit-transition-delay: 0ms, 0ms, 0ms;
  transition-delay: 0ms, 0ms, 0ms;
}
body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav .ac-ln-background {
  -webkit-transition-delay: 500ms, 500ms, 500ms;
  transition-delay: 500ms, 500ms, 500ms;
}


/* v1.15.5 /ttt/ + /ttt2/: explicit symmetric theme resolution ----------
   Keep dark and light selectors equally authoritative for the unified
   global+local scrim. Fixed section-mode classes can still override these
   through the runtime ac-localnav-dark/ac-localnav-light state classes. */
body.bb-nav-transparent-start-page.theme-dark #ac-localnav,
.theme-dark body.bb-nav-transparent-start-page #ac-localnav,
body.bb-nav-transparent-start-page .globalheader-dark #ac-localnav,
body.bb-nav-transparent-start-page #ac-localnav.ac-localnav-dark {
  --localnav-keyline-color: rgba(255,255,255,.24);
  --r-localnav-menu-link-color: rgb(255,255,255);
}

body.bb-nav-transparent-start-page.theme-light #ac-localnav,
.theme-light body.bb-nav-transparent-start-page #ac-localnav,
body.bb-nav-transparent-start-page .globalheader-light #ac-localnav,
body.bb-nav-transparent-start-page #ac-localnav.ac-localnav-light {
  --localnav-keyline-color: rgba(0,0,0,.16);
  --r-localnav-menu-link-color: rgb(0,0,0);
}

/* Scrolled/sticky unified scrim colors. The local background extends upward
   beneath #globalnav, so this remains the only idle bar surface. */
body.bb-nav-transparent-start-page.bb-nav-has-scrolled.theme-dark #ac-localnav,
.theme-dark body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav,
body.bb-nav-transparent-start-page.bb-nav-has-scrolled .globalheader-dark #ac-localnav,
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-localnav-dark {
  --localnav-background: rgba(22,22,23,.88);
}

body.bb-nav-transparent-start-page.bb-nav-has-scrolled.theme-light #ac-localnav,
.theme-light body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav,
body.bb-nav-transparent-start-page.bb-nav-has-scrolled .globalheader-light #ac-localnav,
body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-localnav-light {
  --localnav-background: rgba(250,250,252,.92);
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled.theme-dark #ac-localnav,
  .theme-dark body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav,
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled .globalheader-dark #ac-localnav,
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-localnav-dark {
    --localnav-background: rgba(22,22,23,.8);
  }

  body.bb-nav-transparent-start-page.bb-nav-has-scrolled.theme-light #ac-localnav,
  .theme-light body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav,
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled .globalheader-light #ac-localnav,
  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav.ac-localnav-light {
    --localnav-background: rgba(250,250,252,.8);
  }
}


/* v1.15.6 Native keyline theme pair ----------------------------------------
   Keep these selectors intentionally explicit and easy to inspect.
   They define only the keyline color; /ttt/ + /ttt2/ geometry is below. */
#ac-localnav,
.globalheader-light #ac-localnav,
#ac-localnav.ac-localnav-light {
  --localnav-keyline-color: rgba(0, 0, 0, 0.16);
}

.theme-dark #ac-localnav,
.globalheader-dark #ac-localnav,
#ac-localnav.ac-localnav-dark {
  --localnav-keyline-color: rgba(255, 255, 255, 0.24);
}

/* /ttt/ + /ttt2/ keyline geometry:
   desktop top = centered 980px; scrolled/sticky = full viewport width. */
@media (min-width: 1024px) {
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav .ac-ln-background::after {
    width: 980px;
    inset-inline-start: 50%;
    margin-inline-start: -490px;
    -webkit-margin-start: -490px;
  }

  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav .ac-ln-background::after,
  body.bb-nav-transparent-start-page #ac-localnav.ac-ln-sticking .ac-ln-background::after {
    width: 100%;
    inset-inline-start: 0;
    margin-inline-start: 0;
    -webkit-margin-start: 0;
  }
}

@media (max-width: 1023px) {
  body.bb-nav-transparent-start-page #ac-localnav .ac-ln-background::after {
    width: 100%;
    inset-inline-start: 0;
    margin-inline-start: 0;
    -webkit-margin-start: 0;
  }
}

/* v1.16.0 HECU semantic-token bridge -------------------------------------
   Same resolved color system as the footer: text/muted/border/background,
   focus and local action buttons all inherit HECU semantic component tokens. */
body[data-bb-nav-section-mode="base"]:not(.bb-nav-transparent-start-page) #ac-localnav,
body[data-bb-nav-section-mode="base"].bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav,
body:not([data-bb-nav-section-mode]):not(.bb-nav-transparent-start-page) #ac-localnav {
  --r-localnav-menu-link-color: var(--hecu-text, #1d1d1f);
  --r-localnav-menu-link-border-color: var(--hecu-border, rgba(0,0,0,.16));
  --localnav-keyline-color: var(--hecu-divider, var(--hecu-border, rgba(0,0,0,.16)));
  --localnav-focus-color: var(--hecu-focus, #0071e3);
  --localnav-background: color-mix(in srgb, var(--hecu-bg, #fafafc) 80%, transparent);
}

body[data-bb-nav-section-mode="base"] #ac-localnav .ac-ln-title,
body[data-bb-nav-section-mode="base"] #ac-localnav .ac-ln-title a,
body:not([data-bb-nav-section-mode]) #ac-localnav .ac-ln-title,
body:not([data-bb-nav-section-mode]) #ac-localnav .ac-ln-title a {
  color: var(--hecu-text, #1d1d1f);
}

/* Semantic local-nav action variants. These may be supplied by a page profile
   or manually through shortcode attributes. */
#ac-localnav .bb-ln-button-primary {
  --sk-button-background: var(--button-primary-bg, var(--hecu-primary, #0071e3));
  --sk-button-background-hover: var(--button-primary-hover, var(--sk-button-background));
  --sk-button-background-active: var(--button-primary-hover, var(--sk-button-background));
  --sk-button-color: var(--button-primary-text, var(--hecu-on-primary, #fff));
  --sk-button-border-color: var(--button-primary-border, var(--sk-button-background));
}
#ac-localnav .bb-ln-button-secondary {
  --sk-button-background: transparent;
  --sk-button-background-hover: color-mix(in srgb, var(--button-secondary-border, var(--hecu-secondary, #6e6e73)) 12%, transparent);
  --sk-button-background-active: color-mix(in srgb, var(--button-secondary-border, var(--hecu-secondary, #6e6e73)) 18%, transparent);
  --sk-button-color: var(--button-secondary-text, var(--hecu-text, #1d1d1f));
  --sk-button-border-color: var(--button-secondary-border, var(--hecu-secondary, #6e6e73));
}
#ac-localnav .bb-ln-button-tertiary {
  --sk-button-background: var(--button-tertiary-bg, var(--hecu-tertiary, transparent));
  --sk-button-background-hover: var(--button-tertiary-hover, var(--sk-button-background));
  --sk-button-background-active: var(--button-tertiary-hover, var(--sk-button-background));
  --sk-button-color: var(--button-tertiary-text, var(--hecu-text, #1d1d1f));
  --sk-button-border-color: var(--button-tertiary-border, transparent);
}
#ac-localnav .bb-ln-button-muted {
  --sk-button-background: var(--button-muted-bg, transparent);
  --sk-button-background-hover: var(--button-muted-hover, var(--sk-button-background));
  --sk-button-background-active: var(--button-muted-hover, var(--sk-button-background));
  --sk-button-color: var(--button-muted-text, var(--hecu-text-muted, #6e6e73));
  --sk-button-border-color: var(--button-muted-border, var(--hecu-border, rgba(0,0,0,.16)));
}

#ac-localnav .bb-ln-button-secondary:hover,
#ac-localnav .bb-ln-button-secondary:active {
  border-color: var(--button-secondary-border, var(--hecu-secondary, #6e6e73));
}

/* v1.16.2 — Secondary local-nav action: full-strength outline + primary-fill hover.
   Normal state remains transparent and uses the resolved theme text color.
   Hover/active use the same primary action palette as Buy/Store. */
#ac-localnav .bb-ln-button-secondary {
  --sk-button-background: transparent;
  --sk-button-color: var(--button-secondary-text, var(--hecu-text, #1d1d1f));
  --sk-button-color-hover: var(--button-primary-text, var(--hecu-on-primary, #fff));
  --sk-button-color-active: var(--button-primary-text, var(--hecu-on-primary, #fff));
  --sk-button-border-color: var(--button-primary-bg, var(--hecu-primary, #0071e3));
  --sk-button-background-hover: var(--button-primary-hover, var(--button-primary-bg, var(--hecu-primary, #0071e3)));
  --sk-button-background-active: var(--button-primary-hover, var(--button-primary-bg, var(--hecu-primary, #0071e3)));
}

#ac-localnav .bb-ln-button-secondary:hover,
#ac-localnav .bb-ln-button-secondary:active {
  border-color: var(--button-primary-bg, var(--hecu-primary, #0071e3));
}

/* Explicit theme-state text fallbacks for secondary outlined actions. */
#ac-localnav.ac-localnav-light .bb-ln-button-secondary,
.globalheader-light #ac-localnav .bb-ln-button-secondary,
.theme-light #ac-localnav .bb-ln-button-secondary {
  --sk-button-color: var(--button-secondary-text, var(--hecu-text, #1d1d1f));
}

#ac-localnav.ac-localnav-dark .bb-ln-button-secondary,
.globalheader-dark #ac-localnav:not(.ac-localnav-light) .bb-ln-button-secondary,
.theme-dark #ac-localnav:not(.ac-localnav-light) .bb-ln-button-secondary {
  --sk-button-color: var(--button-secondary-text, var(--hecu-text, #f5f5f7));
}

/* v1.16.6 — A section-forced dark nav must use the nav's actual dark-surface
   foreground, not a theme token that may still resolve to a light-theme color.
   This covers .ac-in-section-dark when it resolves dark, plus fixed-dark. */
body[data-bb-nav-section-mode="invert"] #ac-localnav.ac-localnav-dark .bb-ln-button-secondary,
body[data-bb-nav-section-mode="force-dark"] #ac-localnav.ac-localnav-dark .bb-ln-button-secondary {
  --sk-button-color: #f5f5f7;
}

/* v1.16.8 — Unified footer-token scrim -------------------------------------
   The idle local/global surface now follows exactly the same dynamic surface
   chain as #bb-globalfooter. Only opacity is applied here; the underlying
   theme family/intensity color remains fully dynamic. Section inversion/fixed
   modes are intentionally excluded so their explicit contrast states remain
   authoritative. */
body.bb-nav-has-localnav[data-bb-nav-section-mode="base"] #ac-localnav,
body.bb-nav-has-localnav:not([data-bb-nav-section-mode]) #ac-localnav {
  --bb-nav-surface-color: var(--section-bg, var(--hecu-section-bg, var(--hecu-bg, #f5f5f7)));
  --localnav-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-has-localnav #ac-localnav .ac-ln-background {
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
  }
  body.bb-nav-has-localnav[data-bb-nav-section-mode="base"] #ac-localnav,
  body.bb-nav-has-localnav:not([data-bb-nav-section-mode]) #ac-localnav {
    --localnav-background: color-mix(in srgb, var(--bb-nav-surface-color) 80%, transparent);
  }
}

/* Transparent-start pages remain one truly transparent surface at the top.
   These rules intentionally come after the global unification rules. */
body.bb-nav-has-localnav.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav:not(.ac-ln-sticking) {
  --localnav-background: transparent !important;
}
body.bb-nav-has-localnav.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav:not(.ac-ln-sticking) .ac-ln-background {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Once transparent-start pages pass the global-nav-height threshold, base
   mode uses the same live footer surface token. Explicit invert/fixed states
   continue to use their own high-contrast section rules. */
body.bb-nav-has-localnav.bb-nav-transparent-start-page.bb-nav-has-scrolled[data-bb-nav-section-mode="base"] #ac-localnav,
body.bb-nav-has-localnav.bb-nav-transparent-start-page.bb-nav-has-scrolled:not([data-bb-nav-section-mode]) #ac-localnav {
  --bb-nav-surface-color: var(--section-bg, var(--hecu-section-bg, var(--hecu-bg, #f5f5f7)));
  --localnav-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-has-localnav.bb-nav-transparent-start-page.bb-nav-has-scrolled[data-bb-nav-section-mode="base"] #ac-localnav,
  body.bb-nav-has-localnav.bb-nav-transparent-start-page.bb-nav-has-scrolled:not([data-bb-nav-section-mode]) #ac-localnav {
    --localnav-background: color-mix(in srgb, var(--bb-nav-surface-color) 80%, transparent);
  }
}


/* v1.16.9 — Design profile secondary action follows the rendered local-nav
   foreground, exactly like .ac-ln-menu-link.button-secondary-neutral.
   Use direct color declarations here (not HECU button tokens), because section
   markers can intentionally make the nav presentation differ from the base
   site theme. The explicit local-nav state is therefore authoritative. */
body.bb-nav-profile-design #ac-localnav.ac-localnav-dark .bb-ln-button-secondary,
body.bb-nav-profile-design .globalheader-dark #ac-localnav:not(.ac-localnav-light) .bb-ln-button-secondary {
  --sk-button-color: #f5f5f7;
  color: #f5f5f7;
}

body.bb-nav-profile-design #ac-localnav.ac-localnav-light .bb-ln-button-secondary,
body.bb-nav-profile-design .globalheader-light #ac-localnav .bb-ln-button-secondary {
  --sk-button-color: #1d1d1f;
  color: #1d1d1f;
}

/* Keep hover/active driven by the primary action palette from v1.16.2. */
body.bb-nav-profile-design #ac-localnav .bb-ln-button-secondary:hover,
body.bb-nav-profile-design #ac-localnav .bb-ln-button-secondary:active {
  color: var(--button-primary-text, var(--hecu-on-primary, #fff));
}

/* v1.16.23 — /ttt/ + /ttt2/ mobile local-menu surface only.
   Geometry baseline is v1.16.15. These selectors modify surface paint/filter
   only; they intentionally do not touch position, size, transform, padding,
   margin, display, flex, z-index, or any global-nav control geometry. */
@media (max-width: 833px) {
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-ln-menustate:checked ~ #ac-localnav,
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-ln-menustate:target ~ #ac-localnav {
    --localnav-background: rgb(250, 250, 252) !important;
  }

  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-ln-menustate:checked ~ #ac-localnav.ac-localnav-dark,
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-ln-menustate:target ~ #ac-localnav.ac-localnav-dark,
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled)[data-bb-nav-theme="dark"] #ac-ln-menustate:checked ~ #ac-localnav:not(.ac-localnav-light),
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled)[data-bb-nav-theme="dark"] #ac-ln-menustate:target ~ #ac-localnav:not(.ac-localnav-light) {
    --localnav-background: rgb(22, 22, 23) !important;
  }

  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-ln-menustate:checked ~ #ac-localnav .ac-ln-background,
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-ln-menustate:target ~ #ac-localnav .ac-ln-background {
    background: var(--localnav-background) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
    backdrop-filter: saturate(180%) blur(20px) !important;
  }
}

/* v1.16.28 — Manage-account profile dropdown --------------------------- */
#ac-localnav .bb-ln-profile-action {
  margin-inline-start: 14px;
  position: relative;
  z-index: 3;
}

@media only screen and (max-width: 767px) {
  #ac-localnav .bb-ln-profile-action {
    margin-inline-start: 8px;
  }
}

#ac-localnav .bb-profile-dropdown {
  position: relative;
}

#ac-localnav .bb-profile-button {
  width: 24.4px;
  height: 24.4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  color: inherit;
}

#ac-localnav .bb-user-icon {
  width: 24px;
  height: 24px;
  display: block;
}

#ac-localnav .bb-user-icon path {
  fill: #08f;
  transition: fill 0s ease;
}

#ac-localnav .bb-profile-button:hover .bb-user-icon path {
  fill: #09f;
}

.theme-dark #ac-localnav .bb-user-icon path,
#ac-localnav.ac-localnav-dark .bb-user-icon path {
  fill: #09f;
}

.theme-dark #ac-localnav .bb-profile-button:hover .bb-user-icon path,
#ac-localnav.ac-localnav-dark .bb-profile-button:hover .bb-user-icon path {
  fill: #4af;
}

#ac-localnav .bb-profile-menu-wrapper {
  position: absolute;
  top: 48px;
  right: -8px;
  z-index: 1000;
}

#ac-localnav .bb-profile-menu-wrapper[hidden] {
  display: none !important;
}

#ac-localnav .bb-profile-menu-wrapper::after {
  content: "";
  position: absolute;
  top: -24px;
  right: 8px;
  border-style: solid;
  border-width: 0 12px 24px 12px;
  border-radius: 0;
  border-color: transparent transparent #fff transparent;
  z-index: 9;
}

#ac-localnav .bb-profile-menu {
  min-width: 180px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 6px 100px rgba(0,0,0,.2);
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

#ac-localnav .bb-profile-menu li {
  margin: 0;
  padding: 0;
}

#ac-localnav .bb-profile-menu li + li {
  border-top: 1px solid rgba(0,0,0,.08);
}

#ac-localnav .bb-profile-menu li a {
  display: block;
  padding: 16px 14px;
  text-decoration: none;
  color: #1d1d1f;
  font-size: 14px;
  line-height: 1.428572;
  white-space: nowrap;
}

#ac-localnav .bb-profile-menu li a:hover,
#ac-localnav .bb-profile-menu li a:focus-visible {
  background: #f5f5f7;
}

#ac-localnav .bb-a11y {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* v1.16.30 — Transparent-start expanding bottom keyline ------------------
   /ttt/ + /about/ share bb-nav-transparent-start-page. Reuse the native
   .ac-ln-background::after keyline as the requested 980px -> 100% line.
   The existing bb-nav-has-scrolled state already switches at the live
   global-nav-height threshold (44px desktop / 48px compact), so no extra
   scroll listener or DOM node is required. */
body.bb-nav-transparent-start-page #ac-localnav .ac-ln-background::after {
  display: block;
  background: #88888b66;
  height: 1px;
  -webkit-transition: width 1s ease, inset-inline-start 1s ease, margin-inline-start 1s ease, -webkit-margin-start 1s ease;
  transition: width 1s ease, inset-inline-start 1s ease, margin-inline-start 1s ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

@media (min-width: 1024px) {
  body.bb-nav-transparent-start-page:not(.bb-nav-has-scrolled) #ac-localnav .ac-ln-background::after {
    width: 980px;
    inset-inline-start: 50%;
    margin-inline-start: -490px;
    -webkit-margin-start: -490px;
  }

  body.bb-nav-transparent-start-page.bb-nav-has-scrolled #ac-localnav .ac-ln-background::after,
  body.bb-nav-transparent-start-page #ac-localnav.ac-ln-sticking .ac-ln-background::after {
    width: 100%;
    inset-inline-start: 0;
    margin-inline-start: 0;
    -webkit-margin-start: 0;
  }
}

@media (max-width: 1023px) {
  body.bb-nav-transparent-start-page #ac-localnav .ac-ln-background::after {
    width: 100%;
    inset-inline-start: 0;
    margin-inline-start: 0;
    -webkit-margin-start: 0;
  }
}

/* v1.16.43 — profile action is the far-right local-nav control ---------- */
#ac-localnav .bb-ln-profile-action {
  --r-localnav-actions-button-space-before: var(--r-localnav-actions-button-space-between);
  margin-inline-start: var(--r-localnav-actions-button-space-before);
  margin-top: -1px;
  display: flex;
  align-items: center;
  height: 24px;
  float: var(--r-localnav-start);
}

#ac-localnav .bb-ln-profile-action .bb-profile-dropdown,
#ac-localnav .bb-ln-profile-action .bb-profile-button {
  height: 24px;
}



/* v1.16.46 — requested mobile profile alignment -------------------------- */
@media (max-width: 833px) {
  #ac-localnav .bb-ln-profile-action {
    margin-top: -4px;
  }
}

/* v1.16.55 — About: once the native local menu has fully collapsed at the
   transparent top state, remove the surface immediately instead of applying
   the normal 500ms scroll-return hold. */
body.bb-nav-transparent-start-page.bb-nav-local-menu-collapsed-now:not(.bb-nav-has-scrolled) #ac-localnav .ac-ln-background {
  -webkit-transition-delay: 0ms, 0ms, 0ms !important;
  transition-delay: 0ms, 0ms, 0ms !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
