html { scroll-behavior: smooth; }
section { scroll-margin-top: 5rem; }

/* Review wall (German pages) */
.review-wall-container {
  -webkit-mask-image: linear-gradient(to right, transparent, black 20%, black 80%, transparent);
  mask-image: linear-gradient(to right, transparent, black 20%, black 80%, transparent);
}

.review-row {
  animation: scroll-wall linear infinite;
}

.review-wall-container:hover .review-row {
  animation-play-state: paused;
}

.review-row:nth-child(1) {
  top: 0;
  position: absolute;
  animation-duration: 80s;
}

.review-row:nth-child(2) {
  top: calc(50% - 70px);
  position: absolute;
  animation-duration: 90s;
  animation-direction: reverse;
}

.review-row:nth-child(3) {
  bottom: 0;
  position: absolute;
  animation-duration: 70s;
}

@keyframes scroll-wall {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Star pulse animation */
.star-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.7} }

/* Polished legal page styles */
.prose h2 {
  font-size: 1.25rem;
  margin-top: 2em;
  margin-bottom: 1em;
  font-weight: 600;
}

.prose a {
  color: #D4AF37;
  font-weight: 500;
  text-decoration: none;
  transition: opacity 0.2s;
}

.prose a:hover {
  opacity: 0.8;
}

.prose hr {
  border-color: #e5e7eb;
  margin-top: 2.5em;
  margin-bottom: 2.5em;
}
