/* The Starving Brain - centered logo + left Learn More dropdown */

#masthead,
.site-header {
  position: sticky !important;
  top: var(--wp-admin--admin-bar--height, 0px) !important;
  z-index: 99999 !important;
  background: #0A1F3D !important;
  overflow: visible !important;
}

/* Header bar */
.ast-above-header-bar {
  height: 82px !important;
  min-height: 82px !important;
  max-height: 82px !important;
  background: #0A1F3D !important;
  border-bottom: 3px solid #0D2B52 !important;
  overflow: visible !important;
  position: relative !important;
}

.ast-above-header-bar .site-above-header-wrap,
.ast-above-header-bar .ast-builder-grid-row {
  height: 82px !important;
  min-height: 82px !important;
  max-height: 82px !important;
  width: 100% !important;
  overflow: visible !important;
  position: relative !important;
}

/* Flatten Astra row so we can place menu/logo cleanly */
.ast-above-header-bar .ast-builder-grid-row {
  display: block !important;
}

/* Keep header sections available */
.ast-above-header-bar .site-header-above-section-left,
.ast-above-header-bar .site-header-above-section-center,
.ast-above-header-bar .site-header-above-section-right {
  display: block !important;
  height: 82px !important;
  min-height: 82px !important;
  overflow: visible !important;
}

/* Hide title/tagline/custom HTML clutter */
.ast-above-header-bar .ast-header-html-1,
.ast-above-header-bar .ast-header-html-2,
.ast-above-header-bar .ast-builder-html-element,
.ast-above-header-bar .site-title,
.ast-above-header-bar .site-title a,
.ast-above-header-bar .site-description,
.ast-above-header-bar .ast-site-title-wrap {
  display: none !important;
}

/* Menu: centered in the left half of the header */
.ast-above-header-bar .ast-builder-menu,
.ast-above-header-bar .ast-builder-menu-1,
.ast-above-header-bar .main-header-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 82px !important;
  width: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 100001 !important;
  overflow: visible !important;
}

