/* ── 2.1 Hero Home — Scroll-driven canvas ── */

.hero-home {
  position: relative;
  height: 300vh;
  background-color: var(--color-white);
}

.hero-home__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Canvas background */
.hero-home__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: var(--z-base);
  will-change: contents;
}

/* Poster fallback (visible hasta que canvas está listo) */
.hero-home__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: var(--z-base);
}

.hero-home--canvas-ready .hero-home__poster {
  display: none;
}

/* Content */
.hero-home__content {
  position: relative;
  z-index: var(--z-content);
  text-align: center;
  padding: 0 var(--space-md);
}

.hero-home__h1 {
  text-align: center;
}

.hero-home__kicker {
  display: block;
  font-size: var(--text-statement);
  font-weight: var(--fw-regular);
  color: var(--color-dark);
  letter-spacing: var(--ls-tight);
  margin-bottom: var(--space-xs);
}

.hero-home__headline {
  display: block;
  font-size: var(--text-hero);
  font-weight: var(--fw-bold);
  color: var(--color-dark);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
}

/* CTA — usa btn btn--primary con tamaño hero */
.hero-home__cta {
  display: inline-flex;
  align-items: center;
  margin-top: var(--space-lg);
  padding: calc(var(--space-sm) + var(--space-xs)) var(--space-md);
  border-radius: var(--radius-full);
  color: var(--color-dark);
  font-size: var(--text-lg);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-tight);
  border: none;
  background-color: var(--color-accent);
  transition: opacity var(--duration-fast);
}

.hero-home__cta:hover {
  opacity: 0.85;
}

/* Footer link */
.hero-home__footer {
  position: absolute;
  top: var(--space-lg);
  z-index: var(--z-content);
  text-align: center;
  display: flex;
  align-items: center;
  gap: 0;
  font-size: var(--text-lg);
  font-weight: var(--fw-regular);
  color: var(--color-dark);
}

.hero-home__footer-link {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--space-2xs) + var(--space-2xs));
  font-weight: var(--fw-regular);
  color: var(--color-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: text-decoration-color var(--duration-fast);
}

.hero-home__footer-link:hover {
  text-decoration-color: var(--color-accent);
}

/* Hero Home — Mobile */
@media (max-width: 768px) {
  .hero-home__kicker {
    font-size: var(--text-lg);
  }

  .hero-home__headline {
    font-size: var(--text-statement);
    line-height: var(--lh-snug);
  }

  .hero-home__cta {
    padding: 18px 28px;
    font-size: var(--text-body);
  }

  .hero-home__footer {
    top: var(--space-md);
    font-size: var(--text-body);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .hero-home__canvas {
    display: none;
  }

  .hero-home--canvas-ready .hero-home__poster {
    display: block;
  }
}
