#hero .hero-caption.hero-text-cycle {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  width: min(100%, 420px);
  max-width: 420px;
  min-height: 28px;
  margin-top: 18px;
  overflow: hidden;
  color: #e9d9b5;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0;
}
.hero-text-cycle span {
  grid-area: 1 / 1;
  display: block;
  opacity: 0;
  transform: translateY(12px);
  animation: hero-guide-cycle 12s ease-in-out infinite;
}
.hero-text-cycle span:nth-child(2) { animation-delay: 4s; }
.hero-text-cycle span:nth-child(3) { animation-delay: 8s; }
.hero-text-cycle:hover span { animation-play-state: paused; }
@keyframes hero-guide-cycle {
  0%, 2% { opacity: 0; transform: translateY(12px); }
  5%, 28% { opacity: 1; transform: translateY(0); }
  32%, 100% { opacity: 0; transform: translateY(-12px); }
}
#hero .hero-copy h1 strong {
  background-size: 200% 100%;
  animation: hero-title-light 3.5s ease-out 1;
}
@keyframes hero-title-light {
  from { background-position: 100% 50%; }
  to { background-position: 0 50%; }
}
@media (max-width: 640px) {
  #hero .hero-caption.hero-text-cycle { font-size: 11px; margin-top: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-text-cycle span { animation: none; transform: none; display: none; }
  .hero-text-cycle span:first-child { display: block; opacity: 1; }
  #hero .hero-copy h1 strong { animation: none; }
}
