/* Estado inicial: todo oculto */
header,
main {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s ease, transform 1s ease;
}

/* Header aparece primero */
body.show-header header {
  opacity: 1;
  transform: translateY(0);
}

/* Main aparece después */
body.show-main main {
  opacity: 1;
  transform: translateY(0);
}





body::after {
  content: "";
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 35vh;

  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.85),
    rgba(0, 0, 0, 0.4),
    transparent
  );

  opacity: 0;
  transform: translateY(40px);
  pointer-events: none;
  z-index: 999;

  transition: opacity 2s ease, transform 2s ease;
}

body.gradient-bottom::after {
  opacity: 1;
  transform: translateY(0);
}