html, body { min-height: 100%; background: #000; }

.bg-overlay {
  position: fixed; inset: 0; z-index: -1;
  background: linear-gradient(120deg, rgba(0,255,255,0.08) 0%, rgba(0,0,0,0.95) 40%, rgba(255,0,255,0.08) 100%);
  background-size: 200% 200%; animation: equinoxeFlow 18s ease infinite;
}
@keyframes equinoxeFlow { 0%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } 100%{ background-position:0% 50%; } }

header, nav, main, footer { position: relative; z-index: 1; }

body { display: flex; flex-direction: column; }

header {
  padding: 28px 20px 10px;
  text-align: center;
}

header > h1 {
  margin: 0;
  color: #00ffff;
  font-size: clamp(1.7rem, 4vw, 3.2rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-shadow: 0 0 8px rgba(0,255,255,0.9), 0 0 22px rgba(0,255,255,0.55), 0 0 40px rgba(255,0,255,0.35);
}

.legal-header-subtitle {
  margin: 8px 0 0;
  color: rgba(255,255,255,0.85);
  font-size: 0.9rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  text-shadow: 0 0 12px rgba(255,255,255,0.35);
}

nav {
  padding: 10px 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  border-bottom: 1px solid rgba(0,255,255,0.10);
  background: rgba(0,0,0,0.4);
}

nav a {
  color: rgba(0,255,255,0.65);
  text-decoration: none;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  transition: color 0.2s;
}

nav a:hover {
  color: #00ffff;
  text-decoration: underline;
}

.legal-container {
  max-width: 760px; margin: 50px auto 100px; padding: 40px 50px;
  background: linear-gradient(135deg, rgba(0,0,0,0.80), rgba(20,10,40,0.80));
  border: 1px solid rgba(0,255,255,0.20);
  border-radius: 14px;
  box-shadow: 0 0 30px rgba(0,255,255,0.10), inset 0 0 40px rgba(255,0,255,0.04);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  animation: fadeIn 1s ease forwards;
}
@keyframes fadeIn { from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:translateY(0); } }
@media (max-width: 640px) { .legal-container { margin: 20px 16px 80px; padding: 28px 22px; } }

.legal-tag {
  display: inline-block; font-size: 0.72em; letter-spacing: 0.14em;
  color: rgba(0,255,255,0.6); text-transform: uppercase; margin-bottom: 8px;
}

.legal-container h1 {
  color: #00ffff; font-size: 1.3em; letter-spacing: 0.1em;
  text-transform: uppercase; text-shadow: 0 0 14px rgba(0,255,255,0.5);
  margin: 0 0 6px;
}

.legal-date { font-size: 0.78em; color: rgba(255,255,255,0.30); margin-bottom: 36px; }

.legal-intro-box {
  border: 1px solid rgba(0,255,255,0.2);
  background: rgba(0,255,255,0.04);
  padding: 16px 20px;
  border-radius: 8px;
  margin-bottom: 10px;
}

.legal-section { margin-bottom: 30px; }

.legal-section h2 {
  font-size: 0.82em; letter-spacing: 0.12em; text-transform: uppercase;
  color: #00ffff; border-left: 2px solid #00ffff;
  padding-left: 10px; margin-bottom: 12px;
  text-shadow: 0 0 8px rgba(0,255,255,0.4);
}

.legal-section p, .legal-section li {
  font-size: 0.88em; color: rgba(255,255,255,0.65);
  line-height: 1.75; margin: 0 0 6px;
}

.legal-section ul { padding-left: 18px; }
.legal-section a { color: rgba(0,255,255,0.7); text-decoration: none; }
.legal-section a:hover { text-decoration: underline; }

hr.sep {
  border: none; border-top: 1px solid rgba(0,255,255,0.10); margin: 32px 0;
}

.footer-equinoxe {
  margin-top: 0; padding: 25px 20px; text-align: center; font-size: 0.9em; color: #fff;
  background: linear-gradient(135deg, rgba(0,0,0,0.65), rgba(20,10,40,0.65));
  border-top: 1px solid rgba(0,255,255,0.25);
  box-shadow: 0 -10px 30px rgba(0,255,255,0.12), inset 0 0 20px rgba(255,0,255,0.05);
  backdrop-filter: blur(6px);
}
.footer-sub { font-size: 0.8em; color: #00ffff; letter-spacing: 0.05em; }
.footer-links { margin-top: 10px; font-size: 0.78em; }
.footer-links a { color: rgba(0,255,255,0.6); text-decoration: none; margin: 0 8px; }
