/*————————————————————*/
:root {
  --blue-dark: #002b49;
  --transition-duration: 0.8s;
}
/* Overlay básico */
#page-curtain {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--blue-dark);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  touch-action: none;
  transform: translateY(-100%);
  opacity: 0;
  transition: transform var(--transition-duration) ease,
    opacity var(--transition-duration) ease;
}
#page-curtain.loaded {
  transform: translateY(0);
  opacity: 1;
}
#page-curtain .curtain-content h1,
#page-curtain .curtain-content p {
  color: #fff !important;
}
/* Estado “oculto” */
#page-curtain.loaded.hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
  transition: transform var(--transition-duration) ease,
    opacity var(--transition-duration) ease;
}


/*————————————————————*/
/* Definición de keyframes */
/* — Animaciones por defecto — */
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

/*————————————————————*/
/* Cuando sumes .animate, dispara */
/* Aplica las animaciones directamente */
#page-curtain .curtain-content h1 {
  opacity: 0;
  animation: slideInLeft 0.8s ease-out 0.3s forwards;
}
#page-curtain .curtain-content p {
  opacity: 0;
  animation: slideInRight 0.8s ease-out 0.6s forwards;
}
#btn-reveal {
  opacity: 0;
  background: #fff !important;
  color: var(--blue-dark) !important;
  border: none;
  animation: fadeInUp 0.8s ease-out 0.9s forwards,
    pulse 2s ease-in-out 1.7s infinite;
}
