#accueil {
  min-height: 100vh;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 0 2rem; position: relative; overflow: hidden;
}

/* Blobs */
.blob { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; }
.blob-1 { width: 600px; height: 600px; background: radial-gradient(circle, rgba(232,80,122,0.18), transparent 70%); top: -100px; left: -100px; animation: drift1 12s ease-in-out infinite; }
.blob-2 { width: 500px; height: 500px; background: radial-gradient(circle, rgba(155,89,245,0.15), transparent 70%); bottom: -80px; right: -80px; animation: drift2 15s ease-in-out infinite; }
.blob-3 { width: 300px; height: 300px; background: radial-gradient(circle, rgba(232,80,122,0.1), transparent 70%); top: 50%; left: 50%; transform: translate(-50%,-50%); animation: drift3 8s ease-in-out infinite; }

@keyframes drift1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(60px,40px)} }
@keyframes drift2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-40px,-60px)} }
@keyframes drift3 { 0%,100%{transform:translate(-50%,-50%) scale(1)} 50%{transform:translate(-50%,-50%) scale(1.3)} }

/* Hero tag */
.hero-tag {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase;
  border: 1px solid var(--border); color: var(--rose);
  padding: 0.4rem 1.2rem; border-radius: 100px; margin-bottom: 2rem;
  opacity: 0; animation: fadeUp 0.8s 0.2s forwards;
}
.hero-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--rose); }

/* Title */
h1.hero-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(4.5rem, 12vw, 10rem);
  font-weight: 700; line-height: 0.9; letter-spacing: -0.02em; margin-bottom: 0.2em;
  opacity: 0; animation: fadeUp 0.8s 0.4s forwards;
}
.glory { color: var(--cream); }
.land { font-style: italic; background: linear-gradient(135deg, var(--rose) 30%, var(--violet)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

/* Subtitle & CTA */
.hero-sub { font-size: clamp(0.9rem, 1.5vw, 1.1rem); color: var(--muted); line-height: 1.7; max-width: 480px; margin: 0 auto 3rem; opacity: 0; animation: fadeUp 0.8s 0.6s forwards; }
.hero-cta { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; opacity: 0; animation: fadeUp 0.8s 0.8s forwards; }

/* Stats */
.hero-stats { position: absolute; bottom: 3rem; left: 50%; transform: translateX(-50%); display: flex; gap: 3rem; align-items: center; opacity: 0; animation: fadeUp 0.8s 1.2s forwards; }
.stat-item { text-align: center; }
.stat-num { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 700; background: linear-gradient(135deg, var(--rose), var(--violet)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: block; }
.stat-label { font-size: 0.7rem; color: var(--muted); letter-spacing: 0.12em; text-transform: uppercase; }
.stat-sep { width: 1px; height: 40px; background: var(--border); }

@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
