/* ==========================================================================
   IncubArte — Hero de inicio (video a pantalla completa) y contador
   ========================================================================== */

.hero {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 100svh;
  padding: calc(var(--nav-height) + var(--space-xl)) var(--gutter) var(--space-2xl);
  overflow: hidden;
  isolation: isolate;
}

.hero__video,
.hero__poster {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Filtro negro sobre el video — único uso permitido del negro como fondo */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    to bottom,
    rgb(0 0 0 / 0.70) 0%,
    rgb(0 0 0 / 0.52) 35%,
    rgb(0 0 0 / 0.62) 100%
  );
}

.hero__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
  width: 100%;
  max-width: 980px;
  text-align: center;
  color: var(--blanco);
}

.hero__title {
  margin: 0;
  font-size: var(--text-hero);
  font-weight: var(--fw-bold);
  line-height: 0.95;
  letter-spacing: var(--tracking-tight);
  color: var(--verde);
}

.hero__subtitle {
  margin: 0;
  font-size: var(--text-lg);
  font-weight: var(--fw-light);
  letter-spacing: 0.01em;
  color: var(--blanco);
}

/* --- Contador regresivo ---------------------------------------------------- */
.countdown {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(0.5rem, 2.5vw, 2.5rem);
  margin-block: var(--space-md);
}

.countdown__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: clamp(64px, 11vw, 120px);
}

.countdown__value {
  font-size: var(--text-counter);
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: var(--tracking-tight);
  color: var(--blanco);
  font-variant-numeric: tabular-nums;
  /* Reserva de espacio para evitar saltos de layout al actualizar */
  min-width: 2ch;
  text-align: center;
}

.countdown__label {
  margin-top: var(--space-2xs);
  font-size: var(--text-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--verde);
}

.countdown__sep {
  align-self: flex-start;
  font-size: var(--text-counter);
  font-weight: var(--fw-light);
  line-height: 1;
  color: var(--verde);
  user-select: none;
}

.countdown.is-finished .countdown__value {
  color: var(--verde);
}

/* --- Indicador de scroll ------------------------------------------------------ */
.hero__scroll {
  position: absolute;
  inset-block-end: var(--space-lg);
  inset-inline-start: 50%;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--blanco);
  cursor: pointer;
  animation: hero-bounce 2.2s var(--ease-in-out) infinite;
}

.hero__scroll svg {
  width: 22px;
  height: 22px;
}

@keyframes hero-bounce {
  0%, 100% { transform: translate(-50%, 0); }
  50%      { transform: translate(-50%, 9px); }
}

/* --- Hero secundario (resto de páginas) ---------------------------------------- */
.page-hero {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(280px, 38vh, 420px);
  padding: calc(var(--nav-height) + var(--space-xl)) var(--gutter) var(--space-xl);
  text-align: center;
  isolation: isolate;
  overflow: hidden;
}

.page-hero--verde { background: var(--verde); color: var(--negro); }
.page-hero--rosa  { background: var(--rosa);  color: var(--blanco); }
.page-hero--azul  { background: var(--azul);  color: var(--negro); }
.page-hero--blanco { background: var(--blanco); color: var(--negro); }

/* Hero con fotografía + sombreado negro */
.page-hero--foto {
  color: var(--blanco);
}

.page-hero__img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-hero--foto::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgb(0 0 0 / 0.58);
}

.page-hero__title {
  margin: 0;
  font-size: var(--text-3xl);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-tight);
}

.page-hero__sub {
  margin: var(--space-xs) 0 0;
  font-size: var(--text-lg);
  font-weight: var(--fw-light);
}

/* Cinta de continuidad bajo el título de sección */
.page-hero__rule {
  width: 56px;
  height: 3px;
  margin: 0 auto var(--space-md);
  background: currentColor;
}

@media (max-width: 640px) {
  .countdown {
    gap: var(--space-xs);
  }
  .countdown__sep {
    display: none;
  }
  .countdown__unit {
    min-width: 0;
    flex: 1;
  }
}
