.carousel-caption h1,
.carousel-caption h2 {
  display: inline-block;                 /* permite transform/animaciones sin romper el flujo */
  position: relative;
  margin: 0;
  color: #ffd966;                        /* tono dorado base */
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  /* animaciones combinadas: movimiento y pulso de brillo */
  animation: floatY 6s ease-in-out infinite,
             pulseGlow 2.6s ease-in-out infinite;
  text-shadow: 0 2px 6px rgba(0,0,0,0.6),  /* sombra para profundidad */
               0 0 8px rgba(255,214,102,0.10); /* brillo sutil */
}

/* Keyframes: ligero movimiento vertical (energía viva) */
@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50%     { transform: translateY(-6px); } /* subtíl - ajustar si quieres más/menos */
}

/* Keyframes: pulso de brillo (text-shadow cambia) */
@keyframes pulseGlow {
  0%, 100% {
    text-shadow: 0 2px 6px rgba(0,0,0,0.6),
                 0 0 6px rgba(255,214,102,0.08);
  }
  50% {
    text-shadow: 0 6px 18px rgba(0,0,0,0.65),
                 0 0 20px rgba(255,214,102,0.35);
  }
}

/* --- Opcional: efecto "shimmer" metálico desplazándose (aplicar con clase .shimmer) --- */
.carousel-caption h1.shimmer,
.carousel-caption h2.shimmer {
  background: linear-gradient(
    90deg,
    rgba(255,214,102,0.95) 0%,
    rgba(255,255,255,0.95) 35%,
    rgba(255,214,102,0.95) 70%
  );
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: shimmer 3s linear infinite, floatY 6s ease-in-out infinite;
}

/* Keyframes shimmer */
@keyframes shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Accesibilidad: respeta prefer-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .carousel-caption h1,
  .carousel-caption h2 {
    animation: none !important;
    transition: none !important;
    text-shadow: 0 2px 6px rgba(0,0,0,0.6);
    transform: none !important;
  }
  .carousel-caption h1.shimmer,
  .carousel-caption h2.shimmer {
    color: #ffd966;             /* fallback visible si no hay clipping */
    background: none;
    -webkit-background-clip: initial;
    background-clip: initial;
    -webkit-text-fill-color: initial;
  }
}