* { 
    box-sizing: border-box;
}

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .55s ease, transform .55s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.faq-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}

.faq-body.open {
    max-height: 360px;
}

.audience-track {
  animation: audienceScroll 50s linear infinite;
}

.audience-track:hover {
  animation-play-state: paused;
}

.audience-card {
  width: 310px;
  min-height: 230px;
  flex-shrink: 0;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  padding: 1.75rem;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.audience-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  border-color: rgba(3, 169, 244, 0.35);
}

.audience-card h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: .5rem;
}

.audience-card p {
  font-size: .875rem;
  color: #6b7280;
  line-height: 1.65;
}

section[id] {
  scroll-margin-top: 76px;
}

@keyframes audienceScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}