/* Viewport navigation is independent of the canonical COVER scene. */
.neo-header {
  position: fixed; inset: 0 0 auto; height: 100px; z-index: 110;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 32px; box-sizing: border-box;
  color: #142b50; font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  background: transparent; pointer-events: none;
}
.neo-header-logo { display: block; width: 72px; height: 80px; overflow: hidden; pointer-events: auto; }
/* Pixel extraction from final.png, with the architectural matte removed. */
.neo-header-logo img { display: block; width: auto; height: 80px; max-width: none; }
.neo-header-signature { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; white-space: nowrap; font-size: 11px; font-weight: 400; letter-spacing: .2em; }
.neo-header-signature span { color: #3266c9; }
.neo-header-nav { display: flex; align-items: center; gap: 23px; pointer-events: auto; }
.neo-header button { font-family: inherit; font-size: 12px; font-weight: 450; }
.neo-header-link { padding: 10px 0; border: 0; background: none; color: inherit; }
.neo-header-dot { width: 8px; height: 8px; border-radius: 50%; background: #377af2; box-shadow: 0 0 5px #377af233; margin-left: -13px; }
.neo-header-contact { border: 1px solid #ffffff55; border-radius: 24px; padding: 0 20px; height: 40px; color: white; background: linear-gradient(110deg,#3c83e9e8,#795cdde8); box-shadow: 0 3px 12px #5479db22; white-space: nowrap; }
.neo-header-contact span { margin-left: 10px; }
.neo-header button:disabled { opacity: 1; cursor: default; }
.neo-header-compact { display: none; }
.neo-header-compact summary { cursor: pointer; font-size: 13px; list-style: none; padding: 12px 8px; }
.neo-header-compact summary::-webkit-details-marker { display: none; }
.neo-header-compact summary:focus-visible,.neo-header-logo:focus-visible { outline: 2px solid #3266c9; outline-offset: 4px; }
@media(max-width:1450px) {
  .neo-header { padding-inline: 24px; }
  .neo-header-nav { gap: 14px; }
  .neo-header-signature { font-size: 9px; letter-spacing: .12em; }
  .neo-header-dot { margin-left: -7px; }
  .neo-header-contact { padding-inline: 15px; }
}
@media(max-width:1150px) {
  .neo-header { height: 88px; padding-inline: 20px; }
  .neo-header-signature { display: none; }
}
@media(max-width:650px) {
  .neo-header { padding-inline: 16px; }
  .neo-header-nav > .neo-header-link,.neo-header-nav > .neo-header-dot { display: none; }
  .neo-header-nav { gap: 8px; }
  .neo-header-compact { display: block; }
  .neo-header-compact nav { position: absolute; right: 16px; top: 78px; padding: 12px 20px; display: grid; gap: 4px; border-radius: 16px; background: #edf6fff0; box-shadow: 0 5px 18px #25436b18; }
}
