:root {
  --bcg-menu-bg: #ffffff;
  --bcg-menu-ink: #10251a;
  --bcg-menu-muted: #303a34;
  --bcg-menu-soft: #f4f6f3;
  --bcg-menu-soft-2: #eef1ec;
  --bcg-menu-accent: #a8ff72;
  --bcg-menu-accent-2: #d8ffc6;
  --bcg-menu-line: rgba(16, 37, 26, 0.13);
  --bcg-menu-search-border: #d7ddd4;
  --bcg-menu-search-placeholder: #747d76;
  --bcg-menu-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
  --bcg-menu-radius: 20px;
  --bcg-menu-ease: cubic-bezier(.18,.82,.22,1);
  --bcg-menu-open-ms: 1040ms;
  --bcg-menu-close-ms: 920ms;
  --bcg-menu-asset-ms: 820ms;
  --bcg-menu-origin-x: 76px;
  --bcg-menu-origin-y: 42px;
  --bcg-menu-admin-offset: 0px;
  --bcg-menu-topbar-h: 64px;
}

body.admin-bar {
  --bcg-menu-admin-offset: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 782px) {
  body.admin-bar { --bcg-menu-admin-offset: var(--wp-admin--admin-bar--height, 46px); }
}

.bcg-fs-menu,
.bcg-fs-menu *,
.bcg-fs-menu__overlay,
.bcg-fs-menu__overlay * { box-sizing: border-box; }

.bcg-fs-menu__overlay input,
.bcg-fs-menu__overlay button,
.bcg-fs-menu__overlay a {
  font-family: inherit;
}

.bcg-fs-menu__overlay form {
  border: 0 !important;
}


.bcg-fs-menu {
  display: inline-flex;
  align-items: center;
  font-family: inherit;
  color: var(--bcg-menu-ink);
}

.bcg-fs-menu__trigger {
  appearance: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 9px 22px 9px 12px;
  border-radius: var(--bcg-menu-radius);
  background: rgba(255, 255, 255, 0.88);
  color: var(--bcg-menu-ink);
  box-shadow: var(--bcg-menu-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, opacity .28s ease;
  line-height: 1;
  position: relative;
  z-index: 2147482600;
}

.bcg-fs-menu__trigger:hover,
.bcg-fs-menu__trigger:focus-visible {
  transform: translateY(-1px);
  background: #fff;
  outline: none;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.22);
}

.bcg-fs-menu.is-open .bcg-fs-menu__trigger {
  opacity: 0;
  pointer-events: none;
}

.bcg-fs-menu.is-closing .bcg-fs-menu__trigger {
  opacity: 1;
  pointer-events: none;
  transition-delay: .18s;
}

.bcg-fs-menu__hamburger {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: linear-gradient(135deg, var(--bcg-menu-accent), var(--bcg-menu-accent-2));
}

.bcg-fs-menu__hamburger span {
  width: 25px;
  height: 2px;
  background: var(--bcg-menu-ink);
  border-radius: 99px;
}

.bcg-fs-menu__brand,
.bcg-fs-menu__overlay-brand {
  font-weight: 800;
  letter-spacing: -0.05em;
  font-size: clamp(26px, 2vw, 36px);
  line-height: 1;
  color: var(--bcg-menu-ink);
}

.bcg-fs-menu__closed-search-source {
  position: fixed !important;
  top: calc(var(--bcg-menu-admin-offset, 0px) + 9px) !important;
  left: clamp(132px, 9vw, 170px) !important;
  width: 46px;
  height: 46px;
  opacity: 0;
  pointer-events: none;
}

.bcg-fs-menu__closed-login {
  position: fixed !important;
  top: calc(var(--bcg-menu-admin-offset, 0px) + 19px) !important;
  right: 22px !important;
  z-index: 2147482600 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  color: var(--bcg-menu-ink) !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px !important;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .01em;
  white-space: nowrap;
  opacity: 1;
  transform: translateY(0);
  transition: opacity .28s ease, transform .36s var(--bcg-menu-ease);
}

.bcg-fs-menu__closed-login:hover,
.bcg-fs-menu__closed-login:focus-visible {
  outline: none;
  text-decoration-thickness: 2px !important;
}

.bcg-fs-menu.is-open .bcg-fs-menu__closed-login {
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
}

.bcg-fs-menu.is-closing .bcg-fs-menu__closed-login {
  opacity: 1;
  transform: translateY(0);
  pointer-events: none;
  transition-delay: .18s;
}

.bcg-fs-menu__overlay {
  position: fixed !important;
  top: var(--bcg-menu-admin-offset, 0px) !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 2147483000 !important;
  width: 100vw !important;
  height: calc(100dvh - var(--bcg-menu-admin-offset, 0px)) !important;
  min-height: calc(100vh - var(--bcg-menu-admin-offset, 0px));
  background: var(--bcg-menu-bg);
  color: var(--bcg-menu-ink);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  clip-path: circle(0 at var(--bcg-menu-origin-x) var(--bcg-menu-origin-y));
  transition:
    clip-path var(--bcg-menu-open-ms) var(--bcg-menu-ease),
    opacity .42s ease,
    visibility 0s linear var(--bcg-menu-open-ms);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateZ(0);
  will-change: clip-path, opacity;
  font-family: inherit;
}

.bcg-fs-menu__overlay.is-open,
.bcg-fs-menu.is-open .bcg-fs-menu__overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  clip-path: circle(170vmax at var(--bcg-menu-origin-x) var(--bcg-menu-origin-y));
  transition:
    clip-path var(--bcg-menu-open-ms) var(--bcg-menu-ease),
    opacity .34s ease,
    visibility 0s;
}

.bcg-fs-menu__overlay.is-closing,
.bcg-fs-menu.is-closing .bcg-fs-menu__overlay {
  opacity: 0;
  visibility: visible;
  pointer-events: none;
  clip-path: circle(0 at var(--bcg-menu-origin-x) var(--bcg-menu-origin-y));
  transition:
    clip-path var(--bcg-menu-close-ms) var(--bcg-menu-ease),
    opacity .46s ease,
    visibility 0s;
}

body.bcg-fs-menu-open { overflow: hidden !important; }

.bcg-fs-menu__topbar {
  position: sticky;
  top: 0;
  z-index: 4;
  display: grid;
  grid-template-columns: 56px max-content minmax(260px, 1fr) max-content;
  align-items: center;
  column-gap: 14px;
  min-height: var(--bcg-menu-topbar-h);
  height: var(--bcg-menu-topbar-h);
  padding: 0 24px 0 0;
  border-bottom: 1px solid var(--bcg-menu-line);
  background: rgba(255, 255, 255, .985);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.bcg-fs-menu__close {
  width: 56px;
  height: 56px;
  border: 0;
  border-radius: 0 14px 14px 0;
  background: var(--bcg-menu-soft);
  color: var(--bcg-menu-ink);
  cursor: pointer;
  font-size: 38px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  transition: background .18s ease, transform .18s ease;
}

.bcg-fs-menu__close span {
  display: block;
  transform: translateY(-1px);
  font-weight: 300;
}

.bcg-fs-menu__close:hover,
.bcg-fs-menu__close:focus-visible {
  background: #e7ebe5;
  outline: 2px solid var(--bcg-menu-ink);
  outline-offset: -2px;
}

.bcg-fs-menu__overlay-brand {
  justify-self: start;
  white-space: nowrap;
  min-width: max-content;
  font-size: clamp(25px, 1.85vw, 32px);
}

.bcg-fs-menu__search {
  position: relative;
  margin: 0 !important;
  width: 100%;
  min-width: 0;
  color: var(--bcg-menu-ink);
}

.bcg-fs-menu__search::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 2px solid currentColor;
  border-radius: 50%;
  transform: translateY(-50%);
  opacity: .72;
  pointer-events: none;
}

.bcg-fs-menu__search::after {
  content: "";
  position: absolute;
  left: 35px;
  top: calc(50% + 9px);
  width: 9px;
  height: 2px;
  background: currentColor;
  transform: rotate(45deg);
  opacity: .72;
  pointer-events: none;
}

