.apex-public .apex-nav-header {
  --website-text: #fff;
  position: fixed; inset: 0 0 auto; z-index: 50; height: 184px;
  color: #fff; background: transparent; border: 0;
  transform-origin: top center;
  transition: transform .2s ease, background-color .2s ease;
}
.apex-public .apex-nav-header.is-solid { background: #1a1a1a; }
.apex-public .apex-nav-header.is-scrolled { background: rgba(0,0,0,.72); }
.apex-public .apex-nav-header.is-hidden { transform: translateY(-100%) scaleY(0); }
.apex-public .apex-nav-center { width: min(900px, calc(100% - 220px)); margin: auto; }
.apex-public .apex-nav-logo { display: block; width: 180px; margin: 30px auto 26px; }
.apex-public .apex-nav-logo img { display: block; width: 100%; height: auto; }
.apex-public .apex-nav-links {
  display: flex; align-items: center; justify-content: center; gap: 43px;
  border-top: 1px solid rgba(255,255,255,.85); padding: 26px 12px 30px;
}
.apex-public .apex-nav-links a {
  color: #fff; text-decoration: none; text-transform: uppercase;
  font: 400 13px/1.08 Inter, Arial, sans-serif; letter-spacing: 1.5px;
  white-space: nowrap; position: relative;
  animation: apex-nav-enter .8s ease both;
}
.apex-public .apex-nav-links a:nth-child(2) { animation-delay: .08s; }
.apex-public .apex-nav-links a:nth-child(3) { animation-delay: .16s; }
.apex-public .apex-nav-links a:nth-child(4) { animation-delay: .24s; }
.apex-public .apex-nav-links a:nth-child(5) { animation-delay: .32s; }
.apex-public .apex-nav-links a:nth-child(6) { animation-delay: .4s; }
.apex-public .apex-nav-links a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -7px;
  height: 1px; background: currentColor; transform: scaleX(0);
  transform-origin: left; transition: transform .25s ease;
}
.apex-public .apex-nav-links a:is(:hover,:focus-visible)::after { transform: scaleX(1); }
.apex-public .apex-menu-button {
  position: absolute; top: 30px; right: 40px; width: 60px; height: 60px;
  display: flex; align-items: center; justify-content: center;
  padding: 0; border: 0; border-radius: 50%; background: #fff; color: #111;
  cursor: pointer; transition: background .25s ease, transform .25s ease;
}
.apex-public .apex-menu-button:hover { background: #e9e9e9; }
.apex-public .apex-menu-bars { position: relative; width: 27px; height: 10px; }
.apex-public .apex-menu-bars::before,
.apex-public .apex-menu-bars::after {
  content: ""; position: absolute; right: 0; height: 1px; background: currentColor;
  transition: width .25s ease, transform .25s ease;
}
.apex-public .apex-menu-bars::before { top: 2px; width: 27px; }
.apex-public .apex-menu-bars::after { bottom: 2px; width: 17px; }
.apex-public .apex-menu-button:hover .apex-menu-bars::after { width: 27px; }
.apex-public .apex-menu-panel {
  --website-text: #fff;
  position: fixed; inset: 0; width: 100%; max-width: none; height: 100dvh;
  max-height: none; margin: 0; border: 0; padding: 96px 7vw 50px;
  box-sizing: border-box; color: #fff; background: rgba(17,17,17,.96);
  overflow-y: auto; opacity: 0; transition: opacity .3s ease;
}
.apex-public .apex-menu-panel::backdrop { background: transparent; }
.apex-public .apex-menu-panel.is-open { opacity: 1; }
.apex-public .apex-menu-panel .apex-menu-button { background: #202020; color: #fff; }
.apex-public .apex-menu-close .apex-menu-bars::before { top: 4px; transform: rotate(45deg); }
.apex-public .apex-menu-close .apex-menu-bars::after { bottom: 5px; width: 27px; transform: rotate(-45deg); }
.apex-public .apex-menu-panel nav {
  display: flex; flex-direction: column; align-items: flex-end; gap: 14px;
}
.apex-public .apex-menu-panel nav a {
  color: #fff; text-decoration: none; text-transform: uppercase;
  font: 400 30px/1.15 Inter, Arial, sans-serif; letter-spacing: 0;
  text-align: right; opacity: 0; transform: translateX(30px);
  transition: opacity .4s ease, transform .4s ease, color .2s ease;
}
.apex-public .apex-menu-panel.is-open nav a { opacity: 1; transform: none; }
.apex-public .apex-menu-panel nav a:hover { color: #bdbdbd; }
.apex-public.apex-header-solid #main-content { padding-top: 184px; }
@keyframes apex-nav-enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@media (max-width: 1100px) {
  .apex-public .apex-nav-header { height: 184px; }
  .apex-public .apex-nav-center { width: min(740px, calc(100% - 48px)); }
  .apex-public .apex-nav-logo { margin-top: 30px; }
  .apex-public.apex-header-solid #main-content { padding-top: 184px; }
}
@media (max-width: 620px) {
  .apex-public .apex-nav-header { height: 160px; }
  .apex-public .apex-nav-logo { width: 150px; margin: 25px auto 20px; }
  .apex-public .apex-menu-button { width: 48px; height: 48px; top: 24px; right: 20px; }
  .apex-public .apex-nav-links { gap: 18px; padding: 20px 0; }
  .apex-public .apex-nav-links a { font-size: 12px; letter-spacing: 1px; }
  .apex-public .apex-menu-panel { padding: 95px 24px 40px; }
  .apex-public .apex-menu-panel nav { gap: 20px; }
  .apex-public .apex-menu-panel nav a { font-size: 24px; }
  .apex-public.apex-header-solid #main-content { padding-top: 160px; }
}
@media (prefers-reduced-motion: reduce) {
  .apex-public .apex-nav-header, .apex-public .apex-nav-links a,
  .apex-public .apex-nav-links a::after, .apex-public .apex-menu-button,
  .apex-public .apex-menu-bars::before, .apex-public .apex-menu-bars::after,
  .apex-public .apex-menu-panel, .apex-public .apex-menu-panel nav a {
    animation: none; transition: none;
  }
}

@media (max-width: 440px) {
  .apex-public .apex-nav-header { height: 200px; }
  .apex-public .apex-nav-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
    text-align: center;
  }
  .apex-public.apex-header-solid #main-content { padding-top: 200px; }
}

/* Keep the hamburger lines black inside the white circular header control. */
.apex-public .apex-nav-header .apex-menu-button {
  --website-text: #000;
  color: #000;
}
.apex-public .apex-nav-header .apex-menu-bars::before,
.apex-public .apex-nav-header .apex-menu-bars::after { background: #000; }

/* Homepage: logo and divider reveal on scroll; login replaces the menu control. */
.apex-public .apex-home-header { height: 120px; transition: height .35s ease, background-color .2s ease; }
.apex-public .apex-home-header .apex-nav-center { width: min(900px, calc(100% - 400px)); }
.apex-public .apex-home-header .apex-home-scroll-logo {
  max-height: 0;
  margin: 0 auto;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transform: translateY(-12px);
  transition: max-height .35s ease, margin .35s ease, opacity .35s ease, transform .35s ease, visibility .35s;
}
.apex-public .apex-home-header .apex-nav-links {
  border-top: 1px solid transparent;
  height: 120px;
  box-sizing: border-box;
  padding: 0;
  gap: 43px;
  transition: height .35s ease, border-color .35s ease;
}
.apex-public .apex-home-header.is-scrolled { height: 184px; }
.apex-public .apex-home-header.is-scrolled .apex-home-scroll-logo {
  max-height: 55px;
  margin: 30px auto 26px;
  opacity: 1;
  visibility: visible;
  transform: none;
}
.apex-public .apex-home-header.is-scrolled .apex-nav-links {
  height: 72px;
  border-top-color: rgba(255,255,255,.85);
}
.apex-public .apex-home-header .apex-home-login {
  position: absolute;
  right: 40px;
  top: 36px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  padding: 0 22px;
  border: 1px solid rgba(255,255,255,.85);
  background: transparent;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font: 400 13px/1.08 Inter, Arial, sans-serif;
  letter-spacing: 1.5px;
  transition: background .25s ease;
}
.apex-public .apex-home-header .apex-home-login:hover { background: rgba(255,255,255,.12); }
@media (max-width: 1100px) {
  .apex-public .apex-home-header .apex-nav-center { width: calc(100% - 340px); }
  .apex-public .apex-home-header .apex-nav-links { gap: 24px; }
}
@media (max-width: 900px) {
  .apex-public .apex-home-header .apex-nav-center { width: calc(100% - 280px); margin-left: 24px; }
  .apex-public .apex-home-header .apex-nav-links { gap: 18px; }
  .apex-public .apex-home-header .apex-nav-links a { font-size: 12px; letter-spacing: 1px; }
  .apex-public .apex-home-header .apex-home-login { right: 24px; padding: 0 16px; }
}
@media (max-width: 740px) {
  .apex-public .apex-home-header { height: 160px; }
  .apex-public .apex-home-header.is-scrolled { height: 184px; }
  .apex-public .apex-home-header .apex-nav-center { width: calc(100% - 40px); margin: 0 20px; }
  .apex-public .apex-home-header .apex-nav-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
    padding: 86px 0 20px;
    height: auto;
    text-align: center;
  }
  .apex-public .apex-home-header .apex-home-scroll-logo { width: 120px; margin: 0; }
  .apex-public .apex-home-header.is-scrolled .apex-home-scroll-logo { margin: 25px 0 20px; }
  .apex-public .apex-home-header.is-scrolled .apex-nav-links { height: auto; padding: 20px 0; }
  .apex-public .apex-home-header .apex-home-login {
    top: 24px;
    right: 20px;
    height: 40px;
    font-size: 12px;
    letter-spacing: 1px;
    padding: 0 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .apex-public .apex-home-header,
  .apex-public .apex-home-header .apex-home-scroll-logo,
  .apex-public .apex-home-header .apex-nav-links { transition: none; }
}
