.splash-container {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  z-index: 9999;
  background: linear-gradient(120deg, rgba(7, 17, 31, 0.98) 0%, rgba(10, 20, 34, 0.98) 100%);
  transition: opacity 1s;
  will-change: opacity;
}

.splash-container.hidden {
  opacity: 0;
  pointer-events: none;
}

.dynamic-logo-splash {
  width: min(24rem, 62vw);
  height: min(24rem, 62vw);
  filter: drop-shadow(0 0 2.4rem rgba(143, 215, 255, 0.16));
}

.headline,
.headline_titre {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.08em;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-strong) 100%);
  background-size: 140% 140%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  text-shadow: 0 6px 18px rgba(143, 215, 255, 0.18);
  animation: gradientFlow 6s infinite alternate, headlineAppear 2s ease forwards 1s;
  opacity: 0;
  transform: translateY(-40px);
}

.headline { font-size: 3.2rem; }
.headline_titre { font-size: 1.85rem; }

@keyframes gradientFlow {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

@keyframes headlineAppear {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .dynamic-logo-splash {
    width: min(18rem, 70vw);
    height: min(18rem, 70vw);
  }

  .headline {
    font-size: 2.5rem;
  }
}

@media (max-width: 560px) {
  .headline {
    font-size: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .splash-container,
  .headline,
  .headline_titre,
  .featured-loading::before {
    animation: none !important;
    transition: none !important;
  }

  .headline,
  .headline_titre {
    opacity: 1;
    transform: none;
  }
}
