diff --git a/src/app/globals.css b/src/app/globals.css
index f154bf3..8932bd0 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -88,9 +88,18 @@ button {
transform: translateY(-14px) rotate(0.6deg);
}
}
-@media (prefers-reduced-motion: reduce) {
- * {
- animation: none !important;
+/* Dérive lente des étoiles. Utilise la propriété `translate` (indépendante de
+ `transform`) pour se cumuler avec le scintillement `plr-twinkle`. */
+@keyframes plr-drift {
+ 0%,
+ 100% {
+ translate: 0 0;
+ }
+ 33% {
+ translate: 12px -18px;
+ }
+ 66% {
+ translate: -10px 10px;
}
}
@@ -98,6 +107,20 @@ button {
clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
}
+/* ---- Champ d'étoiles flottantes ---- */
+.starfield {
+ position: absolute;
+ inset: 0;
+ overflow: hidden;
+ pointer-events: none;
+ z-index: 0;
+}
+.starfield .star {
+ position: absolute;
+ animation: plr-twinkle var(--tw, 3.2s) ease-in-out infinite,
+ plr-drift var(--dr, 9s) ease-in-out infinite;
+}
+
/* ---- Scroll-reveal entrance animations ---- */
@keyframes plr-fade-up {
from {
@@ -134,16 +157,6 @@ button {
.reveal-stagger.is-visible > *:nth-child(8) { animation-delay: 0.46s; }
.reveal-stagger.is-visible > *:nth-child(n + 9) { animation-delay: 0.52s; }
-@media (prefers-reduced-motion: reduce) {
- .reveal,
- .reveal-stagger > * {
- opacity: 1 !important;
- }
- .reveal.is-visible,
- .reveal-stagger.is-visible > * {
- animation: none !important;
- }
-}
.twinkle {
animation: plr-twinkle 3.2s ease-in-out infinite;
}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 0cb2beb..787d49d 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -5,6 +5,7 @@ import { SiteHeader } from "@/components/SiteHeader";
import { SiteFooter } from "@/components/SiteFooter";
import { MembershipModalButton } from "@/components/MembershipModalButton";
import { MembersCarousel } from "@/components/MembersCarousel";
+import { StarField } from "@/components/StarField";
import { getLivePromotions, getRotatingActiveMembers } from "@/lib/queries";
export const dynamic = "force-dynamic";
@@ -40,12 +41,9 @@ export default async function AccueilPage() {
className="grid hero-grid"
style={{ position: "relative", padding: "30px 0 50px", overflow: "hidden", alignItems: "center" }}
>
-