* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Helvetica", Arial, sans-serif;
  color: #636e77;
  overflow: hidden;
  background: linear-gradient(135deg, #dbe2eb, #f0f0f5); /* hellgraublau bis hellgrau */
  background-size: 400% 400%;
  animation: gradientShift 120s ease infinite;
}

@keyframes gradientShift {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}

.page-wrapper {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 2rem 1rem;
  padding-bottom: env(safe-area-inset-bottom, 2rem);
}

.content-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.3s;
}

@keyframes fadeInUp {
  to { opacity: 1; transform: translateY(0); }
}

.content { max-width: 800px; }

.logo {
  width: 100%;
  max-width: 500px;
  height: auto;
  margin-bottom: 20px;
  transition: all 0.5s ease;
}

@media (max-width: 1024px) { .logo { max-width: 400px; } }
@media (max-width: 600px)  { .logo { max-width: 340px; } }

.title { font-size: 1.5rem; margin-bottom: 1rem; }

.info a { color: #636e77; text-decoration: none; }
.info a:hover { text-decoration: underline; }

.logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin-top: 4rem;
  flex-wrap: wrap;
}

.logos img {
  height: 50px;
  opacity: 0;
  transform: scale(0.8);
  animation: logoFadeIn 0.6s forwards;
  transition: transform 0.3s ease, filter 0.3s ease;
}

@keyframes logoFadeIn {
  to { opacity: 1; transform: scale(1); }
}

.logos img:nth-child(1) { animation-delay: 0.3s; }
.logos img:nth-child(2) { animation-delay: 0.6s; }
.logos img:nth-child(3) { animation-delay: 0.9s; }
.logos img:nth-child(4) { animation-delay: 1.2s; }

.logos img:hover {
  transform: scale(1.1);
  filter: brightness(1.1);
}

footer {
  padding: 1.5rem 1rem;
  font-size: 0.75rem;
  text-align: center;
  opacity: 0.85;
  width: 100%;
  margin-bottom: env(safe-area-inset-bottom, 0);
}

footer a { color: #636e77; text-decoration: none; }
footer a:hover { text-decoration: underline; }