/* Top level item */
.ast-above-header-bar .main-header-menu > li {
  display: inline-flex !important;
  align-items: center !important;
  height: 82px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

/* Top level link */
.ast-above-header-bar .main-header-menu > li > a,
.ast-above-header-bar .main-header-menu > li > .menu-link {
  display: inline-flex !important;
  align-items: center !important;
  height: 82px !important;
  line-height: 82px !important;
  padding: 0 !important;
  color: #FAFAF8 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.ast-above-header-bar .main-header-menu > li > a:hover,
.ast-above-header-bar .main-header-menu > li > .menu-link:hover,
.ast-above-header-bar .main-header-menu > li.current-menu-item > a,
.ast-above-header-bar .main-header-menu > li.current-menu-item > .menu-link {
  color: #9AE83A !important;
}

/* Dropdown panel */
.ast-above-header-bar .main-header-menu .sub-menu {
  display: block !important;
  position: absolute !important;
  top: 82px !important;
  left: 50% !important;
  min-width: 330px !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  list-style: none !important;
  background: #0A1F3D !important;
  border: 1px solid #0D2B52 !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.32) !important;
  transform: translate(-50%, 8px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
  z-index: 100006 !important;
}

/* Show dropdown on hover/focus */
.ast-above-header-bar .main-header-menu li:hover > .sub-menu,
.ast-above-header-bar .main-header-menu li:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
}

/* Dropdown items */
.ast-above-header-bar .main-header-menu .sub-menu li {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ast-above-header-bar .main-header-menu .sub-menu a,
.ast-above-header-bar .main-header-menu .sub-menu .menu-link {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  line-height: 1.35 !important;
  padding: 12px 18px !important;
  color: #FAFAF8 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

.ast-above-header-bar .main-header-menu .sub-menu a:hover,
.ast-above-header-bar .main-header-menu .sub-menu .menu-link:hover {
  color: #9AE83A !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

/* Centered logo/home link */
.ast-above-header-bar .ast-site-identity,
.ast-above-header-bar .site-logo-img {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: auto !important;
  z-index: 100004 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.ast-above-header-bar .ast-site-identity a,
.ast-above-header-bar .site-logo-img a,
.ast-above-header-bar .custom-logo-link {
  display: block !important;
  position: relative !important;
  z-index: 100005 !important;
  pointer-events: auto !important;
}

/* Logo image */
.ast-above-header-bar img,
.ast-above-header-bar .custom-logo {
  display: block !important;
  width: 104px !important;
  height: 104px !important;
  max-width: 104px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  background: #FAFAF8 !important;
  border: 4px solid rgba(250, 250, 248, 0.75) !important;
  box-shadow:
    0 2px 4px rgba(250, 250, 248, 0.45) inset,
    0 -2px 5px rgba(10, 31, 61, 0.35) inset,
    0 8px 18px rgba(10, 31, 61, 0.75) !important;
  transform: translateY(36%) !important;
  position: relative !important;
  z-index: 100005 !important;
}

/* Remove page offsets from prior attempts */
body:not(.elementor-editor-active) .site-content,
body:not(.elementor-editor-active) #content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
  .ast-above-header-bar,
  .ast-above-header-bar .site-above-header-wrap,
  .ast-above-header-bar .ast-builder-grid-row,
  .ast-above-header-bar .site-header-above-section-left,
  .ast-above-header-bar .site-header-above-section-center,
  .ast-above-header-bar .site-header-above-section-right {
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  .ast-above-header-bar .ast-builder-menu,
  .ast-above-header-bar .ast-builder-menu-1,
  .ast-above-header-bar .main-header-menu {
    height: 68px !important;
    width: calc(50% - 44px) !important;
    left: 0 !important;
    justify-content: center !important;
  }

  .ast-above-header-bar .main-header-menu > li,
  .ast-above-header-bar .main-header-menu > li > a,
  .ast-above-header-bar .main-header-menu > li > .menu-link {
    height: 68px !important;
    line-height: 68px !important;
  }

  .ast-above-header-bar .main-header-menu > li > a,
  .ast-above-header-bar .main-header-menu > li > .menu-link {
    font-size: 10px !important;
    letter-spacing: 0.06em !important;
  }

  .ast-above-header-bar .main-header-menu .sub-menu {
    top: 68px !important;
    left: 0 !important;
    min-width: 250px !important;
    transform: translateY(8px) !important;
  }

  .ast-above-header-bar .main-header-menu li:hover > .sub-menu,
  .ast-above-header-bar .main-header-menu li:focus-within > .sub-menu {
    transform: translateY(0) !important;
  }

  .ast-above-header-bar .main-header-menu .sub-menu a,
  .ast-above-header-bar .main-header-menu .sub-menu .menu-link {
    font-size: 10px !important;
    padding: 11px 14px !important;
  }

  .ast-above-header-bar img,
  .ast-above-header-bar .custom-logo {
    width: 78px !important;
    height: 78px !important;
    max-width: 78px !important;
    border-width: 5px !important;
    transform: translateY(22%) !important;
  }
}

/* Move Learn More dropdown closer to the center/logo */
.ast-above-header-bar .main-header-menu .sub-menu {
  left: 50% !important;
  transform: translate(10%, 8px) !important;
}

.ast-above-header-bar .main-header-menu li:hover > .sub-menu,
.ast-above-header-bar .main-header-menu li:focus-within > .sub-menu {
  transform: translate(10%, 0) !important;
}
.tsb-full-width {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
}

.elementor-element.tsb-page-width {
  --width: 85vw !important;
  --max-width: 85vw !important;
  width: 85vw !important;
  max-width: 85vw !important;
  flex: 0 0 85vw !important;
  position: relative;
  left: 50%;
  margin-left: -42.5vw !important;
  margin-right: 0 !important;
}

@media (max-width: 600px) {
  .elementor-element.tsb-page-width {
    --width: 94vw !important;
    --max-width: 94vw !important;
    width: 94vw !important;
    max-width: 94vw !important;
    flex-basis: 94vw !important;
    margin-left: -47vw !important;
  }
}


/*
 * SAFE ASTRA HEADER APPEARANCE ADD-ON
 * Add after the original header CSS.
 * This intentionally does not alter header/logo geometry or page spacing.
 */

/* Desktop: color only the original above-header row. */
#masthead,
#masthead .ast-above-header-bar,
#masthead .ast-above-header-bar .site-above-header-wrap {
  background-color: #0a1f3d !important;
  background-image: none !important;
  border-color: #0d2b52 !important;
}

/* Embossed finish on the existing circular logo—no size or position changes. */
#masthead .custom-logo {
  border-radius: 50% !important;
  background: linear-gradient(
    145deg,
    #ffffff 0%,
    #f8fafc 50%,
    #dfe7f0 100%
  ) !important;
  box-shadow:
    inset 2px 2px 4px rgba(255, 255, 255, 1),
    inset -3px -3px 5px rgba(10, 31, 61, 0.22),
    0 8px 18px rgba(10, 31, 61, 0.75) !important;
}

@media (max-width: 767px) {
  /* Navy page shell behind all individual content sections. */
  html,
  body,
  #page,
  .site,
  #content,
  .site-content,
  .content-area,
  .entry-content {
    background-color: #0a1f3d !important;
  }

  /* Mobile: Astra uses its separate mobile/primary-header row. */
  #masthead,
  #masthead .ast-mobile-header-wrap,
  #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
  #masthead .ast-mobile-header-wrap .ast-above-header-bar,
  #masthead .ast-mobile-header-wrap .site-primary-header-wrap,
  #masthead .ast-mobile-header-wrap .ast-builder-grid-row {
    position: relative !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
    background-color: #0a1f3d !important;
    background-image: none !important;
    border-color: #0d2b52 !important;
  }

  /* Fix one compact bar to the viewport. */
  #masthead {
    position: fixed !important;
    top: var(--wp-admin--admin-bar--height, 0px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 99999 !important;
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    overflow: visible !important;
  }

  /* Astra can render above- and primary-header rows together on mobile.
     Overlay them instead of allowing them to stack vertically. */
  #masthead .ast-mobile-header-wrap {
    position: relative !important;
    width: 100% !important;
    height: 58px !important;
    overflow: visible !important;
  }

  #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
  #masthead .ast-mobile-header-wrap .ast-above-header-bar {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 58px !important;
  }

  /* Prevent the branding content from making the bar hundreds of pixels tall. */
  #masthead .ast-mobile-header-wrap .site-branding,
  #masthead .ast-mobile-header-wrap .ast-site-identity,
  #masthead .ast-mobile-header-wrap .site-logo-img {
    position: absolute !important;
    top: 8px !important;
    left: 22px !important;
    z-index: 1002 !important;
    display: block !important;
    width: 84px !important;
    height: 84px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  /* The title/tagline caused the large navy block seen in the screenshot. */
  #masthead .ast-mobile-header-wrap .site-title,
  #masthead .ast-mobile-header-wrap .site-title a,
  #masthead .ast-mobile-header-wrap .site-description,
  #masthead .ast-mobile-header-wrap .ast-site-title-wrap {
    display: none !important;
  }

  /* A true circular logo that overlaps the bottom of the 58px bar. */
  #masthead .ast-mobile-header-wrap .custom-logo-link,
  #masthead .ast-mobile-header-wrap .custom-logo {
    display: block !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    aspect-ratio: 1 / 1 !important;
    transform: none !important;
  }

  /* Pin the hamburger inside the compact bar. */
  #masthead .ast-mobile-header-wrap .ast-mobile-menu-trigger-minimal,
  #masthead .ast-mobile-header-wrap .ast-button-wrap {
    position: absolute !important;
    top: 7px !important;
    right: 18px !important;
    z-index: 1003 !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Remove only the hamburger's white box. */
  #masthead .ast-mobile-header-wrap .ast-button-wrap,
  #masthead .ast-mobile-header-wrap .menu-toggle,
  #masthead .ast-mobile-header-wrap .mobile-menu-toggle-icon {
    border: 0 !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* White embossed hamburger lines. */
  #masthead .ast-mobile-header-wrap .menu-toggle,
  #masthead .ast-mobile-header-wrap .menu-toggle .mobile-menu-toggle-icon,
  #masthead .ast-mobile-header-wrap .menu-toggle svg,
  #masthead .ast-mobile-header-wrap .menu-toggle svg path {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    filter:
      drop-shadow(0 1px 0 rgba(255, 255, 255, 0.35))
      drop-shadow(0 3px 2px rgba(0, 0, 0, 0.48));
  }

  /* Match the opened mobile menu to the header. */
  #masthead .ast-mobile-header-content,
  #masthead .ast-mobile-header-content .main-header-menu,
  #masthead .ast-mobile-header-content .sub-menu {
    background-color: #0a1f3d !important;
    background-image: none !important;
    border-color: #0d2b52 !important;
  }

  #masthead .ast-mobile-header-content .menu-link {
    color: #fafaf8 !important;
  }

  #masthead .ast-mobile-header-content .menu-link:hover,
  #masthead .ast-mobile-header-content .current-menu-item > .menu-link {
    color: #9ae83a !important;
    background-color: rgba(255, 255, 255, 0.04) !important;
  }

  /* A fixed 58px bar plus 34px of logo overhang requires 92px clearance. */
  body:not(.elementor-editor-active) #content,
  body:not(.elementor-editor-active) .site-content {
    margin-top: 0 !important;
    padding-top: 92px !important;
  }
}



