/* =========================================================
   T-Booster v107 — SCIENCE NAVIGATION MASTER ONLY
   The current The Science page navigation is the single source
   of truth for every real page. This file intentionally touches
   header/menu geometry only; footer, H2s and page content are not
   changed here.
   ========================================================= */

:root{
  --v107-announcement-h:38px;
  --v107-header-h:78px;
  --v107-sticky-stack:116px;
  --v107-nav-bg:#1b1a1e;
  --v107-nav-text:rgba(255,255,255,.78);
  --v107-nav-text-active:#fff;
  --v107-nav-accent:#e6b86f;
  --v107-nav-contact:#9e2437;
  --v107-nav-desktop-size:clamp(11.5px,calc(11px + .08vw),12.25px);
  --v107-nav-drawer-size:clamp(15px,calc(14px + .35vw),16px);
}

/* Stable Science-style sticky header. It always sits below the
   sticky announcement and never changes geometry while scrolling. */
html body.global-home-chrome-v74.global-announcement-v91 .site-header{
  position:sticky!important;
  top:var(--v107-announcement-h)!important;
  z-index:110!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  background:var(--v107-nav-bg)!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 8px 24px rgba(8,7,9,.13)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

html body.global-home-chrome-v74.global-announcement-v91 .site-header .site-header__inner{
  width:min(calc(100% - 64px),1280px)!important;
  max-width:1280px!important;
  min-height:var(--v107-header-h)!important;
  height:var(--v107-header-h)!important;
  margin-inline:auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
}

html body.global-home-chrome-v74.global-announcement-v91 .site-header .brand{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
html body.global-home-chrome-v74.global-announcement-v91 .site-header .brand__logo-stack{
  position:relative!important;
  display:block!important;
  width:clamp(220px,16.5vw,252px)!important;
  aspect-ratio:3006 / 383!important;
  flex:0 0 auto!important;
}
html body.global-home-chrome-v74.global-announcement-v91 .site-header .brand__logo-stack .brand-logo{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
html body.global-home-chrome-v74.global-announcement-v91 .site-header .brand-logo--light{opacity:1!important}
html body.global-home-chrome-v74.global-announcement-v91 .site-header .brand-logo--dark{opacity:0!important}

/* Desktop — exact current Science-page menu sizing and rhythm. */
@media (min-width:1021px){
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav{
    position:static!important;
    width:auto!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(8px,.72vw,12px)!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    clip-path:none!important;
    overflow:visible!important;
    pointer-events:auto!important;
    color:var(--v107-nav-text)!important;
    font-size:var(--v107-nav-desktop-size)!important;
    font-weight:620!important;
    line-height:1.1!important;
    letter-spacing:.018em!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    min-height:0!important;
    margin:0!important;
    padding:15px 2px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:inherit!important;
    font-size:var(--v107-nav-desktop-size)!important;
    font-weight:620!important;
    line-height:1.1!important;
    letter-spacing:.018em!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a::after{
    content:""!important;
    position:absolute!important;
    left:2px!important;
    right:100%!important;
    bottom:7px!important;
    height:2px!important;
    display:block!important;
    background:var(--v107-nav-accent)!important;
    transition:right .3s ease!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a:hover,
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a[aria-current="page"]{
    color:var(--v107-nav-text-active)!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a:hover::after,
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a[aria-current="page"]::after{
    right:2px!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a.nav-contact{
    justify-content:center!important;
    min-height:45px!important;
    height:45px!important;
    padding:0 17px!important;
    border:1px solid var(--v107-nav-contact)!important;
    border-radius:999px!important;
    background:var(--v107-nav-contact)!important;
    color:#fff!important;
    font-size:var(--v107-nav-desktop-size)!important;
    font-weight:650!important;
    line-height:1!important;
    letter-spacing:.005em!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a.nav-contact::after{
    display:none!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .menu-toggle{
    display:none!important;
  }
}

/* Science-style menu toggle. */
html body.global-home-chrome-v74.global-announcement-v91 .site-header .menu-toggle{
  width:48px!important;
  height:48px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.04)!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:5px!important;
  cursor:pointer!important;
}
html body.global-home-chrome-v74.global-announcement-v91 .site-header .menu-toggle span{
  display:block!important;
  width:20px!important;
  height:1.5px!important;
  margin:0!important;
  background:#fff!important;
  transition:transform .25s,opacity .25s!important;
}

/* Tablet/mobile — one responsive drawer typography system everywhere. */
@media (max-width:1020px){
  :root{
    --v107-announcement-h:38px;
    --v107-header-h:72px;
    --v107-sticky-stack:110px;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .site-header__inner{
    width:min(calc(100% - 48px),1280px)!important;
    min-height:var(--v107-header-h)!important;
    height:var(--v107-header-h)!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .brand__logo-stack{
    width:190px!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .menu-toggle{
    display:flex!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav{
    position:absolute!important;
    z-index:130!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:calc(100svh - var(--v107-sticky-stack))!important;
    display:grid!important;
    align-content:start!important;
    gap:0!important;
    margin:0!important;
    padding:22px 24px 42px!important;
    background:#f7f2ec!important;
    border:0!important;
    border-top:1px solid rgba(143,29,44,.12)!important;
    box-shadow:0 30px 80px rgba(35,15,20,.2)!important;
    opacity:0!important;
    visibility:hidden!important;
    clip-path:inset(0 0 100% 0)!important;
    pointer-events:none!important;
    overflow-y:auto!important;
    color:#321a20!important;
    font-size:var(--v107-nav-drawer-size)!important;
    font-weight:680!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    transition:clip-path .38s ease,opacity .25s,visibility 0s linear .38s!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav.is-open{
    opacity:1!important;
    visibility:visible!important;
    clip-path:inset(0)!important;
    pointer-events:auto!important;
    transition:clip-path .38s ease,opacity .25s!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:0!important;
    margin:0!important;
    padding:15px 0!important;
    border:0!important;
    border-bottom:1px solid rgba(143,29,44,.13)!important;
    border-radius:0!important;
    background:transparent!important;
    color:#321a20!important;
    font-size:var(--v107-nav-drawer-size)!important;
    font-weight:680!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-decoration:none!important;
    white-space:normal!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a::after{
    display:none!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a.nav-contact{
    justify-content:center!important;
    width:fit-content!important;
    min-height:46px!important;
    height:auto!important;
    margin-top:18px!important;
    padding:12px 18px!important;
    border:0!important;
    border-radius:999px!important;
    background:var(--v107-nav-contact)!important;
    color:#fff!important;
    font-size:var(--v107-nav-drawer-size)!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:0!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6.5px) rotate(45deg)!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6.5px) rotate(-45deg)!important;
  }
}

@media (max-width:600px){
  :root{
    --v107-announcement-h:34px;
    --v107-header-h:68px;
    --v107-sticky-stack:102px;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .site-header__inner{
    width:min(calc(100% - 32px),1280px)!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .brand__logo-stack{
    width:176px!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .menu-toggle{
    width:44px!important;
    height:44px!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav{
    height:calc(100svh - var(--v107-sticky-stack))!important;
    padding:18px 18px 36px!important;
  }
  html body.global-home-chrome-v74.global-announcement-v91 .site-header .primary-nav>a{
    padding:14px 0!important;
  }
}

/* Defensive neutralisation: even if an old page script/classes add a
   historical scroll-state class, the Science navigation geometry stays
   exactly the same. */
html body.global-home-chrome-v74.global-announcement-v91.is-page-scrolled .site-header{
  top:var(--v107-announcement-h)!important;
}
