/* =========================================================
   T-Booster v114 — GLOBAL SECTION SUBNAVIGATION MASTER
   One visual + responsive + sticky system for every page that
   has an in-page section menu. Based on the approved Science
   submenu, with one shared active-state and anchor geometry.
   ========================================================= */

:root{
  --global-subnav-h-v113:44px;
  --global-subnav-sticky-top-v113:117px;
  --global-subnav-anchor-gap-v113:28px;
  --global-subnav-bg-v113:rgba(246,241,235,.985);
  --global-subnav-text-v113:#716d6b;
  --global-subnav-active-v113:#9e2437;
  --global-subnav-line-v113:rgba(30,27,29,.09);
}

/* The fallback sticky offsets are 117 / 111 / 103px across desktop /
   tablet / phone because the site-header outer box includes its 1px
   bottom border. The v114 JS does not add announcement/header heights;
   it measures the actual rendered bottom edge of .site-header so the
   submenu sits directly against it with no exposed content gap. */
html.has-global-subnav-v113{
  scroll-padding-top:calc(var(--global-subnav-sticky-top-v113) + var(--global-subnav-h-v113) + var(--global-subnav-anchor-gap-v113));
}

body.has-global-subnav-v113 .global-subnav-v113{
  position:sticky!important;
  top:var(--global-subnav-sticky-top-v113)!important;
  z-index:100!important;
  min-height:var(--global-subnav-h-v113)!important;
  height:var(--global-subnav-h-v113)!important;
  margin:0!important;
  padding:0!important;
  background:var(--global-subnav-bg-v113)!important;
  border-top:1px solid rgba(30,27,29,.075)!important;
  border-bottom:1px solid var(--global-subnav-line-v113)!important;
  box-shadow:0 6px 18px rgba(28,24,25,.03)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.has-global-subnav-v113 .global-subnav-v113__inner{
  min-height:var(--global-subnav-h-v113)!important;
  height:var(--global-subnav-h-v113)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:clamp(18px,2.25vw,34px)!important;
  margin-inline:auto!important;
  padding-block:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch;
}
body.has-global-subnav-v113 .global-subnav-v113__inner::-webkit-scrollbar{display:none!important}

body.has-global-subnav-v113 .global-subnav-v113 a{
  position:relative!important;
  flex:0 0 auto!important;
  min-height:var(--global-subnav-h-v113)!important;
  height:var(--global-subnav-h-v113)!important;
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--global-subnav-text-v113)!important;
  font-family:inherit!important;
  font-size:clamp(.625rem,.6rem + .03vw,.6875rem)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.055em!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transition:color .22s ease!important;
}
body.has-global-subnav-v113 .global-subnav-v113 a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:100%!important;
  bottom:0!important;
  height:2px!important;
  border-radius:2px 2px 0 0!important;
  background:var(--global-subnav-active-v113)!important;
  transition:right .25s ease!important;
}
body.has-global-subnav-v113 .global-subnav-v113 a:hover,
body.has-global-subnav-v113 .global-subnav-v113 a:focus-visible,
body.has-global-subnav-v113 .global-subnav-v113 a.is-active,
body.has-global-subnav-v113 .global-subnav-v113 a[aria-current="location"]{
  color:var(--global-subnav-active-v113)!important;
}
body.has-global-subnav-v113 .global-subnav-v113 a:hover::after,
body.has-global-subnav-v113 .global-subnav-v113 a:focus-visible::after,
body.has-global-subnav-v113 .global-subnav-v113 a.is-active::after,
body.has-global-subnav-v113 .global-subnav-v113 a[aria-current="location"]::after{
  right:0!important;
}
body.has-global-subnav-v113 .global-subnav-v113 a:focus-visible{
  outline:2px solid #d5a75f!important;
  outline-offset:-4px!important;
}

/* Consistent anchor landing: section titles remain comfortably below
   the sticky announcement + header + subsection bar. */
body.has-global-subnav-v113 main [id]{
  scroll-margin-top:calc(var(--global-subnav-sticky-top-v113) + var(--global-subnav-h-v113) + var(--global-subnav-anchor-gap-v113))!important;
}

@media (max-width:1020px){
  :root{--global-subnav-sticky-top-v113:111px}
  body.has-global-subnav-v113 .global-subnav-v113__inner{
    gap:22px!important;
  }
  body.has-global-subnav-v113 .global-subnav-v113 a{
    font-size:.625rem!important;
  }
}

@media (max-width:600px){
  :root{
    --global-subnav-sticky-top-v113:103px;
    --global-subnav-anchor-gap-v113:22px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.has-global-subnav-v113 .global-subnav-v113 a,
  body.has-global-subnav-v113 .global-subnav-v113 a::after{transition:none!important}
}
