/* BASE */

html, body {
  margin: 0;
  padding: 0;
  background: radial-gradient(circle at 50% 30%, #0b1021, #050508 75%);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #ffffff;
  overflow-x: hidden;
}

/* ÉTOILES */

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(2px 3px at 10% 20%, rgba(255,255,255,.35), transparent),
    radial-gradient(3px 4px at 30% 80%, rgba(255,255,255,.25), transparent),
    radial-gradient(2px 3px at 60% 40%, rgba(255,255,255,.3), transparent),
    radial-gradient(3px 4px at 80% 70%, rgba(255,255,255,.2), transparent),
    radial-gradient(2px 3px at 50% 10%, rgba(255,255,255,.15), transparent),
    radial-gradient(3px 4px at 70% 30%, rgba(255,255,255,.18), transparent),
    radial-gradient(2px 3px at 20% 60%, rgba(255,255,255,.22), transparent);
  animation: stars 40s linear infinite;
}

@keyframes stars {
  from { transform: translateY(0); }
  to   { transform: translateY(-800px); }
}

/* CONTAINER */

.container {
  min-height: 100svh; /* SAFE viewport (clé iOS) */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 20px;
}

/* LOGOS */

.logos {
  display: flex;
  flex-direction: row;
  gap: 40px;
  justify-content: center;
  align-items: center;
}

.logo {
  max-width: 260px;
  opacity: 0;
  animation: logoIn 1.2s ease forwards, halo 6s ease-in-out infinite;
  filter: drop-shadow(0 0 18px rgba(255,255,255,.25));
}

.logo-sub {
  animation-delay: 0.8s;
}

@keyframes logoIn {
  to { opacity: 1; }
}

@keyframes halo {
  0%,100% { filter: drop-shadow(0 0 14px rgba(255,255,255,.18)); }
  50% { filter: drop-shadow(0 0 28px rgba(255,255,255,.35)); }
}

/* TEXTE */

.teaser {
  margin-top: 20px;
}

/* quelque chose se prepare */

.teaser-title {
  font-size: 1.1rem;
  margin-bottom: 12px;
}

/* on en parle */

.teaser-text {
  font-size: 1rem;
  margin-bottom: -10px;
}

.teaser-contact a {
  color: #f5f5f5;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.35);
}

/* MOBILE */

@media (max-width: 768px) {

  .container {
    justify-content: flex-start;
    padding-top: 40px;
  }

  .logos {
    flex-direction: column;
    gap: 20px;
  }

  .logo {
    max-width: 200px;
  }
}