.bcg-fs-menu__search input {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 22px 0 62px !important;
  border: 1px solid var(--bcg-menu-search-border) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  color: var(--bcg-menu-ink) !important;
  font: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.bcg-fs-menu__search input::placeholder {
  color: var(--bcg-menu-search-placeholder) !important;
  opacity: 1 !important;
  font-weight: 400 !important;
}

.bcg-fs-menu__search input::-webkit-search-decoration,
.bcg-fs-menu__search input::-webkit-search-cancel-button,
.bcg-fs-menu__search input::-webkit-search-results-button,
.bcg-fs-menu__search input::-webkit-search-results-decoration {
  -webkit-appearance: none !important;
}

.bcg-fs-menu__search input:focus {
  outline: 2px solid rgba(16, 37, 26, .28) !important;
  outline-offset: 2px !important;
}

.bcg-fs-menu__login {
  justify-self: end;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  color: var(--bcg-menu-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  padding: 0 0 0 8px;
}

.bcg-fs-menu__top-asset {
  opacity: 0;
  transform: translate3d(var(--bcg-asset-x, 0), var(--bcg-asset-y, -8px), 0) scale(var(--bcg-asset-scale-x, .96), var(--bcg-asset-scale-y, .96));
  transform-origin: center center;
  will-change: transform, opacity;
  transition:
    transform var(--bcg-menu-asset-ms) var(--bcg-menu-ease),
    opacity .42s ease;
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset,
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1, 1);
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="close"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="close"] { transition-delay: .05s; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="brand"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="brand"] { transition-delay: .08s; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="search"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="search"] { transition-delay: .14s; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="login"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="login"] { transition-delay: .19s; }

.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__top-asset,
.bcg-fs-menu.is-closing .bcg-fs-menu__top-asset {
  opacity: 0;
  transform: translate3d(var(--bcg-asset-x, 0), var(--bcg-asset-y, -8px), 0) scale(var(--bcg-asset-scale-x, .96), var(--bcg-asset-scale-y, .96));
  transition-duration: calc(var(--bcg-menu-close-ms) * .82), .42s;
  transition-delay: 0s;
}

.bcg-fs-menu__body {
  display: grid;
  grid-template-columns: minmax(320px, 408px) minmax(0, 1fr);
  min-height: calc(100dvh - var(--bcg-menu-admin-offset, 0px) - var(--bcg-menu-topbar-h));
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .42s ease, transform .56s var(--bcg-menu-ease);
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__body,
.bcg-fs-menu.is-open .bcg-fs-menu__body {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .22s;
}

.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__body,
.bcg-fs-menu.is-closing .bcg-fs-menu__body {
  opacity: 0;
  transform: translateY(10px);
  transition-delay: 0s;
}

.bcg-fs-menu__rail {
  border-right: 1px solid var(--bcg-menu-line);
  background: #fff;
  padding: 0;
  min-height: calc(100dvh - var(--bcg-menu-admin-offset, 0px) - var(--bcg-menu-topbar-h));
}

.bcg-fs-menu__rail-group {
  border-bottom: 1px solid var(--bcg-menu-line);
  padding: 26px 14px 18px;
}

.bcg-fs-menu__rail-group:first-child { padding-top: 22px; }

.bcg-fs-menu__rail-section {
  display: block;
  padding: 0 16px 12px;
  color: var(--bcg-menu-ink);
  text-decoration: none;
  font-size: clamp(21px, 1.35vw, 25px);
  line-height: 1.15;
  letter-spacing: .005em;
  font-weight: 500;
}

.bcg-fs-menu__rail-section--link { padding-top: 0; padding-bottom: 0; }

.bcg-fs-menu__rail-section--link:hover,
.bcg-fs-menu__rail-section--link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 5px;
  outline: none;
}

.bcg-fs-menu__rail-subitems { display: grid; gap: 4px; }

.bcg-fs-menu__rail-item {
  width: 100%;
  display: block;
  border: 0;
  border-radius: 13px;
  padding: 13px 18px;
  margin: 0;
  text-align: left;
  background: transparent;
  color: var(--bcg-menu-ink);
  cursor: pointer;
  font: inherit;
  font-size: clamp(17px, 1.05vw, 20px);
  line-height: 1.15;
  letter-spacing: .01em;
  transition: background .18s ease, transform .18s ease;
}

.bcg-fs-menu__rail-item:hover,
.bcg-fs-menu__rail-item:focus-visible,
.bcg-fs-menu__rail-item.is-active {
  background: var(--bcg-menu-soft);
  outline: none;
}

.bcg-fs-menu__rail-item:hover { transform: translateX(3px); }

.bcg-fs-menu__panels { padding: 0; overflow: hidden; }

.bcg-fs-menu__panel {
  display: none;
  padding: 0;
  animation: bcgPanelIn .30s ease both;
}

.bcg-fs-menu__panel.is-active { display: block; }

@keyframes bcgPanelIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.bcg-fs-menu__panel-header {
  padding: 20px 28px 28px;
  margin: 0 0 24px;
  border-bottom: 1px solid var(--bcg-menu-line);
  max-width: 820px;
}

.bcg-fs-menu__panel-header h2 {
  margin: 0 0 6px;
  color: var(--bcg-menu-ink);
  font-size: clamp(20px, 1.45vw, 25px);
  line-height: 1.15;
  letter-spacing: .005em;
  font-weight: 500;
}

.bcg-fs-menu__panel-header p {
  margin: 0;
  color: #0f2118;
  max-width: 760px;
  font-size: clamp(14px, .95vw, 16px);
  line-height: 1.35;
}

.bcg-fs-menu__link-grid {
  list-style: none;
  margin: 0;
  padding: 0 28px 48px;
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  column-gap: clamp(40px, 8vw, 150px);
  row-gap: 0;
  max-width: 950px;
}

.bcg-fs-menu__link-grid li { margin: 0; padding: 0; }

.bcg-fs-menu__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 18px clamp(40px, 8vw, 120px);
  max-width: 980px;
  padding: 0 28px 48px;
}

.bcg-fs-menu__column h3 {
  margin: 0 0 12px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.bcg-fs-menu__column h3 a { color: var(--bcg-menu-muted); text-decoration: none; }
.bcg-fs-menu__column ul { list-style: none; margin: 0; padding: 0; }
.bcg-fs-menu__column li { margin: 0; }

.bcg-fs-menu__link-grid a,
.bcg-fs-menu__column a {
  display: inline-flex;
  align-items: center;
  min-height: 43px;
  color: var(--bcg-menu-ink);
  text-decoration: none;
  font-size: clamp(17px, 1.13vw, 20px);
  line-height: 1.16;
  letter-spacing: .01em;
}

.bcg-fs-menu__link-grid a:hover,
.bcg-fs-menu__link-grid a:focus-visible,
.bcg-fs-menu__column a:hover,
.bcg-fs-menu__column a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 5px;
  outline: none;
}

.bcg-fs-menu__welcome {
  position: fixed;
  left: 76px;
  bottom: 42px;
  font-weight: 800;
  letter-spacing: .14em;
  font-size: clamp(13px, .95vw, 17px);
  color: var(--bcg-menu-ink);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .42s ease, transform .56s var(--bcg-menu-ease);
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__welcome,
.bcg-fs-menu.is-open .bcg-fs-menu__welcome {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .34s;
}

.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__welcome,
.bcg-fs-menu.is-closing .bcg-fs-menu__welcome {
  opacity: 0;
  transform: translateY(12px);
  transition-delay: 0s;
}

.bcg-fs-menu__empty { color: var(--bcg-menu-muted); margin: 16px; font-size: 15px; }
.bcg-fs-menu__empty a { color: var(--bcg-menu-ink); font-weight: 700; }

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 1024px) {
  .bcg-fs-menu__body { grid-template-columns: minmax(280px, 34vw) minmax(0, 1fr); }
  .bcg-fs-menu__link-grid,
  .bcg-fs-menu__columns { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
  .bcg-fs-menu__topbar {
    grid-template-columns: 56px minmax(0, 1fr) max-content;
    height: auto;
    min-height: 64px;
    padding-right: 14px;
  }
  .bcg-fs-menu__overlay-brand { font-size: 24px; }
  .bcg-fs-menu__search {
    grid-column: 1 / -1;
    margin: 0 14px 10px;
  }
  .bcg-fs-menu__login { grid-column: 3; grid-row: 1; }
  .bcg-fs-menu__body { grid-template-columns: 1fr; }
  .bcg-fs-menu__rail {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--bcg-menu-line);
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding: 12px;
  }
  .bcg-fs-menu__rail-group {
    border-bottom: 0;
    padding: 0;
    flex: 0 0 auto;
    min-width: 170px;
  }
  .bcg-fs-menu__rail-section {
    font-size: 16px;
    padding: 0 8px 8px;
    font-weight: 700;
  }
  .bcg-fs-menu__rail-item {
    white-space: nowrap;
    width: 100%;
    font-size: 15px;
    padding: 11px 13px;
  }
  .bcg-fs-menu__panel-header { padding: 20px 22px; }
  .bcg-fs-menu__link-grid,
  .bcg-fs-menu__columns { padding-left: 22px; padding-right: 22px; }
  .bcg-fs-menu__welcome { position: static; padding: 0 22px 34px; }
  .bcg-fs-menu__closed-login { display: none !important; }
}

