/* ================================================
   index.css — Estilos exclusivos de la página de inicio
   No uses este archivo en otras páginas.
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* Sobreescribe la fuente base para esta página */
body {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  margin-bottom: 0; /* neutraliza el margin-bottom: 60px del site.css */
}

/* Home-only guard: decorative artwork must never create a horizontal page scroll. */
#home-dynamic-content {
  overflow-x: clip;
}

/* ── Línea decorativa bajo los títulos de sección ── */
.section-title-bar::after {
  content: '';
  display: block;
  margin: .5rem auto 0;
  width: 4rem;
  height: 4px;
  background: #cc0000;
}

/* ── Animación de entrada para las tarjetas ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

.animate-card {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease, transform .6s ease;
}
.animate-card.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Transición del hero ── */
.hero-content {
  animation: fadeUp .7s ease both;
}
.hero-title  { animation: fadeUp .6s       ease both; }
.hero-sub    { animation: fadeUp .6s .2s   ease both; }
.hero-btn    { animation: fadeUp .6s .4s   ease both; }

/* ── Scroll-reveal system ── */
[data-reveal] {
  opacity: 0;
  transition: opacity 0.55s ease-out, translate 0.55s ease-out, scale 0.55s ease-out;
}
[data-reveal="fade-up"]    { translate: 0 32px; }
[data-reveal="fade-right"] { translate: -36px 0; }
[data-reveal="fade-left"]  { translate: 36px 0; }
[data-reveal="zoom-in"]    { scale: 0.93; }

[data-reveal].revealed {
  opacity: 1;
  translate: 0 0;
  scale: 1;
}

[data-reveal-delay="1"] { transition-delay: 0.08s; }
[data-reveal-delay="2"] { transition-delay: 0.16s; }
[data-reveal-delay="3"] { transition-delay: 0.24s; }
[data-reveal-delay="4"] { transition-delay: 0.32s; }

/* Sideways reveals can temporarily extend beyond a narrow viewport. Keep the
   fade while reserving horizontal movement for screens with sufficient room. */
@media (max-width: 767px) {
  [data-reveal="fade-right"],
  [data-reveal="fade-left"] {
    translate: 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    translate: 0 0;
    scale: 1;
    transition: none;
  }
}

/* ━━ Typewriter Cursor ━━ */
.typewriter-cursor::after {
  content: '|';
  margin-left: 3px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.9);
  animation: blinkCursor 0.9s step-end infinite;
}

@keyframes blinkCursor {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