/*
 * SAFE ASTRA HEADER APPEARANCE ADD-ON
 * Add after the original header CSS.
 * This intentionally does not alter header/logo geometry or page spacing.
 */

/* Desktop: color only the original above-header row. */
#masthead,
#masthead .ast-above-header-bar,
#masthead .ast-above-header-bar .site-above-header-wrap {
  background-color: #0a1f3d !important;
  background-image: none !important;
  border-color: #0d2b52 !important;
}

/* Embossed finish on the existing circular logo—no size or position changes. */
#masthead .custom-logo {
  border-radius: 50% !important;
  background: linear-gradient(
    145deg,
    #ffffff 0%,
    #f8fafc 50%,
    #dfe7f0 100%
  ) !important;
  box-shadow:
    inset 2px 2px 4px rgba(255, 255, 255, 1),
    inset -3px -3px 5px rgba(10, 31, 61, 0.22),
    0 8px 18px rgba(10, 31, 61, 0.75) !important;
}

/* Curved white title above the circular logo. */
#masthead .custom-logo-link {
  position: relative !important;
  display: block !important;
  overflow: visible !important;
}

#masthead .custom-logo-link::before {
  position: absolute;
  top: -14px;
  left: 50%;
  z-index: 100006;
  width: 146px;
  height: 90px;
  content: "";
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 146 90'%3E%3Cdefs%3E%3Cpath id='titleArc' d='M 15 76 A 58 58 0 0 1 131 76'/%3E%3C/defs%3E%3Ctext fill='%23ffffff' font-family='Arial,sans-serif' font-size='11' font-weight='700' letter-spacing='1.2'%3E%3CtextPath href='%23titleArc' startOffset='50%25' text-anchor='middle'%3ETHE STARVING BRAIN%3C/textPath%3E%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.55));
  transform: translateX(-50%);
}

