/* Shared navigation: one glass surface and compact scroll state on every page. */
:root{--header-height:88px;--header-logo-width:210px}
:root.header-scrolled{--header-height:64px;--header-logo-width:164px}
body .topbar,body.home-v2 .topbar,body.brand-hub .topbar{
  height:var(--header-height);color:#fff;background:rgba(37,45,43,.65);
  border-bottom:1px solid #ffffff26;
  -webkit-backdrop-filter:blur(22px) saturate(85%) brightness(.72);
  backdrop-filter:blur(22px) saturate(85%) brightness(.72);
  transition:height .3s ease,background-color .3s ease,box-shadow .3s ease;
}
body.home-v2 .topbar:not(.is-scrolled){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
/* The shared top-of-page state uses the colored logo and dark navigation. */
body .topbar:not(.is-scrolled),body.brand-hub .topbar:not(.is-scrolled){color:#103d2f;background:#fff;border-color:#103d2f18;-webkit-backdrop-filter:none;backdrop-filter:none}
body.home-v2 .topbar:not(.is-scrolled){background:transparent}
body .topbar .brand-on-light{display:none}
body .topbar:not(.is-scrolled) .brand-on-light{display:block}
body .topbar:not(.is-scrolled) .brand-on-dark{display:none}
body .topbar:not(.is-scrolled) .menu-button,body .topbar:not(.is-scrolled) .nav-contact{color:#103d2f}
body .topbar:not(.is-scrolled) .nav-contact:before{background:#103d2f40}
body .topbar.is-scrolled,body.home-v2 .topbar.is-scrolled,body.brand-hub .topbar.is-scrolled{
  height:var(--header-height);background:rgba(37,45,43,.48);
  -webkit-backdrop-filter:blur(22px) saturate(85%) brightness(.72);
  backdrop-filter:blur(22px) saturate(85%) brightness(.72);box-shadow:0 6px 24px #101a1712;
}
body .topbar .brand img{width:var(--header-logo-width);height:auto;transition:width .3s ease}
/* Keep a small, balanced gap between the label and its disclosure arrow. */
body .topbar .nav-parent{gap:4px}
body .topbar .nav-disclosure:not(.nav-resource-trigger){width:24px;justify-items:start}
body .topbar .nav-resource-trigger{width:max-content;min-width:max-content;flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center;gap:10px}
body .topbar>.desktop-nav{flex-shrink:0}
body .topbar>.desktop-nav> *{flex-shrink:0}
body .topbar .language{border:0;padding-inline:0}
body .topbar .header-end{gap:20px}
body .topbar .nav-contact{position:relative;display:flex;align-items:center;gap:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:14px;line-height:1.5;white-space:nowrap}
body .topbar .nav-contact:hover,body .topbar .nav-contact:focus-visible{background:transparent;border-color:transparent}
body .topbar .nav-contact .arrow{display:none}
body .topbar .nav-contact:before{content:"";position:absolute;inset-inline-start:-11px;top:1px;height:18px;width:1px;background:#ffffff5c}
body .topbar>.desktop-nav> a:after,body .topbar .nav-parent>a:after,body .topbar .nav-contact:after{
  content:"";position:absolute;bottom:-4px;inset-inline:0;height:1px;background:#d5bd80;transform:scaleX(0);transform-origin:center;transition:transform .25s ease;
}
body .topbar>.desktop-nav> a:hover:after,body .topbar>.desktop-nav> a:focus-visible:after,
body .topbar .nav-parent>a:hover:after,body .topbar .nav-parent>a:focus-visible:after,
body .topbar .nav-contact:hover:after,body .topbar .nav-contact:focus-visible:after,
body .topbar a[aria-current=page]:after{transform:scaleX(1)}
body .mobile-panel.open,body.home-v2 .mobile-panel.open{top:var(--header-height);background:rgba(37,45,43,.9);color:#fff;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
body .mobile-panel a{border-color:#ffffff26}
/* One full-row disclosure target and one shared arrow column in both languages. */
body .mobile-panel .nav-parent .nav-disclosure{
  display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;justify-items:start;
  width:100%;height:auto;min-height:70px;gap:0;padding:15px 0;
  font:inherit;font-size:27px;line-height:1.5;text-align:start;color:inherit;
  background:transparent;border:0;cursor:pointer;
}
body .mobile-panel .nav-parent .nav-disclosure svg{justify-self:center}
/* Industry navigation follows the actual shared header height at every breakpoint. */
body .section-nav{top:var(--header-height);transition:top .3s ease}
@media(min-width:981px){body .solutions-menu{top:calc(var(--header-height) + 82px)}}
body .service-block{scroll-margin-top:calc(var(--header-height) + 88px)}
@media(prefers-reduced-motion:reduce){body .section-nav{transition:none}}
@media(min-width:981px){.brand-hub .bh-sidebar{top:var(--header-height);height:calc(100dvh - var(--header-height))}}
@media(min-width:981px) and (max-width:1300px){:root{--header-logo-width:180px}:root.header-scrolled{--header-logo-width:154px}body .topbar .nav-contact{font-size:13px}body .topbar .header-end{gap:18px}body .topbar .nav-contact:before{inset-inline-start:-10px}}
@media(min-width:981px) and (max-width:1300px){body .topbar>.desktop-nav{gap:12px}}
@media(max-width:980px){:root{--header-height:76px;--header-logo-width:180px}:root.header-scrolled{--header-height:58px;--header-logo-width:148px}body .topbar .nav-contact{display:none}body .topbar .header-end{gap:18px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body .topbar.is-scrolled,body.home-v2 .topbar.is-scrolled,body.brand-hub .topbar.is-scrolled{background:rgba(37,45,43,.94)}}
@media(prefers-reduced-motion:reduce){body .topbar,body .topbar .brand img,body .topbar .nav-contact:after{transition:none}}
