/* Load after the existing tech/home styles. The measured navigation box keeps
   its approved 64px / 56px size; only the button extends into a bounded capsule. */
body[data-genz-theme="light"] .tx-nav #tx-navigation {
  background:linear-gradient(145deg,#fffffff5,#e8f0f8f2);
  border-color:#9fb2c8;
  color:#1a2a3a;
  box-shadow:0 16px 48px #293e5a26,inset 0 1px 0 #fff;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
body[data-genz-theme="light"] .tx-nav #tx-navigation a {color:#234d6d;border-color:#b4c5d7}
body[data-genz-theme="light"] .tx-nav #tx-navigation a:hover,
body[data-genz-theme="light"] .tx-nav #tx-navigation a:focus-visible {background:#dceafa;color:#143d5c;outline-color:#065e9f}
body[data-genz-theme="light"] .tx-nav .tx-menu-brand {color:#203b52}
body[data-genz-theme="light"] .tx-nav .tx-menu-brand small {color:#52677b}
.tx-nav.entry-header {
  --gz-header-size: 64px;
  --gz-header-expanded: 250px;
  --gz-header-radius: 21px;
  --gz-header-image-size: 48px;
  --gz-header-image-inset: 7px;
  --gz-header-capsule-bg: rgba(255, 255, 255, .9);
  --gz-header-capsule-border: rgba(119, 143, 160, .4);
  --gz-header-ink: #14232e;
  --gz-header-muted: #526876;
  --gz-header-focus: #2b6b87;
  width: var(--gz-header-size);
  height: var(--gz-header-size);
  min-height: var(--gz-header-size);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.tx-nav.entry-header .tx-brand-trigger {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  box-sizing: border-box;
  width: var(--gz-header-expanded);
  min-width: var(--gz-header-size);
  max-width: none;
  height: var(--gz-header-size);
  min-height: var(--gz-header-size);
  margin: 0;
  padding: 0;
  border: 1px solid var(--gz-header-capsule-border);
  border-radius: var(--gz-header-radius);
  background: var(--gz-header-capsule-bg);
  color: var(--gz-header-ink);
  box-shadow: 0 10px 30px #243b501a, inset 0 1px 0 #ffffffd9;
  overflow: hidden;
  text-align: left;
  white-space: nowrap;
  transform: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: width .34s cubic-bezier(.22,.7,.2,1), background-color .2s ease,
    border-color .2s ease, box-shadow .2s ease;
}

/* This fixed-size bezel retains the existing compact Z, including its dark
   material and image coordinates. It never scales during the retraction. */
.tx-nav.entry-header .tx-brand-trigger::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  box-sizing: border-box;
  width: calc(var(--gz-header-size) - 2px);
  height: calc(var(--gz-header-size) - 2px);
  border-radius: calc(var(--gz-header-radius) - 1px);
  background: #111b2ce8;
  box-shadow: inset 0 1px #e5f3ff26;
  pointer-events: none;
}

.tx-nav.entry-header .tx-brand-trigger img {
  position: relative;
  z-index: 1;
  flex: 0 0 var(--gz-header-image-size);
  display: block;
  width: var(--gz-header-image-size);
  height: var(--gz-header-image-size);
  min-width: var(--gz-header-image-size);
  max-width: none;
  margin-left: var(--gz-header-image-inset);
  margin-right: 0;
  border-radius: 14px;
  object-fit: contain;
  transform: none;
}

.tx-nav.entry-header .gz-brand-signature {
  position: relative;
  z-index: 1;
  flex: 0 0 calc(var(--gz-header-expanded) - var(--gz-header-size) - 28px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  margin-left: 23px;
  padding: 0;
  opacity: 1;
  white-space: nowrap;
  clip-path: inset(0 0 0 0);
  transform: translateX(0);
  pointer-events: none;
  transition: opacity .2s ease, transform .3s ease, clip-path .3s ease;
}

.tx-nav.entry-header .gz-brand-signature .entry-brand-caption {
  display: block;
  margin: 0;
  padding: 0;
  color: var(--gz-header-muted);
  font-family: Manrope, Arial, sans-serif;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .2em;
}

.tx-nav.entry-header .gz-brand-signature .entry-brand-word {
  display: block;
  margin: 0;
  padding: 0;
  color: var(--gz-header-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 34px;
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.075em;
}

.tx-nav.entry-header .tx-brand-trigger:hover {
  background-color: #ffffff;
  border-color: #7896aa99;
  transform: none;
}
.tx-nav.entry-header .tx-brand-trigger:focus-visible {
  outline: 3px solid var(--gz-header-focus);
  outline-offset: 4px;
}

/* mountDock changes this class once, so capsule retraction and dock appearance
   start in the same rendered state. aria-expanded remains navigation-only. */
body.tx-has-scrolled .tx-nav.entry-header .tx-brand-trigger {
  width: var(--gz-header-size);
  border-color: #b2c6e344;
  background-color: transparent;
  box-shadow: 0 9px 30px #03081340, inset 0 1px #e5f3ff26;
}
body.tx-has-scrolled .tx-nav.entry-header .gz-brand-signature {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transform: translateX(-6px);
}

@media (max-width: 650px) {
  .tx-nav.entry-header {
    --gz-header-size: 56px;
    --gz-header-expanded: 210px;
    --gz-header-radius: 18px;
    --gz-header-image-size: 42px;
    --gz-header-image-inset: 6px;
  }
  .tx-nav.entry-header .tx-brand-trigger img { border-radius: 12px; }
  .tx-nav.entry-header .gz-brand-signature { margin-left: 20px; gap: 3px; }
  .tx-nav.entry-header .gz-brand-signature .entry-brand-caption { font-size: 7px; }
  .tx-nav.entry-header .gz-brand-signature .entry-brand-word { font-size: 31px; }
}

@media (prefers-reduced-motion: reduce) {
  .tx-nav.entry-header .tx-brand-trigger,
  .tx-nav.entry-header .gz-brand-signature { transition: none; }
}