/* Anchor the desktop arc to the exact 104px logo circle, not Astra's wrapper. */
@media (min-width: 1025px) {
  #masthead .ast-above-header-bar .custom-logo-link {
    position: relative !important;
    display: block !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* On desktop, center the arc from the full-width bar itself. */
  #masthead .ast-above-header-bar .custom-logo-link::before {
    display: none !important;
  }

  #masthead .ast-above-header-bar::after {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    z-index: 100006 !important;
    display: block !important;
    width: 146px !important;
    height: 90px !important;
    content: "" !important;
    pointer-events: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 146 90'%3E%3Cdefs%3E%3Cpath id='titleArc' d='M 15 76 A 58 58 0 0 1 131 76'/%3E%3C/defs%3E%3Ctext fill='%23ffffff' font-family='Arial,sans-serif' font-size='11' font-weight='700' letter-spacing='1.2'%3E%3CtextPath href='%23titleArc' startOffset='50%25' text-anchor='middle'%3ETHE STARVING BRAIN%3C/textPath%3E%3C/text%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.55));
    transform: translateX(-50%) !important;
  }
}

@media (max-width: 1024px) {
  /* Navy page shell behind all individual content sections. */
  html,
  body,
  #page,
  .site,
  #content,
  .site-content,
  .content-area,
  .entry-content {
    background-color: #0a1f3d !important;
  }

  /* Mobile: Astra uses its separate mobile/primary-header row. */
  #masthead,
  #masthead .ast-mobile-header-wrap,
  #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
  #masthead .ast-mobile-header-wrap .ast-above-header-bar,
  #masthead .ast-mobile-header-wrap .site-primary-header-wrap,
  #masthead .ast-mobile-header-wrap .ast-builder-grid-row {
    position: relative !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
    background-color: #0a1f3d !important;
    background-image: none !important;
    border-color: #0d2b52 !important;
  }

  /* Fix one compact bar to the viewport. */
  #masthead {
    position: fixed !important;
    top: var(--wp-admin--admin-bar--height, 0px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 99999 !important;
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    overflow: visible !important;
  }

  /* Astra can render above- and primary-header rows together on mobile.
     Overlay them instead of allowing them to stack vertically. */
  #masthead .ast-mobile-header-wrap {
    position: relative !important;
    width: 100% !important;
    height: 58px !important;
    overflow: visible !important;
  }

  #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
  #masthead .ast-mobile-header-wrap .ast-above-header-bar {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 58px !important;
  }

  /* Prevent the branding content from making the bar hundreds of pixels tall. */
  #masthead .ast-mobile-header-wrap .site-branding,
  #masthead .ast-mobile-header-wrap .ast-site-identity,
  #masthead .ast-mobile-header-wrap .site-logo-img {
    position: absolute !important;
    top: 8px !important;
    left: 22px !important;
    z-index: 1002 !important;
    display: block !important;
    width: 84px !important;
    height: 84px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  /* Resize and position the curved title for the mobile logo. */
  #masthead .ast-mobile-header-wrap .custom-logo-link::before {
    top: -24px;
    left: 50%;
    width: 126px;
    height: 78px;
    transform: translateX(-50%);
  }

  /* The title/tagline caused the large navy block seen in the screenshot. */
  #masthead .ast-mobile-header-wrap .site-title,
  #masthead .ast-mobile-header-wrap .site-title a,
  #masthead .ast-mobile-header-wrap .site-description,
  #masthead .ast-mobile-header-wrap .ast-site-title-wrap {
    display: none !important;
  }

  /* A true circular logo that overlaps the bottom of the 58px bar. */
  #masthead .ast-mobile-header-wrap .custom-logo-link,
  #masthead .ast-mobile-header-wrap .custom-logo {
    display: block !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    aspect-ratio: 1 / 1 !important;
    transform: none !important;
  }

  /* Pin the hamburger inside the compact bar. */
  #masthead .ast-mobile-header-wrap .ast-mobile-menu-trigger-minimal,
  #masthead .ast-mobile-header-wrap .ast-button-wrap {
    position: absolute !important;
    top: 7px !important;
    right: 18px !important;
    z-index: 1003 !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Remove only the hamburger's white box. */
  #masthead .ast-mobile-header-wrap .ast-button-wrap,
  #masthead .ast-mobile-header-wrap .menu-toggle,
  #masthead .ast-mobile-header-wrap .mobile-menu-toggle-icon {
    border: 0 !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* White embossed hamburger lines. */
  #masthead .ast-mobile-header-wrap .menu-toggle,
  #masthead .ast-mobile-header-wrap .menu-toggle .mobile-menu-toggle-icon,
  #masthead .ast-mobile-header-wrap .menu-toggle svg,
  #masthead .ast-mobile-header-wrap .menu-toggle svg path {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    filter:
      drop-shadow(0 1px 0 rgba(255, 255, 255, 0.35))
     
  }

  /* Match the opened mobile menu to the header. */
  #masthead .ast-mobile-header-content,
  #masthead .ast-mobile-header-content .main-header-menu,
  #masthead .ast-mobile-header-content .sub-menu,
  #masthead .ast-builder-menu-mobile,
  #masthead .ast-builder-menu-mobile .main-navigation,
  #masthead .ast-builder-menu-mobile .main-header-menu,
  #masthead .ast-builder-menu-mobile .sub-menu,
  .ast-header-break-point .ast-mobile-popup-drawer,
  .ast-header-break-point .ast-mobile-popup-inner,
  .ast-header-break-point .ast-mobile-popup-content,
  .ast-header-break-point .ast-mobile-popup-content .main-header-menu,
  .ast-header-break-point .ast-mobile-popup-content .sub-menu {
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: rgba(10, 31, 61, 0.14) !important;
  }

  /* White breathing room below the header/overlapping logo. */
  #masthead .ast-mobile-header-content,
  .ast-header-break-point .ast-mobile-popup-content {
    box-sizing: border-box !important;
    padding-top: 132px !important;
  }

  #masthead .ast-mobile-header-content .menu-link,
  #masthead .ast-builder-menu-mobile .menu-link,
  .ast-header-break-point .ast-mobile-popup-content .menu-link {
    color: #0a1f3d !important;
    border-color: rgba(10, 31, 61, 0.12) !important;
    background-color: transparent !important;
  }

  /* Parent menu panel now supplies the logo clearance. */
  #masthead .ast-mobile-header-content .main-header-menu,
  #masthead .ast-builder-menu-mobile .main-header-menu,
  .ast-header-break-point
    .ast-mobile-popup-content
    .main-header-menu {
    box-sizing: border-box !important;
    padding-top: 0 !important;
  }

  #masthead .ast-mobile-header-content .menu-link:hover,
  #masthead .ast-mobile-header-content .current-menu-item > .menu-link,
  #masthead .ast-builder-menu-mobile .menu-link:hover,
  #masthead .ast-builder-menu-mobile .current-menu-item > .menu-link,
  .ast-header-break-point .ast-mobile-popup-content .menu-link:hover,
  .ast-header-break-point
    .ast-mobile-popup-content
    .current-menu-item
    > .menu-link {
    color: #416d0d !important;
    background-color: rgba(163, 230, 53, 0.2) !important;
  }

  /* Keep Astra's off-canvas close control visible on navy. */
  .ast-header-break-point .ast-mobile-popup-drawer .menu-toggle-close,
  .ast-header-break-point .ast-mobile-popup-drawer .ast-mobile-svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    background: transparent !important;
  }

  /* Keep page content below the fixed bar and overlapping logo. */
  body:not(.elementor-editor-active) #content,
  body:not(.elementor-editor-active) .site-content {
    margin-top: 0 !important;
    padding-top: 100px !important;
  }

  /* Match the spacing inside Elementor's responsive editor preview. */
  body.elementor-editor-active #content,
  body.elementor-editor-active .site-content {
    margin-top: 0 !important;
    padding-top: 100px !important;
  }

  /* The hypothesis block added a second 76–112px header offset. */
  .tsb-hypothesis {
    margin-top: 0 !important;
  }
}
