/* Prueba de espaciado Manifiesto → Numeralias.
   Ambas secciones conservan su altura original de pantalla completa.
   Solo se superponen 12vh de sus zonas vacías de transición.
   Cambiar --acercamiento-numeralias a 0vh restaura la separación original. */
:root {
  --acercamiento-numeralias: 12vh;
}
#numeralias {
  margin-top: calc(-1 * var(--acercamiento-numeralias));
}

/* Numeralias → introducción de Proyectos: mismo acercamiento de 12vh,
   manteniendo la altura de pantalla completa de la introducción. */
.proyectos {
  margin-top: calc(-1 * var(--acercamiento-numeralias));
}

/* Cierre de Proyectos → Soluciones: acercamiento de 24vh en el espacio vacío
   sin cambiar los 100vh de la sección del botón. */
#soluciones {
  position: relative;
  margin-top: -24vh;
}


/* Navegación persistente, fuera del contexto de apilamiento de Inicio. */
.navbar {
  position: fixed;
  top: 32px;
  z-index: 100;
  --fondo: var(--fondo-pagina);
}
.navbar .marca img {
  transition: filter 900ms cubic-bezier(.22,1,.36,1);
}
body.modo-soluciones-oscuro .navbar .marca img {
  filter: brightness(0) invert(1);
}
.navbar .boton-borde svg {
  display: block;
  width: 1.42vw;
  height: auto;
  flex: 0 0 auto;
}
.navbar .menu-boton,
.navbar .boton-borde,
.navbar .menu-opciones {
  transition: color 900ms cubic-bezier(.22,1,.36,1),
    border-color 900ms cubic-bezier(.22,1,.36,1),
    background-color 900ms cubic-bezier(.22,1,.36,1);
}
.navbar .boton-borde:hover,
.navbar .boton-borde:focus-visible { transition-duration: .42s; }
@media (max-width: 1050px) {
  .navbar .boton-borde svg { width: 18px; }
}
@media (max-width: 680px) {
  .navbar { top: 22px; }
  .navbar .boton-borde svg { width: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .navbar .marca img, .navbar .menu-boton,
  .navbar .boton-borde, .navbar .menu-opciones { transition: none; }
}

/* Ocultar al bajar y mostrar al subir; el desplazamiento incluye el margen superior. */
.navbar {
  transition: transform 350ms cubic-bezier(.22,1,.36,1), visibility 350ms;
}
.navbar.navbar-oculta {
  transform: translateY(calc(-100% - 40px));
  visibility: hidden;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .navbar { transition: none; }
}

/* Evitar que el centrado reparta un trazo de 1px entre dos columnas de píxeles. */
.linea-guia, .proyectos-eje, .indicador-scroll {
  width: var(--grosor-lineas);
  transform: none;
}
@supports (left: round(nearest, 50%, 1px)) {
  .linea-guia, .proyectos-eje, .indicador-scroll {
    left: round(nearest, 50%, 1px);
  }
}

/* Un mismo contraste para todos los trazos decorativos. */
:root { --color-trazos: #000000; }
body.modo-soluciones-oscuro { --color-trazos: #ffffff; }
.soluciones-listado::before,
.soluciones-bloque:not(:last-child)::after { background: var(--color-trazos); }

/* Adaptar la barra a la proporción del logo definitivo, sin deformarlo. */
.navbar { height: auto; min-height: 6.807vh; }
@media (max-width: 1050px) { .navbar { min-height: 54px; } }
@media (max-width: 680px) { .navbar { min-height: 42px; } }
