/**
 * Guren AI - Enterprise Custom Transitions & Animations
 * Asset version: 20260926a
 */

html {
  scroll-behavior: smooth;
}

.serif-italic {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
}

/* Apple-grade silky smooth transitions & micro-interactions */
.card-elevate {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}
.card-elevate:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.07), 0 8px 16px -6px rgba(0, 0, 0, 0.03);
}

.btn-interact {
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease;
}
.btn-interact:hover {
  transform: translateY(-1.5px);
}
.btn-interact:active {
  transform: translateY(0.5px) scale(0.985);
}

/* Marquee Infinite Animation */
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

.marquee-container {
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}

.marquee-track {
  display: inline-flex;
  gap: 2.5rem;
  animation: marquee 35s linear infinite;
}

.marquee-track:hover {
  animation-play-state: paused;
}

/* Sound wave animation for Julia live voice */
@keyframes soundWave {
  0%, 100% { height: 4px; }
  50% { height: 20px; }
}

.animate-wave-1 { animation: soundWave 1.2s ease-in-out infinite; }
.animate-wave-2 { animation: soundWave 0.9s ease-in-out infinite 0.2s; }
.animate-wave-3 { animation: soundWave 1.4s ease-in-out infinite 0.4s; }
.animate-wave-4 { animation: soundWave 1.1s ease-in-out infinite 0.1s; }
.animate-wave-5 { animation: soundWave 1.3s ease-in-out infinite 0.3s; }