@media (max-width: 600px) {
  .bcg-fs-menu__trigger { min-height: 56px; padding-right: 16px; }
  .bcg-fs-menu__hamburger { width: 46px; height: 46px; }
  .bcg-fs-menu__brand { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .bcg-fs-menu__overlay,
  .bcg-fs-menu__overlay.is-open,
  .bcg-fs-menu__overlay.is-closing,
  .bcg-fs-menu.is-open .bcg-fs-menu__overlay,
  .bcg-fs-menu.is-closing .bcg-fs-menu__overlay,
  .bcg-fs-menu__top-asset,
  .bcg-fs-menu__closed-login,
  .bcg-fs-menu__body,
  .bcg-fs-menu__welcome,
  .bcg-fs-menu__panel {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* === v1.5.0 visual tuning: closer BCG topbar spacing/hover behavior === */
:root {
  --bcg-menu-hover: #1b5a35;
  --bcg-menu-hover-soft: #a8ff72;
  --bcg-menu-search-border: #dfe5dc;
  --bcg-menu-search-placeholder: #8d958f;
}

/* Keep the top row proportional instead of letting the search box swallow the layout. */
.bcg-fs-menu__topbar {
  grid-template-columns: 66px max-content minmax(280px, min(68vw, 1480px)) max-content !important;
  column-gap: 18px !important;
  padding-right: 24px !important;
  overflow: visible !important;
}

/* Move the close button/glyph slightly right, but keep the large soft tile. */
.bcg-fs-menu__close {
  width: 64px !important;
  margin-left: 8px !important;
  border-radius: 14px !important;
  color: var(--bcg-menu-ink) !important;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.bcg-fs-menu__close span {
  transform: translate(5px, -1px) !important;
  transition: color .2s ease, transform .2s ease !important;
}
.bcg-fs-menu__close:hover,
.bcg-fs-menu__close:focus-visible {
  background: var(--bcg-menu-hover-soft) !important;
  color: var(--bcg-menu-hover) !important;
  outline: none !important;
  box-shadow: inset 0 0 0 2px rgba(27, 90, 53, .22) !important;
}
.bcg-fs-menu__close:hover span,
.bcg-fs-menu__close:focus-visible span {
  transform: translate(5px, -1px) scale(1.035) !important;
}

/* Search: slightly smaller, rounded, lighter, and not overlapping the brand/login. */
.bcg-fs-menu__search {
  width: 100% !important;
  max-width: min(68vw, 1480px) !important;
  justify-self: stretch !important;
  color: #4a554e !important;
}
.bcg-fs-menu__search input,
.bcg-fs-menu__search input[type="search"] {
  height: 56px !important;
  min-height: 56px !important;
  border-radius: 17px !important;
  border-color: var(--bcg-menu-search-border) !important;
  color: #26342d !important;
  background: #fff !important;
  font-size: 16px !important;
  padding-left: 64px !important;
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease !important;
}
.bcg-fs-menu__search input::placeholder,
.bcg-fs-menu__search input[type="search"]::placeholder {
  color: var(--bcg-menu-search-placeholder) !important;
  opacity: 1 !important;
}
.bcg-fs-menu__search::before,
.bcg-fs-menu__search::after {
  transition: border-color .22s ease, background .22s ease, color .22s ease, opacity .22s ease, transform .22s ease !important;
}
.bcg-fs-menu__search:hover,
.bcg-fs-menu__search:focus-within {
  color: var(--bcg-menu-hover) !important;
}
.bcg-fs-menu__search:hover input,
.bcg-fs-menu__search:focus-within input {
  border-color: rgba(27, 90, 53, .36) !important;
  box-shadow: 0 0 0 4px rgba(168, 255, 114, .18) !important;
}
.bcg-fs-menu__search:hover::before,
.bcg-fs-menu__search:focus-within::before {
  opacity: 1 !important;
  transform: translateY(-50%) scale(1.045) !important;
}
.bcg-fs-menu__search:hover::after,
.bcg-fs-menu__search:focus-within::after {
  opacity: 1 !important;
}

/* Login hover: color shift without moving the element. */
.bcg-fs-menu__login,
.bcg-fs-menu__closed-login {
  transition: color .2s ease, text-decoration-color .2s ease, opacity .28s ease, transform .36s var(--bcg-menu-ease) !important;
  text-decoration-color: currentColor !important;
}
.bcg-fs-menu__login:hover,
.bcg-fs-menu__login:focus-visible,
.bcg-fs-menu__closed-login:hover,
.bcg-fs-menu__closed-login:focus-visible {
  color: var(--bcg-menu-hover) !important;
  text-decoration-color: var(--bcg-menu-hover) !important;
  outline: none !important;
}

/* More air between the top search/header row and the menu body. */
.bcg-fs-menu__body {
  padding-top: 14px !important;
}

/* At laptop/tablet widths, preserve symmetry instead of horizontal overlap. */
@media (max-width: 1180px) {
  .bcg-fs-menu__topbar {
    grid-template-columns: 66px max-content minmax(220px, 1fr) max-content !important;
    column-gap: 12px !important;
  }
  .bcg-fs-menu__overlay-brand {
    max-width: 22vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .bcg-fs-menu__search { max-width: none !important; }
}

@media (max-width: 760px) {
  .bcg-fs-menu__topbar {
    grid-template-columns: 58px 1fr max-content !important;
    grid-template-rows: 60px 58px !important;
    height: auto !important;
    min-height: 118px !important;
    row-gap: 8px !important;
    padding: 0 14px 12px 0 !important;
  }
  .bcg-fs-menu__close { width: 58px !important; margin-left: 4px !important; }
  .bcg-fs-menu__overlay-brand { max-width: none !important; }
  .bcg-fs-menu__search { grid-column: 1 / -1 !important; grid-row: 2 !important; padding-left: 14px !important; }
  .bcg-fs-menu__login { grid-column: 3 !important; grid-row: 1 !important; }
  .bcg-fs-menu__body { padding-top: 10px !important; }
}

/* v1.6.0 precision spacing + Avada focus hardening */
:root {
  --bcg-menu-extra-top: 8px;
  --bcg-menu-topbar-h: 72px;
  --bcg-menu-search-border: #cfd6cf;
  --bcg-menu-search-placeholder: #8b938d;
  --bcg-menu-hover: #174f2c;
}

.bcg-fs-menu__overlay {
  top: calc(var(--bcg-menu-admin-offset, 0px) + var(--bcg-menu-extra-top, 8px)) !important;
  height: calc(100dvh - var(--bcg-menu-admin-offset, 0px) - var(--bcg-menu-extra-top, 8px)) !important;
  min-height: calc(100vh - var(--bcg-menu-admin-offset, 0px) - var(--bcg-menu-extra-top, 8px)) !important;
}

.bcg-fs-menu__topbar {
  grid-template-columns: 74px max-content minmax(360px, 1fr) max-content !important;
  column-gap: 10px !important;
  min-height: var(--bcg-menu-topbar-h) !important;
  height: var(--bcg-menu-topbar-h) !important;
  padding: 8px 22px 8px 0 !important;
  align-items: center !important;
  border-bottom-color: rgba(16, 37, 26, 0.11) !important;
}

.bcg-fs-menu__close {
  position: relative !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  margin-left: 8px !important;
  border-radius: 15px !important;
  background: #f1f0ed !important;
  color: var(--bcg-menu-ink) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.bcg-fs-menu__close span {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.bcg-fs-menu__close::before,
.bcg-fs-menu__close::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 25px !important;
  height: 2.4px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  transform-origin: center center !important;
  transition: background .16s ease, transform .16s ease !important;
}

.bcg-fs-menu__close::before { transform: translate(-50%, -50%) rotate(45deg) !important; }
.bcg-fs-menu__close::after { transform: translate(-50%, -50%) rotate(-45deg) !important; }

.bcg-fs-menu__close:hover,
.bcg-fs-menu__close:focus-visible {
  color: var(--bcg-menu-hover) !important;
  background: #e9eee6 !important;
  outline: none !important;
  box-shadow: none !important;
}

.bcg-fs-menu__overlay-brand {
  align-self: center !important;
  padding-right: 2px !important;
}

.bcg-fs-menu__search {
  width: 100% !important;
  max-width: calc(100vw - 390px) !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  color: #27372e !important;
}

.bcg-fs-menu__search::before,
.bcg-fs-menu__search::after {
  opacity: .62 !important;
  color: #27372e !important;
  transition: opacity .16s ease, color .16s ease !important;
}

.bcg-fs-menu__search input,
.bcg-fs-menu__search input[type="search"] {
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 20px 0 58px !important;
  border: 1px solid var(--bcg-menu-search-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: 0 !important;
  color: var(--bcg-menu-ink) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

.bcg-fs-menu__search input::placeholder {
  color: var(--bcg-menu-search-placeholder) !important;
  opacity: 1 !important;
}

.bcg-fs-menu__search:hover input,
.bcg-fs-menu__search:focus-within input,
.bcg-fs-menu__search input:focus,
.bcg-fs-menu__search input[type="search"]:focus {
  border-color: #bfc9c0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.bcg-fs-menu__search:hover::before,
.bcg-fs-menu__search:hover::after,
.bcg-fs-menu__search:focus-within::before,
.bcg-fs-menu__search:focus-within::after {
  color: var(--bcg-menu-hover) !important;
  opacity: .82 !important;
}

.bcg-fs-menu__login {
  align-self: center !important;
  min-height: 52px !important;
  padding-left: 8px !important;
  color: var(--bcg-menu-ink) !important;
  transition: color .16s ease, text-decoration-color .16s ease !important;
}

.bcg-fs-menu__login:hover,
.bcg-fs-menu__login:focus-visible,
.bcg-fs-menu__closed-login:hover,
.bcg-fs-menu__closed-login:focus-visible {
  color: var(--bcg-menu-hover) !important;
  outline: none !important;
  text-decoration-color: var(--bcg-menu-hover) !important;
}

.bcg-fs-menu__body {
  min-height: calc(100dvh - var(--bcg-menu-admin-offset, 0px) - var(--bcg-menu-extra-top, 8px) - var(--bcg-menu-topbar-h)) !important;
}

.bcg-fs-menu__rail {
  min-height: calc(100dvh - var(--bcg-menu-admin-offset, 0px) - var(--bcg-menu-extra-top, 8px) - var(--bcg-menu-topbar-h)) !important;
}

.bcg-fs-menu__panel-header {
  padding-top: 24px !important;
}

@media (max-width: 1100px) {
  .bcg-fs-menu__topbar {
    grid-template-columns: 72px max-content minmax(220px, 1fr) max-content !important;
    column-gap: 8px !important;
    padding-right: 14px !important;
  }
  .bcg-fs-menu__search {
    max-width: none !important;
  }
}

@media (max-width: 780px) {
  :root { --bcg-menu-topbar-h: auto; }
  .bcg-fs-menu__overlay { top: calc(var(--bcg-menu-admin-offset, 0px) + 6px) !important; }
  .bcg-fs-menu__topbar {
    grid-template-columns: 64px 1fr max-content !important;
    grid-template-areas:
      "close brand login"
      "search search search" !important;
    row-gap: 10px !important;
    padding: 8px 12px 12px 0 !important;
    height: auto !important;
  }
  .bcg-fs-menu__close { grid-area: close; margin-left: 8px !important; }
  .bcg-fs-menu__overlay-brand { grid-area: brand; }
  .bcg-fs-menu__search { grid-area: search; max-width: none !important; padding-left: 12px !important; }
  .bcg-fs-menu__login { grid-area: login; }
}

/* === v1.7.0: closed actions, centered topbar search, neutral defaults, stronger motion === */
:root {
  --bcg-menu-extra-top: 10px;
  --bcg-menu-topbar-h: 76px;
  --bcg-menu-ease: cubic-bezier(.16, 1, .3, 1);
  --bcg-menu-open-ms: 1120ms;
  --bcg-menu-close-ms: 900ms;
  --bcg-menu-asset-ms: 900ms;
  --bcg-menu-search-border: #d5dad3;
  --bcg-menu-search-placeholder: #8a938c;
  --bcg-menu-hover: #145c34;
  --bcg-menu-hover-soft: #a8ff72;
  --bcg-menu-tile: #f2f1ee;
}

/* Closed hamburger: neutral by default; green only on mouseover/focus. */
.bcg-fs-menu__hamburger {
  background: var(--bcg-menu-tile) !important;
  transition: background .22s ease, transform .22s ease, box-shadow .22s ease !important;
}
.bcg-fs-menu__trigger:hover .bcg-fs-menu__hamburger,
.bcg-fs-menu__trigger:focus-visible .bcg-fs-menu__hamburger {
  background: linear-gradient(135deg, var(--bcg-menu-hover-soft), #d8ffc6) !important;
  transform: translateY(-1px) !important;
}
.bcg-fs-menu__trigger:hover .bcg-fs-menu__hamburger span,
.bcg-fs-menu__trigger:focus-visible .bcg-fs-menu__hamburger span {
  background: var(--bcg-menu-hover) !important;
}

/* Closed-state right pill: search icon + LOG IN, visible before opening. */
.bcg-fs-menu__closed-actions {
  position: fixed !important;
  top: calc(var(--bcg-menu-admin-offset, 0px) + 26px) !important;
  right: clamp(34px, 4.25vw, 82px) !important;
  z-index: 2147482600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  min-height: 64px !important;
  padding: 0 22px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: var(--bcg-menu-shadow) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: opacity .26s ease, transform .42s var(--bcg-menu-ease), box-shadow .22s ease, background .22s ease !important;
}
.bcg-fs-menu__closed-search {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  cursor: pointer !important;
  color: var(--bcg-menu-ink) !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color .18s ease, transform .18s ease !important;
}
.bcg-fs-menu__closed-search::before {
  content: "" !important;
  width: 17px !important;
  height: 17px !important;
  border: 2px solid currentColor !important;
  border-radius: 999px !important;
  position: absolute !important;
  left: 1px !important;
  top: 1px !important;
}
.bcg-fs-menu__closed-search::after {
  content: "" !important;
  width: 9px !important;
  height: 2px !important;
  background: currentColor !important;
  border-radius: 999px !important;
  position: absolute !important;
  left: 16px !important;
  top: 19px !important;
  transform: rotate(45deg) !important;
}
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login {
  position: static !important;
  top: auto !important;
  right: auto !important;
  z-index: auto !important;
  min-height: 26px !important;
  padding: 0 !important;
  font-size: 14px !important;
  letter-spacing: .01em !important;
  transform: none !important;
  opacity: 1 !important;
}
.bcg-fs-menu__closed-search:hover,
.bcg-fs-menu__closed-search:focus-visible,
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login:hover,
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login:focus-visible {
  color: var(--bcg-menu-hover) !important;
  outline: none !important;
}
.bcg-fs-menu__closed-search:hover,
.bcg-fs-menu__closed-search:focus-visible { transform: translateY(-1px) scale(1.04) !important; }
.bcg-fs-menu.is-open .bcg-fs-menu__closed-actions,
.bcg-fs-menu.is-closing .bcg-fs-menu__closed-actions {
  opacity: 0 !important;
  transform: translateY(-8px) scale(.985) !important;
  pointer-events: none !important;
}

/* Open menu topbar: make search live between brand and login, with BCG-like gray stroke by default. */
.bcg-fs-menu__topbar {
  grid-template-columns: 76px max-content minmax(420px, 1fr) max-content !important;
  column-gap: 18px !important;
  min-height: var(--bcg-menu-topbar-h) !important;
  height: var(--bcg-menu-topbar-h) !important;
  padding: 10px 36px 10px 0 !important;
  align-items: center !important;
  overflow: visible !important;
  border-bottom-color: rgba(16, 37, 26, .12) !important;
}
.bcg-fs-menu__close {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin-left: 10px !important;
  border-radius: 16px !important;
  background: var(--bcg-menu-tile) !important;
  color: var(--bcg-menu-ink) !important;
}
.bcg-fs-menu__close::before,
.bcg-fs-menu__close::after {
  width: 26px !important;
  height: 2.4px !important;
  background: currentColor !important;
  transition: transform .18s ease, color .18s ease, background .18s ease !important;
}
.bcg-fs-menu__close:hover,
.bcg-fs-menu__close:focus-visible {
  color: var(--bcg-menu-hover) !important;
  background: #e9eee6 !important;
  outline: none !important;
  box-shadow: none !important;
}
.bcg-fs-menu__close:hover::before { transform: translate(-50%, -50%) rotate(45deg) scale(1.06) !important; }
.bcg-fs-menu__close:hover::after { transform: translate(-50%, -50%) rotate(-45deg) scale(1.06) !important; }

.bcg-fs-menu__overlay-brand {
  justify-self: start !important;
  min-width: max-content !important;
  margin-right: 0 !important;
}
.bcg-fs-menu__search {
  justify-self: stretch !important;
  align-self: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  color: #26362e !important;
  margin: 0 !important;
}
.bcg-fs-menu__search input,
.bcg-fs-menu__search input[type="search"] {
  height: 54px !important;
  min-height: 54px !important;
  border: 1px solid var(--bcg-menu-search-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: var(--bcg-menu-ink) !important;
  padding-left: 62px !important;
  box-shadow: none !important;
  outline: 0 !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}
.bcg-fs-menu__search::before,
.bcg-fs-menu__search::after {
  color: #26362e !important;
  opacity: .64 !important;
  transition: color .18s ease, opacity .18s ease, transform .18s ease !important;
}
.bcg-fs-menu__search input:focus,
.bcg-fs-menu__search input[type="search"]:focus {
  border-color: var(--bcg-menu-search-border) !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.bcg-fs-menu__search:hover input,
.bcg-fs-menu__search:hover input[type="search"] {
  border-color: #bfc8bf !important;
}
.bcg-fs-menu__search:hover::before,
.bcg-fs-menu__search:hover::after {
  color: var(--bcg-menu-hover) !important;
  opacity: .95 !important;
}
.bcg-fs-menu__search:hover::before { transform: translateY(-50%) scale(1.045) !important; }

.bcg-fs-menu__login {
  justify-self: end !important;
  align-self: center !important;
  min-height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding-left: 8px !important;
  color: var(--bcg-menu-ink) !important;
  text-decoration-color: currentColor !important;
  transition: color .18s ease, text-decoration-color .18s ease, transform .18s ease !important;
}
.bcg-fs-menu__login:hover,
.bcg-fs-menu__login:focus-visible {
  color: var(--bcg-menu-hover) !important;
  text-decoration-color: var(--bcg-menu-hover) !important;
  outline: none !important;
  transform: translateY(-1px) !important;
}

/* Motion: slightly slower, more deliberate, and with staggered content entry. */
.bcg-fs-menu__overlay {
  transition:
    clip-path var(--bcg-menu-open-ms) var(--bcg-menu-ease),
    opacity .46s ease,
    visibility 0s linear var(--bcg-menu-open-ms) !important;
}
.bcg-fs-menu__overlay.is-open,
.bcg-fs-menu.is-open .bcg-fs-menu__overlay {
  transition:
    clip-path var(--bcg-menu-open-ms) var(--bcg-menu-ease),
    opacity .34s ease,
    visibility 0s !important;
}
.bcg-fs-menu__top-asset {
  transition:
    transform var(--bcg-menu-asset-ms) var(--bcg-menu-ease),
    opacity .36s ease !important;
}
.bcg-fs-menu__body {
  transform: translateY(18px) !important;
  transition: opacity .46s ease, transform .68s var(--bcg-menu-ease) !important;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__body,
.bcg-fs-menu.is-open .bcg-fs-menu__body {
  transform: translateY(0) !important;
  transition-delay: .28s !important;
}
.bcg-fs-menu__rail-group,
.bcg-fs-menu__panel-header,
.bcg-fs-menu__link-grid,
.bcg-fs-menu__columns {
  will-change: transform, opacity;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__rail-group,
.bcg-fs-menu.is-open .bcg-fs-menu__rail-group {
  animation: bcgMenuRailIn .54s var(--bcg-menu-ease) both;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__rail-group:nth-child(1) { animation-delay: .30s; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__rail-group:nth-child(2) { animation-delay: .36s; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__rail-group:nth-child(3) { animation-delay: .42s; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__panel-header,
.bcg-fs-menu.is-open .bcg-fs-menu__panel-header {
  animation: bcgMenuPanelIn .58s var(--bcg-menu-ease) .34s both;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__link-grid,
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__columns,
.bcg-fs-menu.is-open .bcg-fs-menu__link-grid,
.bcg-fs-menu.is-open .bcg-fs-menu__columns {
  animation: bcgMenuPanelIn .64s var(--bcg-menu-ease) .42s both;
}
@keyframes bcgMenuRailIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bcgMenuPanelIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1180px) {
  .bcg-fs-menu__topbar {
    grid-template-columns: 74px max-content minmax(240px, 1fr) max-content !important;
    column-gap: 12px !important;
    padding-right: 18px !important;
  }
  .bcg-fs-menu__overlay-brand {
    max-width: 24vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .bcg-fs-menu__closed-actions {
    right: 24px !important;
  }
}

@media (max-width: 780px) {
  .bcg-fs-menu__closed-actions { display: none !important; }
  .bcg-fs-menu__topbar {
    grid-template-columns: 68px 1fr max-content !important;
    grid-template-areas:
      "close brand login"
      "search search search" !important;
    row-gap: 10px !important;
    min-height: 130px !important;
    height: auto !important;
    padding: 8px 12px 14px 0 !important;
  }
  .bcg-fs-menu__close { grid-area: close !important; width: 56px !important; height: 56px !important; }
  .bcg-fs-menu__overlay-brand { grid-area: brand !important; max-width: none !important; }
  .bcg-fs-menu__search { grid-area: search !important; padding-left: 12px !important; padding-right: 0 !important; }
  .bcg-fs-menu__login { grid-area: login !important; min-height: 56px !important; }
}

/* === v1.8.0: BCG search-pill rebuild + corrected visual geometry === */
:root {
  --bcg-menu-extra-top: 12px;
  --bcg-menu-topbar-h: 74px;
  --bcg-menu-ease: cubic-bezier(.18, .92, .14, 1);
  --bcg-menu-open-ms: 1160ms;
  --bcg-menu-close-ms: 940ms;
  --bcg-menu-asset-ms: 880ms;
  --bcg-menu-search-border: #d2d8d1;
  --bcg-menu-search-placeholder: #8d958f;
  --bcg-menu-hover: #154f2f;
  --bcg-menu-hover-soft: #a8ff72;
  --bcg-menu-tile: #f3f2ef;
}

/* Topbar geometry: BCG-like [X][logo][search][login] with the search reclaiming space. */
.bcg-fs-menu__topbar {
  grid-template-columns: 76px clamp(76px, 6.2vw, 118px) minmax(420px, 1fr) max-content !important;
  column-gap: 14px !important;
  min-height: var(--bcg-menu-topbar-h) !important;
  height: var(--bcg-menu-topbar-h) !important;
  padding: 9px 36px 9px 0 !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(16, 37, 26, .115) !important;
  overflow: visible !important;
}

/* The real BCG logo is compact. Long demo text cannot occupy BCG's 3-letter footprint, so tighten it. */
.bcg-fs-menu__overlay-brand {
  justify-self: start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 118px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  font-size: clamp(25px, 1.55vw, 31px) !important;
  letter-spacing: -0.055em !important;
  line-height: 1 !important;
}

/* X tile: centered, BCG soft tile, slight right offset, hover color only. */
.bcg-fs-menu__close {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin-left: 10px !important;
  border-radius: 16px !important;
  background: var(--bcg-menu-tile) !important;
  color: var(--bcg-menu-ink) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  outline: none !important;
}
.bcg-fs-menu__close::before,
.bcg-fs-menu__close::after {
  left: 50% !important;
  top: 50% !important;
  width: 27px !important;
  height: 2.2px !important;
  background: currentColor !important;
  border-radius: 999px !important;
}
.bcg-fs-menu__close:hover,
.bcg-fs-menu__close:focus-visible {
  color: var(--bcg-menu-hover) !important;
  background: #e9eee6 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Full rebuild of the open search into one rounded pill with a real icon tile. */
.bcg-fs-menu__search {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-self: stretch !important;
  align-self: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--bcg-menu-search-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: hidden !important;
  color: var(--bcg-menu-ink) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.bcg-fs-menu__search::before,
.bcg-fs-menu__search::after {
  content: none !important;
  display: none !important;
}
.bcg-fs-menu__search-submit {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  flex: 0 0 56px !important;
  width: 56px !important;
  height: 48px !important;
  min-width: 56px !important;
  min-height: 48px !important;
  margin: 3px 0 3px 5px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: #26362e !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}
.bcg-fs-menu__search-submit span::before {
  content: "" !important;
  position: absolute !important;
  width: 21px !important;
  height: 21px !important;
  border: 2px solid currentColor !important;
  border-radius: 999px !important;
  left: 16px !important;
  top: 11px !important;
}
.bcg-fs-menu__search-submit span::after {
  content: "" !important;
  position: absolute !important;
  width: 12px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  left: 34px !important;
  top: 32px !important;
  transform: rotate(45deg) !important;
}
.bcg-fs-menu__search input,
.bcg-fs-menu__search input[type="search"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 20px 0 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  color: var(--bcg-menu-ink) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
.bcg-fs-menu__search input::placeholder,
.bcg-fs-menu__search input[type="search"]::placeholder {
  color: var(--bcg-menu-search-placeholder) !important;
  opacity: 1 !important;
  font-weight: 400 !important;
}
.bcg-fs-menu__search:hover,
.bcg-fs-menu__search:focus-within {
  border-color: #c4ccc4 !important;
  box-shadow: none !important;
  outline: none !important;
}
.bcg-fs-menu__search:hover .bcg-fs-menu__search-submit,
.bcg-fs-menu__search:focus-within .bcg-fs-menu__search-submit,
.bcg-fs-menu__search-submit:hover,
.bcg-fs-menu__search-submit:focus-visible {
  background: var(--bcg-menu-hover-soft) !important;
  color: var(--bcg-menu-hover) !important;
  transform: translateY(-1px) !important;
}
.bcg-fs-menu__search input:focus,
.bcg-fs-menu__search input[type="search"]:focus {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Login: keep it aligned and make hover obvious but controlled. */
.bcg-fs-menu__login {
  justify-self: end !important;
  align-self: center !important;
  min-height: 56px !important;
  padding-left: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: var(--bcg-menu-ink) !important;
  text-decoration: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  transition: color .18s ease, text-decoration-color .18s ease, transform .18s ease !important;
}
.bcg-fs-menu__login:hover,
.bcg-fs-menu__login:focus-visible,
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login:hover,
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login:focus-visible {
  color: var(--bcg-menu-hover) !important;
  text-decoration-color: var(--bcg-menu-hover) !important;
  outline: none !important;
}

/* Closed hamburger stays neutral unless hovered/focused. */
.bcg-fs-menu__hamburger {
  background: var(--bcg-menu-tile) !important;
}
.bcg-fs-menu__trigger:hover .bcg-fs-menu__hamburger,
.bcg-fs-menu__trigger:focus-visible .bcg-fs-menu__hamburger {
  background: linear-gradient(135deg, var(--bcg-menu-hover-soft), #d8ffc6) !important;
}

/* Make the motion feel intentional: solid sweep, then top assets/content follow. */
.bcg-fs-menu__overlay {
  transition:
    clip-path var(--bcg-menu-open-ms) var(--bcg-menu-ease),
    opacity .42s ease,
    visibility 0s linear var(--bcg-menu-open-ms) !important;
}
.bcg-fs-menu__overlay.is-open,
.bcg-fs-menu.is-open .bcg-fs-menu__overlay {
  transition:
    clip-path var(--bcg-menu-open-ms) var(--bcg-menu-ease),
    opacity .28s ease,
    visibility 0s !important;
}
.bcg-fs-menu__top-asset {
  transition:
    transform var(--bcg-menu-asset-ms) var(--bcg-menu-ease),
    opacity .34s ease !important;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="close"] { transition-delay: .04s !important; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="brand"] { transition-delay: .07s !important; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="search"] { transition-delay: .12s !important; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="login"] { transition-delay: .16s !important; }
.bcg-fs-menu__body {
  padding-top: 4px !important;
  transform: translateY(16px) !important;
  transition: opacity .42s ease, transform .66s var(--bcg-menu-ease) !important;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__body,
.bcg-fs-menu.is-open .bcg-fs-menu__body {
  transform: translateY(0) !important;
  transition-delay: .26s !important;
}

@media (max-width: 1180px) {
  .bcg-fs-menu__topbar {
    grid-template-columns: 72px clamp(70px, 9vw, 110px) minmax(240px, 1fr) max-content !important;
    column-gap: 10px !important;
    padding-right: 18px !important;
  }
  .bcg-fs-menu__overlay-brand {
    max-width: 110px !important;
    font-size: clamp(23px, 2.6vw, 30px) !important;
  }
}

@media (max-width: 780px) {
  .bcg-fs-menu__topbar {
    grid-template-columns: 68px 1fr max-content !important;
    grid-template-areas:
      "close brand login"
      "search search search" !important;
    row-gap: 10px !important;
    min-height: 130px !important;
    height: auto !important;
    padding: 8px 12px 14px 0 !important;
  }
  .bcg-fs-menu__overlay-brand {
    grid-area: brand !important;
    width: auto !important;
    max-width: none !important;
    font-size: 24px !important;
    text-overflow: ellipsis !important;
  }
  .bcg-fs-menu__search { grid-area: search !important; height: 54px !important; margin-left: 12px !important; width: calc(100% - 12px) !important; }
  .bcg-fs-menu__login { grid-area: login !important; min-height: 56px !important; }
}

/* === v1.9.0: neutral default search icon, electric-blue hover, fast login, bottom-up content motion === */
:root {
  --bcg-menu-hover: #00a6ff;
  --bcg-menu-hover-soft: #e7f8ff;
  --bcg-menu-hover-line: rgba(0, 166, 255, .38);
  --bcg-menu-tile: #f3f2ef;
  --bcg-menu-search-border: #d4dad3;
  --bcg-menu-search-placeholder: #8d958f;
  --bcg-menu-ease: cubic-bezier(.16, 1, .3, 1);
  --bcg-menu-open-ms: 1180ms;
  --bcg-menu-close-ms: 920ms;
  --bcg-menu-asset-ms: 820ms;
}

/* Closed hamburger remains neutral by default; electric blue only on intentional hover/focus. */
.bcg-fs-menu__hamburger {
  background: var(--bcg-menu-tile) !important;
}
.bcg-fs-menu__hamburger span {
  background: var(--bcg-menu-ink) !important;
}
.bcg-fs-menu__trigger:hover .bcg-fs-menu__hamburger,
.bcg-fs-menu__trigger:focus-visible .bcg-fs-menu__hamburger {
  background: var(--bcg-menu-hover-soft) !important;
  transform: translateY(-1px) !important;
}
.bcg-fs-menu__trigger:hover .bcg-fs-menu__hamburger span,
.bcg-fs-menu__trigger:focus-visible .bcg-fs-menu__hamburger span {
  background: var(--bcg-menu-hover) !important;
}

/* Do NOT color the search icon just because the input has focus. Only color it when the icon itself is hovered/focused. */
.bcg-fs-menu__search-submit,
.bcg-fs-menu__search:hover .bcg-fs-menu__search-submit,
.bcg-fs-menu__search:focus-within .bcg-fs-menu__search-submit {
  background: transparent !important;
  color: var(--bcg-menu-ink) !important;
  transform: none !important;
}
.bcg-fs-menu__search:hover,
.bcg-fs-menu__search:focus-within {
  border-color: var(--bcg-menu-search-border) !important;
  box-shadow: none !important;
}
.bcg-fs-menu__search-submit:hover,
.bcg-fs-menu__search-submit:focus-visible {
  background: var(--bcg-menu-hover-soft) !important;
  color: var(--bcg-menu-hover) !important;
  transform: translateY(-1px) scale(1.015) !important;
  outline: none !important;
}
.bcg-fs-menu__search:has(.bcg-fs-menu__search-submit:hover),
.bcg-fs-menu__search:has(.bcg-fs-menu__search-submit:focus-visible) {
  border-color: var(--bcg-menu-hover-line) !important;
}

/* X, open login, closed login, and closed search all share the same electric-blue hover language. */
.bcg-fs-menu__close:hover,
.bcg-fs-menu__close:focus-visible {
  color: var(--bcg-menu-hover) !important;
  background: var(--bcg-menu-hover-soft) !important;
  outline: none !important;
  box-shadow: none !important;
}
.bcg-fs-menu__login:hover,
.bcg-fs-menu__login:focus-visible,
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login:hover,
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login:focus-visible {
  color: var(--bcg-menu-hover) !important;
  text-decoration-color: var(--bcg-menu-hover) !important;
  outline: none !important;
}
.bcg-fs-menu__closed-search:hover,
.bcg-fs-menu__closed-search:focus-visible {
  color: var(--bcg-menu-hover) !important;
  background: var(--bcg-menu-hover-soft) !important;
  border-radius: 12px !important;
  outline: none !important;
}

/* LOG IN should not be the slow item anymore. It appears with the other top assets. */
.bcg-fs-menu__top-asset[data-bcg-asset="login"] {
  transition:
    transform 560ms var(--bcg-menu-ease),
    opacity .22s ease,
    color .18s ease,
    text-decoration-color .18s ease !important;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="login"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="login"] {
  transition-delay: .05s, .05s, 0s, 0s !important;
}
.bcg-fs-menu.is-closing .bcg-fs-menu__closed-actions {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: none !important;
  transition-delay: .12s !important;
}

/* Top row still animates from the source, but the page content below the divider rises up from lower on the page. */
.bcg-fs-menu__body {
  opacity: 0 !important;
  transform: translateY(14vh) !important;
  transition:
    opacity .50s ease,
    transform .86s var(--bcg-menu-ease) !important;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__body,
.bcg-fs-menu.is-open .bcg-fs-menu__body {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition-delay: .28s !important;
}
.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__body,
.bcg-fs-menu.is-closing .bcg-fs-menu__body {
  opacity: 0 !important;
  transform: translateY(8vh) !important;
  transition-delay: 0s !important;
}

/* Redefine the internal content stagger so it clearly comes from below, not from a tiny nudge. */
@keyframes bcgMenuRailIn {
  from { opacity: 0; transform: translateY(76px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bcgMenuPanelIn {
  from { opacity: 0; transform: translateY(88px); }
  to { opacity: 1; transform: translateY(0); }
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__rail-group,
.bcg-fs-menu.is-open .bcg-fs-menu__rail-group {
  animation: bcgMenuRailIn .70s var(--bcg-menu-ease) both !important;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__panel-header,
.bcg-fs-menu.is-open .bcg-fs-menu__panel-header {
  animation: bcgMenuPanelIn .74s var(--bcg-menu-ease) .34s both !important;
}
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__link-grid,
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__columns,
.bcg-fs-menu.is-open .bcg-fs-menu__link-grid,
.bcg-fs-menu.is-open .bcg-fs-menu__columns {
  animation: bcgMenuPanelIn .78s var(--bcg-menu-ease) .42s both !important;
}

/* === v1.9.1: green hover + closer BCG desktop spacing === */
:root {
  /* swap temporary blue hover back to BCG-style green */
  --bcg-menu-hover: #155c34;
  --bcg-menu-hover-soft: #a8ff72;
  --bcg-menu-hover-line: rgba(21, 92, 52, .38);
  --bcg-menu-search-border: #d7ddd5;
  --bcg-menu-search-placeholder: #8a928c;
  --bcg-menu-tile: #f3f2ef;
  --bcg-menu-topbar-h: 78px;
}

/* Closed-state hamburger: neutral until hover, then green. */
.bcg-fs-menu__hamburger {
  background: var(--bcg-menu-tile) !important;
}
.bcg-fs-menu__trigger:hover .bcg-fs-menu__hamburger,
.bcg-fs-menu__trigger:focus-visible .bcg-fs-menu__hamburger {
  background: var(--bcg-menu-hover-soft) !important;
}
.bcg-fs-menu__trigger:hover .bcg-fs-menu__hamburger span,
.bcg-fs-menu__trigger:focus-visible .bcg-fs-menu__hamburger span {
  background: var(--bcg-menu-ink) !important;
}

/* Desktop top row: closer to BCG's proportions. */
.bcg-fs-menu__topbar {
  grid-template-columns: 76px minmax(82px, max-content) minmax(360px, 1fr) max-content !important;
  column-gap: 16px !important;
  min-height: var(--bcg-menu-topbar-h) !important;
  height: var(--bcg-menu-topbar-h) !important;
  padding: 9px 36px 9px 0 !important;
  align-items: center !important;
}

.bcg-fs-menu__close {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin-left: 10px !important;
  border-radius: 16px !important;
  background: var(--bcg-menu-tile) !important;
}
.bcg-fs-menu__close:hover,
.bcg-fs-menu__close:focus-visible {
  color: var(--bcg-menu-hover) !important;
  background: var(--bcg-menu-hover-soft) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Brand area should fit YourCo while still keeping BCG-like breathing room. */
.bcg-fs-menu__overlay-brand {
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 180px !important;
  overflow: visible !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  margin-right: 2px !important;
}

/* Search: visible soft-gray pill stroke, no green unless the icon itself is hovered/focused. */
.bcg-fs-menu__search {
  height: 56px !important;
  border: 1px solid var(--bcg-menu-search-border) !important;
  box-shadow: inset 0 0 0 1px rgba(16, 37, 26, .018) !important;
  border-radius: 18px !important;
  background: #fff !important;
  max-width: none !important;
}
.bcg-fs-menu__search:hover,
.bcg-fs-menu__search:focus-within {
  border-color: var(--bcg-menu-search-border) !important;
  box-shadow: inset 0 0 0 1px rgba(16, 37, 26, .026) !important;
}
.bcg-fs-menu__search-submit,
.bcg-fs-menu__search:hover .bcg-fs-menu__search-submit,
.bcg-fs-menu__search:focus-within .bcg-fs-menu__search-submit {
  background: transparent !important;
  color: var(--bcg-menu-ink) !important;
  transform: none !important;
}
.bcg-fs-menu__search-submit:hover,
.bcg-fs-menu__search-submit:focus-visible {
  background: var(--bcg-menu-hover-soft) !important;
  color: var(--bcg-menu-hover) !important;
  transform: translateY(-1px) scale(1.015) !important;
  outline: none !important;
}
.bcg-fs-menu__search:has(.bcg-fs-menu__search-submit:hover),
.bcg-fs-menu__search:has(.bcg-fs-menu__search-submit:focus-visible) {
  border-color: var(--bcg-menu-hover-line) !important;
}
.bcg-fs-menu__search input::placeholder,
.bcg-fs-menu__search input[type="search"]::placeholder {
  color: var(--bcg-menu-search-placeholder) !important;
}

/* LOG IN and closed search hover/focus use the same green language. */
.bcg-fs-menu__login:hover,
.bcg-fs-menu__login:focus-visible,
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login:hover,
.bcg-fs-menu__closed-actions .bcg-fs-menu__closed-login:focus-visible,
.bcg-fs-menu__closed-search:hover,
.bcg-fs-menu__closed-search:focus-visible {
  color: var(--bcg-menu-hover) !important;
  text-decoration-color: var(--bcg-menu-hover) !important;
  outline: none !important;
}
.bcg-fs-menu__closed-search:hover,
.bcg-fs-menu__closed-search:focus-visible {
  background: var(--bcg-menu-hover-soft) !important;
  border-radius: 12px !important;
}

/* BCG desktop spacing: left rail is wider; panel starts farther right. */
@media (min-width: 1025px) {
  .bcg-fs-menu__body {
    grid-template-columns: minmax(448px, 476px) minmax(0, 1fr) !important;
    padding-top: 0 !important;
  }
  .bcg-fs-menu__rail-group {
    padding: 24px 14px 18px !important;
  }
  .bcg-fs-menu__rail-group:first-child {
    padding-top: 24px !important;
  }
  .bcg-fs-menu__rail-section {
    padding-left: 22px !important;
    padding-right: 18px !important;
    padding-bottom: 16px !important;
  }
  .bcg-fs-menu__rail-item {
    padding: 15px 24px !important;
    border-radius: 13px !important;
  }
  .bcg-fs-menu__panel-header {
    padding: 20px 32px 20px !important;
    margin-bottom: 22px !important;
    max-width: 952px !important;
  }
  .bcg-fs-menu__link-grid,
  .bcg-fs-menu__columns {
    padding-left: 32px !important;
    padding-right: 32px !important;
    max-width: 980px !important;
  }
}

@media (max-width: 1180px) {
  .bcg-fs-menu__topbar {
    grid-template-columns: 72px minmax(78px, max-content) minmax(240px, 1fr) max-content !important;
    column-gap: 12px !important;
    padding-right: 22px !important;
  }
  .bcg-fs-menu__overlay-brand {
    max-width: 160px !important;
  }
  .bcg-fs-menu__body {
    grid-template-columns: minmax(396px, 30vw) minmax(0, 1fr) !important;
  }
}

@media (max-width: 780px) {
  .bcg-fs-menu__body {
    grid-template-columns: 1fr !important;
  }
  .bcg-fs-menu__topbar {
    grid-template-columns: 68px 1fr max-content !important;
    grid-template-areas:
      "close brand login"
      "search search search" !important;
    min-height: 130px !important;
    height: auto !important;
  }
  .bcg-fs-menu__overlay-brand {
    max-width: none !important;
  }
}

/* === v1.9.2: backend menu indentation + BCG-ish typography pass === */
:root {
  --bcg-menu-hover: #155c34;
  --bcg-menu-hover-soft: #a8ff72;
  --bcg-menu-hover-line: rgba(21, 92, 52, .38);
  --bcg-menu-font: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bcg-menu-rail-section-size: clamp(22px, 1.32vw, 26px);
  --bcg-menu-rail-item-size: clamp(18px, 1.04vw, 20px);
  --bcg-menu-panel-title-size: clamp(20px, 1.28vw, 24px);
}

.bcg-fs-menu,
.bcg-fs-menu *,
.bcg-fs-menu__overlay,
.bcg-fs-menu__overlay * {
  font-family: var(--bcg-menu-font) !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Desktop left rail: parent headings sit near the rail edge; pages/categories underneath are visibly indented. */
@media (min-width: 1025px) {
  .bcg-fs-menu__body {
    grid-template-columns: minmax(448px, 476px) minmax(0, 1fr) !important;
  }

  .bcg-fs-menu__rail-group {
    padding: 26px 14px 20px 0 !important;
    border-bottom-color: rgba(16, 37, 26, .125) !important;
  }

  .bcg-fs-menu__rail-group:first-child {
    padding-top: 24px !important;
  }

  .bcg-fs-menu__rail-section {
    padding: 0 18px 16px 30px !important;
    font-size: var(--bcg-menu-rail-section-size) !important;
    font-weight: 520 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.018em !important;
  }

  .bcg-fs-menu__rail-section--link {
    padding: 0 18px 0 30px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
  }

  .bcg-fs-menu__rail-subitems {
    display: grid !important;
    gap: 4px !important;
    padding: 0 0 0 14px !important;
  }

  .bcg-fs-menu__rail-item {
    min-height: 49px !important;
    padding: 13px 22px 13px 42px !important;
    border-radius: 13px !important;
    font-size: var(--bcg-menu-rail-item-size) !important;
    font-weight: 430 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.006em !important;
  }

  .bcg-fs-menu__rail-item.is-active,
  .bcg-fs-menu__rail-item:hover,
  .bcg-fs-menu__rail-item:focus-visible {
    background: #f3f4f1 !important;
  }

  .bcg-fs-menu__panel-header {
    padding: 22px 32px 20px !important;
    margin-bottom: 22px !important;
  }

  .bcg-fs-menu__panel-header h2 {
    font-size: var(--bcg-menu-panel-title-size) !important;
    font-weight: 560 !important;
    letter-spacing: -0.014em !important;
    line-height: 1.12 !important;
  }

  .bcg-fs-menu__panel-header p {
    font-size: clamp(14px, .88vw, 16px) !important;
    line-height: 1.32 !important;
    letter-spacing: -0.003em !important;
  }

  .bcg-fs-menu__link-grid a,
  .bcg-fs-menu__column a {
    min-height: 42px !important;
    font-size: clamp(17px, 1.04vw, 20px) !important;
    font-weight: 430 !important;
    line-height: 1.17 !important;
    letter-spacing: -0.006em !important;
  }
}

/* Medium widths: keep the same hierarchy, just reduce the rail width. */
@media (min-width: 781px) and (max-width: 1180px) {
  .bcg-fs-menu__body {
    grid-template-columns: minmax(396px, 31vw) minmax(0, 1fr) !important;
  }

  .bcg-fs-menu__rail-section {
    padding-left: 30px !important;
  }

  .bcg-fs-menu__rail-subitems {
    padding-left: 14px !important;
  }

  .bcg-fs-menu__rail-item {
    padding-left: 42px !important;
  }
}

/* Mobile/tablet: the rail becomes horizontal, so indentation becomes compact but still hierarchical. */
@media (max-width: 780px) {
  .bcg-fs-menu__rail-section {
    font-weight: 650 !important;
    letter-spacing: -0.012em !important;
  }

  .bcg-fs-menu__rail-subitems {
    padding-left: 6px !important;
  }

  .bcg-fs-menu__rail-item {
    padding-left: 18px !important;
    font-weight: 450 !important;
    letter-spacing: -0.006em !important;
  }
}

/* === v1.9.3: compact BCG-style rail density so more items fit before scrolling === */
:root {
  --bcg-menu-font: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bcg-menu-rail-section-size: clamp(21px, 1.22vw, 24px);
  --bcg-menu-rail-item-size: clamp(17px, .98vw, 19px);
  --bcg-menu-panel-title-size: clamp(19px, 1.18vw, 23px);
}

/* Slightly tighter text rendering. This keeps the BCG-ish feel but prevents the left rail from eating vertical space. */
.bcg-fs-menu__rail,
.bcg-fs-menu__panels {
  font-family: var(--bcg-menu-font) !important;
  font-feature-settings: "kern" 1, "liga" 1 !important;
}

@media (min-width: 1025px) {
  /* Keep the BCG-width rail, but reduce vertical padding so extra sections/features fit without immediate scroll. */
  .bcg-fs-menu__body {
    grid-template-columns: minmax(448px, 476px) minmax(0, 1fr) !important;
  }

  .bcg-fs-menu__rail-group {
    padding: 20px 14px 15px 0 !important;
    border-bottom-color: rgba(16, 37, 26, .12) !important;
  }

  .bcg-fs-menu__rail-group:first-child {
    padding-top: 20px !important;
  }

  .bcg-fs-menu__rail-section {
    padding: 0 18px 11px 30px !important;
    font-size: var(--bcg-menu-rail-section-size) !important;
    font-weight: 520 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.026em !important;
  }

  .bcg-fs-menu__rail-section--link {
    padding: 0 18px 0 30px !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
  }

  .bcg-fs-menu__rail-subitems {
    gap: 2px !important;
    padding-left: 14px !important;
  }

  .bcg-fs-menu__rail-item {
    min-height: 42px !important;
    padding: 10px 22px 10px 42px !important;
    border-radius: 13px !important;
    font-size: var(--bcg-menu-rail-item-size) !important;
    font-weight: 430 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.014em !important;
  }

  .bcg-fs-menu__rail-item:hover {
    transform: translateX(2px) !important;
  }

  .bcg-fs-menu__welcome {
    left: 76px !important;
    bottom: 28px !important;
    font-size: clamp(12px, .86vw, 15px) !important;
    letter-spacing: .15em !important;
  }

  /* Right panel density gets a small matching trim so the header/list aligns with the tighter rail. */
  .bcg-fs-menu__panel-header {
    padding: 18px 32px 17px !important;
    margin-bottom: 16px !important;
    max-width: 952px !important;
  }

  .bcg-fs-menu__panel-header h2 {
    font-size: var(--bcg-menu-panel-title-size) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.022em !important;
  }

  .bcg-fs-menu__panel-header p {
    font-size: clamp(14px, .84vw, 15px) !important;
    line-height: 1.28 !important;
    letter-spacing: -0.006em !important;
  }

  .bcg-fs-menu__link-grid,
  .bcg-fs-menu__columns {
    padding-left: 32px !important;
    padding-right: 32px !important;
    padding-bottom: 36px !important;
    max-width: 980px !important;
  }

  .bcg-fs-menu__link-grid a,
  .bcg-fs-menu__column a {
    min-height: 38px !important;
    font-size: clamp(16px, .98vw, 18px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
  }
}

@media (min-width: 781px) and (max-width: 1180px) {
  .bcg-fs-menu__rail-group {
    padding-top: 18px !important;
    padding-bottom: 14px !important;
  }
  .bcg-fs-menu__rail-section {
    padding-bottom: 10px !important;
    font-size: clamp(20px, 2vw, 23px) !important;
  }
  .bcg-fs-menu__rail-item {
    min-height: 40px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    font-size: clamp(16px, 1.65vw, 18px) !important;
  }
}

@media (max-width: 780px) {
  .bcg-fs-menu__rail-group {
    padding: 0 !important;
  }
  .bcg-fs-menu__rail-item {
    min-height: 40px !important;
  }
}


/* === v1.9.5: revert to v1.9.3 density + softer closed-state shadows === */
:root {
  --bcg-menu-shadow: 0 8px 18px rgba(0, 0, 0, 0.075);
}

.bcg-fs-menu__trigger,
.bcg-fs-menu__closed-actions {
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.075) !important;
}

.bcg-fs-menu__trigger:hover,
.bcg-fs-menu__trigger:focus-visible,
.bcg-fs-menu__closed-actions:hover,
.bcg-fs-menu__closed-actions:focus-within {
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.10) !important;
}

/* Keep the actual hamburger tile flat/subtle; only color changes on hover. */
.bcg-fs-menu__hamburger {
  box-shadow: none !important;
}


/* === v1.9.7: source-video-inspired motion pass + deterministic default panel ===
   Keeps the preferred v1.9.5 layout/density, but improves opening/closing motion.
   The top assets resolve first; the left rail and right panel then rise upward into place.
*/
:root {
  --bcg-menu-ease: cubic-bezier(.17, .86, .24, 1);
  --bcg-menu-open-ms: 860ms;
  --bcg-menu-close-ms: 720ms;
  --bcg-menu-asset-ms: 620ms;
  --bcg-menu-body-ms: 720ms;
}

.bcg-fs-menu__overlay {
  transition:
    clip-path var(--bcg-menu-open-ms) var(--bcg-menu-ease),
    opacity .30s ease,
    visibility 0s linear var(--bcg-menu-open-ms) !important;
}

.bcg-fs-menu__overlay.is-open,
.bcg-fs-menu.is-open .bcg-fs-menu__overlay {
  transition:
    clip-path var(--bcg-menu-open-ms) var(--bcg-menu-ease),
    opacity .22s ease,
    visibility 0s !important;
}

.bcg-fs-menu__overlay.is-closing,
.bcg-fs-menu.is-closing .bcg-fs-menu__overlay {
  transition:
    clip-path var(--bcg-menu-close-ms) var(--bcg-menu-ease),
    opacity .28s ease .08s,
    visibility 0s !important;
}

/* Top controls: quicker, intentional stagger. */
.bcg-fs-menu__top-asset {
  transition:
    transform var(--bcg-menu-asset-ms) var(--bcg-menu-ease),
    opacity .24s ease !important;
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="close"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="close"] { transition-delay: .025s !important; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="brand"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="brand"] { transition-delay: .045s !important; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="search"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="search"] { transition-delay: .085s !important; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__top-asset[data-bcg-asset="login"],
.bcg-fs-menu.is-open .bcg-fs-menu__top-asset[data-bcg-asset="login"] { transition-delay: .10s !important; }

.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__top-asset,
.bcg-fs-menu.is-closing .bcg-fs-menu__top-asset {
  transition-duration: 480ms, 180ms !important;
  transition-delay: 0s !important;
}

/* Body reveal: menus start lower and sweep upward under the already-resolved top bar. */
.bcg-fs-menu__body {
  opacity: 0 !important;
  transform: translate3d(0, 74px, 0) !important;
  clip-path: inset(58px 0 0 0) !important;
  transform-origin: top center !important;
  will-change: transform, opacity, clip-path !important;
  transition:
    transform var(--bcg-menu-body-ms) var(--bcg-menu-ease),
    opacity .36s ease,
    clip-path var(--bcg-menu-body-ms) var(--bcg-menu-ease) !important;
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__body,
.bcg-fs-menu.is-open .bcg-fs-menu__body {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  clip-path: inset(0 0 0 0) !important;
  transition-delay: .12s, .12s, .12s !important;
}

.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__body,
.bcg-fs-menu.is-closing .bcg-fs-menu__body {
  opacity: 0 !important;
  transform: translate3d(0, 46px, 0) !important;
  clip-path: inset(42px 0 0 0) !important;
  transition-duration: 440ms, 180ms, 440ms !important;
  transition-delay: 0s !important;
}

/* Layered lift gives the source-site feel without changing the layout. */
.bcg-fs-menu__rail,
.bcg-fs-menu__panels {
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  transition: transform 620ms var(--bcg-menu-ease), opacity 300ms ease;
  will-change: transform, opacity;
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__rail,
.bcg-fs-menu.is-open .bcg-fs-menu__rail {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: .16s;
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__panels,
.bcg-fs-menu.is-open .bcg-fs-menu__panels {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: .20s;
}

.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__rail,
.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__panels,
.bcg-fs-menu.is-closing .bcg-fs-menu__rail,
.bcg-fs-menu.is-closing .bcg-fs-menu__panels {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition-duration: 320ms, 160ms;
  transition-delay: 0s;
}

/* Panel changes remain quick, but never blank on initial open. */
.bcg-fs-menu__panel { animation: bcgPanelIn196 .34s var(--bcg-menu-ease) both !important; }
@keyframes bcgPanelIn196 {
  from { opacity: 0; transform: translate3d(0, 14px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .bcg-fs-menu__overlay,
  .bcg-fs-menu__top-asset,
  .bcg-fs-menu__body,
  .bcg-fs-menu__rail,
  .bcg-fs-menu__panels,
  .bcg-fs-menu__panel {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}

/* === v1.9.7: full-height bottom-sheet motion ===
   The top row still settles first, but the entire menu body below the divider
   now begins at the bottom edge of the viewport and slides upward into place.
   This is intentionally stronger than the v1.9.6 short lift.
*/
:root {
  --bcg-menu-body-open-ms: 920ms;
  --bcg-menu-body-close-ms: 680ms;
  --bcg-menu-body-offscreen-y: calc(100dvh - var(--bcg-menu-admin-offset, 0px) - var(--bcg-menu-topbar-h, 64px) + 12px);
}

.bcg-fs-menu__body {
  opacity: 1 !important;
  transform: translate3d(0, var(--bcg-menu-body-offscreen-y), 0) !important;
  clip-path: none !important;
  transform-origin: bottom center !important;
  will-change: transform !important;
  transition: transform var(--bcg-menu-body-open-ms) cubic-bezier(.16, .84, .20, 1) !important;
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__body,
.bcg-fs-menu.is-open .bcg-fs-menu__body {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  clip-path: none !important;
  transition-delay: .085s !important;
}

.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__body,
.bcg-fs-menu.is-closing .bcg-fs-menu__body {
  opacity: 1 !important;
  transform: translate3d(0, var(--bcg-menu-body-offscreen-y), 0) !important;
  clip-path: none !important;
  transition-duration: var(--bcg-menu-body-close-ms) !important;
  transition-delay: 0s !important;
}

/* Let the moving sheet carry the motion; keep internal content stagger subtle. */
.bcg-fs-menu__rail,
.bcg-fs-menu__panels {
  transform: translate3d(0, 10px, 0) !important;
  transition: transform 520ms var(--bcg-menu-ease), opacity 240ms ease !important;
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__rail,
.bcg-fs-menu.is-open .bcg-fs-menu__rail,
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__panels,
.bcg-fs-menu.is-open .bcg-fs-menu__panels {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.bcg-fs-menu__overlay.is-open .bcg-fs-menu__rail,
.bcg-fs-menu.is-open .bcg-fs-menu__rail { transition-delay: .18s !important; }
.bcg-fs-menu__overlay.is-open .bcg-fs-menu__panels,
.bcg-fs-menu.is-open .bcg-fs-menu__panels { transition-delay: .23s !important; }

.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__rail,
.bcg-fs-menu__overlay.is-closing .bcg-fs-menu__panels,
.bcg-fs-menu.is-closing .bcg-fs-menu__rail,
.bcg-fs-menu.is-closing .bcg-fs-menu__panels {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) !important;
  transition-duration: 180ms, 140ms !important;
  transition-delay: 0s !important;
}

@supports not (height: 100dvh) {
  :root { --bcg-menu-body-offscreen-y: calc(100vh - var(--bcg-menu-admin-offset, 0px) - var(--bcg-menu-topbar-h, 64px) + 12px); }
}
