.image-section { position: relative; width: 100%; min-height: 100vh; overflow: hidden; } .image-container { position: relative; width: 100%; height: 100%; } h1 { position: relative; opacity: 1; /* Aseguramos que el texto sea visible por defecto */ color: #ffffff; transform: translateY(0); } /* Clase para la animación de entrada */ .animate-in { animation: slideIn 1.5s ease-out forwards; } /* Clase para la animación de salida */ .animate-out { animation: slideOut 1.5s ease-out forwards; } @keyframes slideIn { from { transform: translateY(50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes slideOut { from { transform: translateY(0); opacity: 1; } to { transform: translateY(-50px); opacity: 0; } } .image-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 1; } .main-image { width: 100%; height: 100vh; object-fit: cover; display: block; } .hero-content { position: absolute; top: 50%; left: 10%; transform: translateY(-50%); color: white; z-index: 2; max-width: 600px; } .hero-content h1 { font-size: 5rem; margin-bottom: 1rem; font-weight: 700; line-height: 1.2; } .hero-content p { font-size: 1.1rem; line-height: 1.6; margin-bottom: 2rem; max-width: 90%; } .cta-button { background-color: #f20784; color: white; border: none; padding: 12px 30px; font-size: 0.9rem; border-radius: 25px; cursor: pointer; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; } .cta-button:hover { background-color: #e60679; } /* Estilos responsivos */ @media (max-width: 768px) { .hero-content { left: 5%; padding-right: 5%; } .hero-content h1 { font-size: 2.5rem; } .hero-content p { font-size: 1rem; } } @media (max-width: 480px) { .hero-content h1 { font-size: 3rem; } .hero-content p { font-size: 0.9rem; } .cta-button { padding: 10px 25px; font-size: 0.8rem; } }