/* ==========================================================================
   ANIMATION ENGINE CSS (Lenis + GSAP)
   ========================================================================== */

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

html,
body {
  overflow-x: clip;
}

body.home-page {
  /* No forced background, default to white/transparent as in ancient version */
}

body.home-page [data-reveal],
body.home-page [data-stagger-child],
body.home-page [data-parallax],
body.home-page [data-magnetic] {
  will-change: transform, opacity;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

html.animations-ready body.home-page [data-reveal]:not([data-reveal="fade-in"]):not([data-reveal="scale"]):not(.is-revealed),
html.animations-ready body.home-page [data-stagger-child]:not(.is-revealed) {
  opacity: 0;
  transform: perspective(1100px) translate3d(0, 44px, -70px) rotateX(6deg) scale(0.965);
  filter: blur(8px);
}

html.animations-ready body.home-page [data-reveal="fade-in"]:not(.is-revealed) {
  opacity: 0;
  transform: translate3d(0, 0, -20px);
  filter: blur(8px);
}

html.animations-ready body.home-page [data-reveal="scale"]:not(.is-revealed) {
  opacity: 0;
  transform: perspective(1100px) translate3d(0, 28px, -80px) rotateX(7deg) scale(0.94);
  filter: blur(9px);
}

html.animations-ready body.home-page .home-hero-section [data-reveal]:not(.is-revealed) {
  opacity: 0.55;
  transform: translate3d(0, 14px, 0) scale(0.99);
  filter: none;
}

@media (hover: hover) and (pointer: fine) {
  body.home-page [data-hover-lift].is-revealed {
    transition: transform 0.34s cubic-bezier(0.16, 0.84, 0.36, 1), box-shadow 0.34s ease, border-color 0.34s ease;
  }

  body.home-page [data-hover-lift].is-revealed:hover {
    transform: perspective(900px) translateY(-9px) translateZ(28px) rotateX(2deg) scale(1.012);
    box-shadow: 0 26px 58px rgba(6, 187, 204, 0.16), 0 14px 32px rgba(0, 0, 0, 0.2);
    border-color: rgba(6, 187, 204, 0.34);
  }
}

body.home-page [data-scroll-section] {
  transform-style: preserve-3d;
  perspective: 1200px;
  /* Technologie CSS ultra-moderne : Ne calcule l'affichage que quand la section est visible (0 lag sur mobile) */
  content-visibility: auto;
  contain-intrinsic-size: 1000px;
}

body.home-page [data-scroll-section] > .container {
  will-change: transform, opacity, filter;
}

body.home-page [data-scroll-section].is-scroll-active {
  isolation: isolate;
}

body.home-page [data-scroll-section].is-scroll-active::selection {
  background: rgba(6, 187, 204, 0.26);
}

body.home-page .motion-hero-ready {
  --hero-motion-glow: 0.18;
}

body.home-page .motion-hero-ready::before {
  animation: motionHeroGlow 8s ease-in-out infinite;
}

body.home-page .motion-hero-ready::after {
  animation: motionHeroGrid 12s ease-in-out infinite;
}

body.home-page .motion-badge-live {
  transform-origin: center;
  animation: premiumBadgeGlow 3.6s ease-in-out infinite;
}

body.home-page .motion-shine {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

body.home-page .motion-shine::after {
  content: "";
  position: absolute;
  inset: -30% auto -30% -48%;
  z-index: -1;
  width: 42%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.36), transparent);
  transform: rotate(16deg);
  animation: motionCtaShine 4.8s ease-in-out infinite;
  pointer-events: none;
}

body.home-page .motion-visual-live {
  transform-style: preserve-3d;
  will-change: transform;
}

body.home-page .motion-card {
  position: relative;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

body.home-page .motion-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 20%), rgba(6, 187, 204, 0.16), transparent 42%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 40%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

body.home-page .motion-card:hover::after,
body.home-page .motion-card.motion-step-active::after,
body.home-page .motion-solution-card::after {
  opacity: 1;
}

body.home-page .motion-card > * {
  position: relative;
  z-index: 1;
}

body.home-page .motion-solution-card {
  box-shadow:
    0 26px 70px rgba(6, 187, 204, 0.22),
    0 0 34px rgba(199, 0, 57, 0.12) !important;
}

body.home-page .motion-stepper {
  --motion-progress: 0;
  position: relative;
}

body.home-page .motion-stepper::after {
  content: "";
  position: absolute;
  left: 28px;
  top: 28px;
  bottom: 28px;
  width: 2px;
  transform: scaleY(var(--motion-progress));
  transform-origin: top;
  background: linear-gradient(180deg, rgba(6, 187, 204, 0.95), rgba(199, 0, 57, 0.45));
  box-shadow: 0 0 18px rgba(6, 187, 204, 0.24);
  opacity: 0.72;
  pointer-events: none;
}

body.home-page .motion-step {
  transition: border-color 0.32s ease, box-shadow 0.32s ease;
}

body.home-page .motion-step-active {
  border-color: rgba(6, 187, 204, 0.42) !important;
  box-shadow: 0 24px 60px rgba(6, 187, 204, 0.16), 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}

body.home-page .motion-story-atmosphere {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  overflow: hidden;
}

/* Keep the ancient red/cyan network background only; remove the added blue veil. */
body.home-page .motion-story-atmosphere {
  display: none !important;
  opacity: 0 !important;
}

body.home-page .home-section,
body.home-page .story-section,
body.home-page .story-section-modern,
body.home-page footer {
  position: relative;
  z-index: 2;
}

body.home-page .home-section,
body.home-page .story-section-modern,
body.home-page .faq-section {
  overflow-x: clip !important;
}

body.home-page .home-section > .container,
body.home-page .story-section > .container,
body.home-page .story-section-modern > .container {
  position: relative;
  z-index: 3;
}

body.home-page .motion-story-orb {
  position: absolute;
  width: min(44vw, 560px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(10px);
  opacity: 0.34;
  transform: translate3d(0, 0, 0);
}

body.home-page .motion-story-orb-a {
  left: -14vw;
  top: 22vh;
  background: radial-gradient(circle, rgba(6, 187, 204, 0.44), transparent 66%);
}

body.home-page .motion-story-orb-b {
  right: -18vw;
  bottom: 12vh;
  background: radial-gradient(circle, rgba(199, 0, 57, 0.34), transparent 68%);
}

body.home-page .hero-cinematic-active {
  --cinematic-intensity: 0;
  overflow: hidden;
}

body.home-page .hero-cinematic-active::before {
  opacity: calc(0.35 + (var(--cinematic-intensity) * 0.45)) !important;
  transform: translate3d(0, 0, 0) scale(calc(1 + (var(--cinematic-intensity) * 0.035)));
}

body.home-page .hero-cinematic-active::after {
  opacity: calc(0.22 + (var(--cinematic-intensity) * 0.38)) !important;
}

body.home-page .hero-cinematic-active .cinematic-fade-1,
body.home-page .hero-cinematic-active .cinematic-fade-2,
body.home-page .hero-cinematic-active .cinematic-fade-3,
body.home-page .hero-cinematic-active .cinematic-fade-4 {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

html.animations-ready body.home-page .hero-cinematic-active .home-hero-section [data-reveal]:not(.is-revealed),
html.animations-ready body.home-page .hero-cinematic-active [data-reveal]:not(.is-revealed) {
  filter: none !important;
}

body.home-page .kinetic-title-ready {
  display: block;
  line-height: 1.12;
  text-wrap: balance;
}

body.home-page .kinetic-word {
  display: inline-flex;
  overflow: hidden;
  vertical-align: top;
  margin-right: 0.2em;
  padding-bottom: 0.04em;
  perspective: 900px;
}

body.home-page .kinetic-word-inner {
  display: inline-block;
  will-change: transform, opacity;
  transform-origin: 50% 100%;
}

body.home-page .cinematic-badge {
  position: relative;
  overflow: hidden;
}

body.home-page .cinematic-badge::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -35%;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.34), transparent);
  transform: rotate(16deg);
  animation: cinematicBadgeSweep 4.6s ease-in-out infinite;
  pointer-events: none;
}

body.home-page .cinematic-visual {
  box-shadow:
    0 28px 90px rgba(0, 0, 0, 0.34),
    0 0 54px rgba(6, 187, 204, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.home-page .motion-story-section {
  position: relative;
  isolation: isolate;
}

body.home-page .motion-story-section::before {
  content: "";
  position: absolute;
  left: clamp(16px, 3vw, 42px);
  top: 18%;
  width: 2px;
  height: 0;
  z-index: 0;
  border-radius: 99px;
  background: linear-gradient(180deg, rgba(6, 187, 204, 0.95), rgba(199, 0, 57, 0.38), transparent);
  box-shadow: 0 0 20px rgba(6, 187, 204, 0.24);
  opacity: 0;
  transition: height 0.85s cubic-bezier(0.16, 0.84, 0.36, 1), opacity 0.4s ease;
  pointer-events: none;
}

body.home-page .motion-story-section.is-story-active::before {
  height: 56%;
  opacity: 0.72;
}

body.home-page .creative-service-card {
  transform-origin: center;
}


body.home-page .creative-service-card:hover {
  border-color: rgba(6, 187, 204, 0.5) !important;
  box-shadow:
    0 30px 74px rgba(6, 187, 204, 0.18),
    0 14px 38px rgba(0, 0, 0, 0.22) !important;
}

body.home-page .why-cinematic-scene #why-cards-row {
  perspective: 1300px;
}

body.home-page .why-story-risk {
  filter: saturate(0.88);
}

body.home-page .why-story-solution {
  position: relative;
}

body.home-page .why-story-solution::after {
  opacity: 1;
  background:
    radial-gradient(circle at 50% 0%, rgba(6, 187, 204, 0.22), transparent 52%),
    linear-gradient(135deg, rgba(6, 187, 204, 0.14), rgba(199, 0, 57, 0.06));
}

body.home-page .why-story-active .why-story-solution {
  border-color: rgba(6, 187, 204, 0.74) !important;
}

body.home-page .cinematic-stepper {
  --motion-progress: 0;
}

body.home-page .cinematic-stepper .motion-step {
  transform-origin: center left;
}

body.home-page .creative-cta {
  box-shadow:
    0 14px 34px rgba(199, 0, 57, 0.16),
    0 0 20px rgba(6, 187, 204, 0.08);
}

body.home-page .creative-cta:hover {
  box-shadow:
    0 22px 48px rgba(199, 0, 57, 0.26),
    0 0 32px rgba(6, 187, 204, 0.18) !important;
}

body.home-page.connected-motion-journey .orbit-hub-ready {
  --journey-cyan: rgba(6, 187, 204, 0.72);
  --journey-red: rgba(199, 0, 57, 0.46);
}

body.home-page.connected-motion-journey .orbit-core {
  isolation: isolate;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12),
    0 0 44px rgba(6, 187, 204, 0.26),
    0 0 74px rgba(199, 0, 57, 0.2);
}

body.home-page.connected-motion-journey .orbit-satellite {
  animation: none !important;
  will-change: transform, opacity;
  border: 1px solid rgba(6, 187, 204, 0.34);
  box-shadow:
    0 14px 34px rgba(6, 187, 204, 0.2),
    0 0 20px rgba(255, 255, 255, 0.08);
}

body.home-page.connected-motion-journey .signature-pillar-bridge {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 1rem auto 0;
  max-width: 760px;
}

body.home-page.connected-motion-journey .pillar-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.42rem 0.82rem;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: linear-gradient(135deg, rgba(6, 187, 204, 0.16), rgba(255, 255, 255, 0.06), rgba(199, 0, 57, 0.12));
  border: 1px solid rgba(6, 187, 204, 0.26);
  box-shadow: 0 12px 30px rgba(6, 187, 204, 0.08);
}

body.home-page.connected-motion-journey .tools-flow-grid {
  perspective: 1400px;
}

body.home-page.connected-motion-journey .tools-flow-column {
  opacity: 1 !important;
  visibility: visible !important;
}

body.home-page.connected-motion-journey .tools-flow-card {
  position: relative;
  overflow: hidden;
  transform-style: preserve-3d;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home-page.connected-motion-journey .tools-flow-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    linear-gradient(115deg, transparent 18%, rgba(6, 187, 204, 0.1), transparent 48%),
    radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 18%), rgba(6, 187, 204, 0.12), transparent 38%);
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}

body.home-page.connected-motion-journey .tools-flow-card > * {
  position: relative;
  z-index: 1;
}

body.home-page.connected-motion-journey .tools-flow-active .tools-flow-card::before,
body.home-page.connected-motion-journey .tools-flow-card:hover::before {
  opacity: 1;
}

body.home-page.connected-motion-journey .product-demand-card[data-product-key="gemini"],
body.home-page.connected-motion-journey .product-demand-card[data-product-key="coursera"],
body.home-page.connected-motion-journey .product-demand-card[data-product-key="linkedin"],
body.home-page.connected-motion-journey .product-demand-card[data-product-key="canva"] {
  border-color: rgba(6, 187, 204, 0.28) !important;
}

body.home-page.connected-motion-journey #why.connected-decision-story #why-cards-row {
  position: relative;
}

body.home-page.connected-motion-journey .decision-line {
  position: absolute;
  left: 16.5%;
  right: 16.5%;
  top: 50%;
  height: 2px;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(199, 0, 57, 0.16), rgba(6, 187, 204, 0.82), rgba(6, 187, 204, 0.22));
  box-shadow: 0 0 24px rgba(6, 187, 204, 0.22);
}

body.home-page.connected-motion-journey .decision-cursor {
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: #06BBCC;
  box-shadow:
    0 0 0 8px rgba(6, 187, 204, 0.12),
    0 0 28px rgba(6, 187, 204, 0.5);
}

body.home-page.connected-motion-journey #why .decision-card {
  position: relative;
  z-index: 2;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home-page.connected-motion-journey #why .decision-card.is-dimmed,
body.home-page.connected-motion-journey #why .why-card-standard.why-visible.is-dimmed {
  opacity: 0.74 !important;
  filter: saturate(0.82) brightness(0.92) !important;
  transform: scale(0.965) translateY(2px) !important;
}

body.home-page.connected-motion-journey #why .decision-card.is-focused,
body.home-page.connected-motion-journey #why .why-card-premium.why-visible.is-focused {
  opacity: 1 !important;
  filter: brightness(1.08) saturate(1.12) !important;
  transform: scale(1.045) translateY(-8px) !important;
  border-color: rgba(6, 187, 204, 0.76) !important;
  box-shadow:
    0 26px 68px rgba(6, 187, 204, 0.2),
    0 16px 42px rgba(0, 0, 0, 0.28) !important;
}

body.home-page.connected-motion-journey .quality-bridge-scene .proof-pillar,
body.home-page.connected-motion-journey .verified-access-panel {
  position: relative;
}

body.home-page.connected-motion-journey .proof-pillar.is-complete::after,
body.home-page.connected-motion-journey .verified-access-panel.is-verified::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  border: 1px solid rgba(6, 187, 204, 0.28);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 0 30px rgba(6, 187, 204, 0.1);
}

body.home-page.connected-motion-journey .activation-journey-scene .process-grid {
  position: relative;
}

body.home-page.connected-motion-journey .journey-progress {
  position: absolute;
  left: 2%;
  right: 2%;
  top: 50%;
  height: 2px;
  z-index: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.14);
  overflow: hidden;
}

body.home-page.connected-motion-journey .journey-progress-fill {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, #06BBCC, rgba(199, 0, 57, 0.76), #06BBCC);
  box-shadow: 0 0 18px rgba(6, 187, 204, 0.32);
}

body.home-page.connected-motion-journey .journey-step {
  position: relative;
  z-index: 1;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home-page.connected-motion-journey .journey-step.is-active {
  border-color: rgba(6, 187, 204, 0.68) !important;
  box-shadow: 0 20px 58px rgba(6, 187, 204, 0.18), 0 12px 34px rgba(0, 0, 0, 0.22) !important;
}

body.home-page.connected-motion-journey .step-check {
  position: absolute;
  right: 18px;
  top: 18px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, #06BBCC, #128C7E);
  opacity: 0;
  transform: scale(0.72);
  transition: opacity 0.24s ease, transform 0.24s ease;
}

body.home-page.connected-motion-journey .journey-step.is-complete .step-check {
  opacity: 1;
  transform: scale(1);
}

body.home-page.connected-motion-journey .feedback-video-frame {
  position: relative;
  overflow: hidden;
}

body.home-page.connected-motion-journey .trust-card,
body.home-page.connected-motion-journey .journey-complete-card {
  opacity: 1 !important;
  visibility: visible !important;
}

body.home-page.connected-motion-journey .trust-scan-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 34%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(6, 187, 204, 0.22), rgba(255, 255, 255, 0.1), transparent);
  opacity: 0;
  mix-blend-mode: screen;
}

body.home-page.connected-motion-journey .feedback-video-play,
body.home-page.connected-motion-journey .feedback-video-frame video {
  position: relative;
  z-index: 4;
}

body.home-page.connected-motion-journey .feedback-proof-badge.is-verified {
  box-shadow: 0 0 0 1px rgba(6, 187, 204, 0.28), 0 0 24px rgba(6, 187, 204, 0.22);
}

body.home-page.connected-motion-journey .journey-complete-card {
  position: relative;
  overflow: hidden;
}

body.home-page.connected-motion-journey .journey-complete-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(115deg, transparent 10%, rgba(6, 187, 204, 0.18), rgba(255, 255, 255, 0.12), transparent 58%);
  transform: translateX(-110%);
}

body.home-page.connected-motion-journey .journey-complete-card.is-complete::after {
  animation: journeyCtaSweep 1.2s ease-out 1;
}

body.home-page.connected-motion-journey .cta-shine {
  position: relative;
  overflow: hidden;
}

/* 4CED Universe Impact: scoped to the Home hero only. */
body.home-page.fourced-universe-impact #ecosysteme-4ced {
  isolation: isolate;
}

body.home-page.fourced-universe-impact .fourced-visual-space {
  position: relative;
  overflow: visible;
  transform-style: preserve-3d;
  perspective: 1100px;
  margin-top: 0;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home-page.fourced-universe-impact #ecosysteme-4ced .home-hero-visual > .satellite-icon {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (min-width: 992px) {
  body.home-page.fourced-universe-impact #top-produits {
    margin-top: 0;
  }
}

body.home-page.fourced-universe-impact .fourced-universe-stage {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  transform-style: preserve-3d;
}

body.home-page.fourced-universe-impact .fourced-planet {
  z-index: 9 !important;
  isolation: isolate;
  background:
    radial-gradient(circle at 32% 22%, rgba(255, 255, 255, 0.24), transparent 25%),
    radial-gradient(circle at 50% 56%, rgba(6, 187, 204, 0.44), transparent 60%),
    linear-gradient(145deg, rgba(3, 23, 32, 0.96), rgba(4, 52, 62, 0.84)) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.18),
    0 0 36px rgba(6, 187, 204, 0.42),
    0 0 72px rgba(199, 0, 57, 0.24),
    inset 0 0 26px rgba(255, 255, 255, 0.08) !important;
}

body.home-page.fourced-universe-impact .fourced-planet::before {
  content: "";
  position: absolute;
  inset: -14px;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.26), transparent 24%),
    radial-gradient(circle, rgba(6, 187, 204, 0.22), transparent 68%);
  opacity: 0.8;
  filter: blur(4px);
}

body.home-page.fourced-universe-impact .fourced-orbit-ring,
body.home-page.fourced-universe-impact .universe-impact-wave {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(210px, 32vw, 380px);
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

body.home-page.fourced-universe-impact .fourced-orbit-ring {
  border: 1px solid rgba(6, 187, 204, 0.38);
  box-shadow:
    0 0 38px rgba(6, 187, 204, 0.14),
    inset 0 0 34px rgba(199, 0, 57, 0.08);
  background:
    radial-gradient(circle, transparent 57%, rgba(6, 187, 204, 0.08) 58%, transparent 63%),
    conic-gradient(from 120deg, rgba(6, 187, 204, 0.72), rgba(255, 255, 255, 0.08), rgba(199, 0, 57, 0.48), rgba(6, 187, 204, 0.72));
  mask: radial-gradient(circle, transparent 62%, #000 63%, #000 66%, transparent 67%);
}

body.home-page.fourced-universe-impact.product-orbit-live .fourced-orbit-ring {
  animation: none;
}

body.home-page.fourced-universe-impact .universe-impact-wave {
  border: 1px solid rgba(6, 187, 204, 0.74);
  box-shadow:
    0 0 26px rgba(6, 187, 204, 0.28),
    0 0 58px rgba(199, 0, 57, 0.12);
}

body.home-page.fourced-universe-impact .fourced-logo-clone {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 17;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
  text-shadow:
    0 0 14px rgba(6, 187, 204, 0.48),
    0 0 24px rgba(199, 0, 57, 0.18);
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, 0.28), transparent 24%),
    radial-gradient(circle at 48% 54%, rgba(6, 187, 204, 0.32), transparent 58%),
    linear-gradient(145deg, rgba(3, 18, 24, 0.92), rgba(9, 37, 42, 0.78));
  border: 1px solid rgba(6, 187, 204, 0.48);
  box-shadow:
    0 0 40px rgba(6, 187, 204, 0.36),
    0 0 70px rgba(199, 0, 57, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transform: translate(-50%, -50%);
  pointer-events: none;
  will-change: transform, opacity;
}

body.home-page.fourced-universe-impact .planet-impact-flare,
body.home-page.fourced-universe-impact .planet-crack {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 14;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

body.home-page.fourced-universe-impact .planet-impact-flare {
  width: 190px;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.86) 0 7%, rgba(6, 187, 204, 0.52) 8% 26%, rgba(199, 0, 57, 0.34) 27% 48%, transparent 70%);
  filter: blur(1px);
  mix-blend-mode: screen;
}

body.home-page.fourced-universe-impact .planet-crack {
  width: 12px;
  height: 124px;
  border-radius: 999px;
  background:
    linear-gradient(180deg, transparent 0 5%, rgba(255, 255, 255, 0.92) 6% 12%, rgba(255, 92, 0, 0.95) 13% 34%, rgba(6, 187, 204, 0.72) 35% 58%, rgba(255, 42, 0, 0.82) 59% 84%, transparent 85% 100%);
  box-shadow:
    0 0 18px rgba(255, 80, 0, 0.48),
    0 0 28px rgba(6, 187, 204, 0.32);
  rotate: 28deg;
}

body.home-page.fourced-universe-impact .planet-crack::before,
body.home-page.fourced-universe-impact .planet-crack::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 7px;
  height: 48px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 68, 0, 0.72), transparent);
  box-shadow: 0 0 16px rgba(255, 80, 0, 0.34);
  transform-origin: top center;
}

body.home-page.fourced-universe-impact .planet-crack::before {
  top: 42%;
  transform: translateX(-50%) rotate(-42deg);
}

body.home-page.fourced-universe-impact .planet-crack::after {
  top: 16%;
  transform: translateX(-50%) rotate(46deg);
}

body.home-page.fourced-universe-impact .fourced-planet.planet-core-formed {
  background:
    radial-gradient(circle at 32% 22%, rgba(255, 255, 255, 0.3), transparent 24%),
    radial-gradient(circle at 48% 56%, rgba(6, 187, 204, 0.34), transparent 58%),
    linear-gradient(145deg, rgba(3, 18, 24, 0.96), rgba(7, 38, 43, 0.82)) !important;
}

body.home-page.fourced-universe-impact .fourced-planet.planet-blue-empty {
  background:
    radial-gradient(circle at 32% 22%, rgba(255, 255, 255, 0.32), transparent 24%),
    radial-gradient(circle at 50% 54%, rgba(6, 187, 204, 0.46), transparent 58%),
    linear-gradient(145deg, rgba(2, 23, 34, 0.98), rgba(5, 62, 74, 0.88)) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.16),
    0 0 42px rgba(6, 187, 204, 0.46),
    0 0 72px rgba(6, 187, 204, 0.16),
    inset 0 0 30px rgba(255, 255, 255, 0.08) !important;
}

body.home-page.fourced-universe-impact .fourced-planet.planet-impact-hit {
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.2),
    0 0 52px rgba(255, 72, 0, 0.3),
    0 0 84px rgba(6, 187, 204, 0.28),
    inset 0 0 34px rgba(255, 88, 0, 0.18) !important;
}

body.home-page.fourced-universe-impact .fourced-planet.planet-red-activated {
  background:
    radial-gradient(circle at 28% 18%, rgba(255, 229, 170, 0.34), transparent 24%),
    radial-gradient(circle at 50% 55%, rgba(255, 45, 0, 0.58), transparent 58%),
    linear-gradient(145deg, rgba(48, 3, 12, 0.98), rgba(137, 13, 22, 0.86) 55%, rgba(4, 50, 58, 0.82)) !important;
  box-shadow:
    0 0 0 1px rgba(255, 210, 170, 0.22),
    0 0 50px rgba(255, 72, 0, 0.4),
    0 0 82px rgba(6, 187, 204, 0.24),
    inset 0 0 36px rgba(255, 111, 0, 0.2) !important;
}

body.home-page.fourced-universe-impact .fourced-letter-node {
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 72px;
  padding: 0.56rem;
  border-radius: 20px;
  color: #ffffff;
  background:
    linear-gradient(145deg, rgba(4, 14, 22, 0.78), rgba(12, 28, 38, 0.62)),
    radial-gradient(circle at 30% 18%, rgba(6, 187, 204, 0.28), transparent 56%);
  border: 1px solid rgba(6, 187, 204, 0.42);
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.26),
    0 0 28px rgba(6, 187, 204, 0.18);
  transform: translate(-50%, -50%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  will-change: transform, opacity;
}

body.home-page.fourced-universe-impact .fourced-letter-node strong {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 900;
  background: linear-gradient(90deg, #ff003c, #00f2fe);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.home-page.fourced-universe-impact .fourced-letter-node small {
  margin-top: 0.24rem;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.home-page.fourced-universe-impact.product-orbit-live .fourced-letter-node {
  animation: none;
}

body.home-page.fourced-universe-impact .discount-meteor,
body.home-page.fourced-universe-impact .orbit-discount-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 154px;
  padding: 0.72rem 0.9rem;
  border-radius: 999px;
  color: #ffffff;
  background:
    linear-gradient(135deg, rgba(199, 0, 57, 0.94), rgba(6, 187, 204, 0.82)),
    radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.36), transparent 42%);
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow:
    0 20px 46px rgba(199, 0, 57, 0.24),
    0 0 36px rgba(6, 187, 204, 0.26);
  transform: translate(-50%, -50%);
  will-change: transform, opacity;
}

body.home-page.fourced-universe-impact .discount-meteor strong,
body.home-page.fourced-universe-impact .orbit-discount-badge strong {
  font-size: 1rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
}

body.home-page.fourced-universe-impact .discount-meteor small,
body.home-page.fourced-universe-impact .orbit-discount-badge small {
  margin-top: 0.16rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.68rem;
  font-weight: 800;
}

body.home-page.fourced-universe-impact .meteor-trail {
  position: absolute;
  right: 82%;
  top: 50%;
  width: 150px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, rgba(6, 187, 204, 0.96), rgba(255, 255, 255, 0.86));
  transform: translateY(-50%);
  filter: drop-shadow(0 0 10px rgba(6, 187, 204, 0.54));
}

body.home-page.fourced-universe-impact .discount-meteor {
  z-index: 16;
  align-items: center;
  width: clamp(128px, 14vw, 176px);
  min-width: 0;
  height: clamp(128px, 14vw, 176px);
  padding: 0;
  border-radius: 50%;
  text-align: center;
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 245, 174, 0.98) 0 10%, rgba(255, 128, 28, 0.96) 11% 24%, transparent 25%),
    radial-gradient(circle at 52% 54%, #ff2f00 0 24%, #d11124 43%, #7a0617 74%, #210207 100%);
  border: 1px solid rgba(255, 189, 92, 0.72);
  box-shadow:
    0 0 34px rgba(255, 92, 0, 0.58),
    0 0 72px rgba(199, 0, 57, 0.32),
    inset -14px -18px 30px rgba(45, 0, 8, 0.42),
    inset 8px 8px 18px rgba(255, 232, 154, 0.22);
}

body.home-page.fourced-universe-impact .discount-meteor::before,
body.home-page.fourced-universe-impact .discount-meteor::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

body.home-page.fourced-universe-impact .discount-meteor::before {
  inset: -12px;
  background: radial-gradient(circle, rgba(255, 94, 0, 0.4), transparent 66%);
  filter: blur(6px);
  z-index: -1;
}

body.home-page.fourced-universe-impact .discount-meteor::after {
  right: 18%;
  bottom: 18%;
  width: 16%;
  aspect-ratio: 1;
  background: rgba(255, 217, 126, 0.8);
  box-shadow:
    -34px -28px 0 -3px rgba(255, 150, 33, 0.9),
    -14px 20px 0 -5px rgba(255, 74, 0, 0.82);
}

body.home-page.fourced-universe-impact .discount-meteor strong {
  font-size: clamp(2rem, 3.1vw, 2.9rem);
  line-height: 0.92;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 14px rgba(43, 0, 0, 0.55);
}

body.home-page.fourced-universe-impact .discount-meteor small {
  max-width: 82%;
  margin-top: 0.16rem;
  font-size: 0.58rem;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.home-page.fourced-universe-impact .discount-meteor .meteor-trail {
  right: 72%;
  top: 42%;
  width: clamp(150px, 24vw, 320px);
  height: 24px;
  background:
    radial-gradient(ellipse at right, rgba(255, 211, 112, 0.88), rgba(255, 72, 0, 0.62) 38%, rgba(199, 0, 57, 0.16) 66%, transparent 78%);
  filter: blur(4px) drop-shadow(0 0 16px rgba(255, 82, 0, 0.42));
  z-index: -1;
}

body.home-page.fourced-universe-impact .orbit-discount-badge {
  min-width: 112px;
  padding: 0.54rem 0.72rem;
  transform: translate(calc(-50% + 116px), calc(-50% - 118px));
}

body.home-page.fourced-universe-impact.product-orbit-live .orbit-discount-badge {
  animation: none;
}

body.home-page.fourced-universe-impact .released-product {
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 86px;
  min-height: 92px;
  padding: 0.5rem;
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(232, 249, 252, 0.88)),
    radial-gradient(circle at 22% 12%, rgba(6, 187, 204, 0.16), transparent 54%);
  border: 1px solid rgba(6, 187, 204, 0.32);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.24),
    0 0 22px rgba(6, 187, 204, 0.16);
  transform: translate(-50%, -50%);
  translate: 0 0;
  will-change: transform, opacity;
}

body.home-page.fourced-universe-impact .released-product img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 12px;
}

body.home-page.fourced-universe-impact .released-product small {
  display: block;
  max-width: 100%;
  margin-top: 0.32rem;
  overflow: hidden;
  color: #101528;
  font-size: 0.58rem;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  text-overflow: ellipsis;
}

body.home-page.fourced-universe-impact.product-orbit-live .released-product {
  animation: none;
}

body.home-page .product-landing-clone {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(6, 187, 204, 0.38);
  box-shadow:
    0 24px 58px rgba(6, 187, 204, 0.2),
    0 0 28px rgba(199, 0, 57, 0.12);
  will-change: transform, opacity;
}

body.home-page .product-landing-clone.is-leaving-orbit {
  box-shadow:
    0 26px 64px rgba(6, 187, 204, 0.26),
    0 0 34px rgba(199, 0, 57, 0.16);
}

body.home-page .product-landing-clone.is-leaving-orbit::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 76%;
  z-index: -1;
  width: 2px;
  height: 74px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(6, 187, 204, 0.82), rgba(199, 0, 57, 0.28), transparent);
  filter: blur(0.4px);
  transform: translateX(-50%);
  opacity: 0.8;
  pointer-events: none;
}

body.home-page .product-landing-clone img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 12px;
}

body.home-page .product-landing-clone small {
  margin-top: 0.28rem;
  color: #101528;
  font-size: 0.56rem;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
}

body.home-page #top-produits.product-section-impact-active .section-heading h2 {
  text-shadow: 0 0 20px rgba(6, 187, 204, 0.14);
}

body.home-page #top-produits .premium-product-landing-target {
  transform-origin: center;
}

body.home-page #top-produits .product-demand-card.product-landed {
  border-color: rgba(6, 187, 204, 0.58) !important;
}

body.home-page #top-produits .product-demand-card.product-glow-once {
  box-shadow:
    0 22px 54px rgba(6, 187, 204, 0.22),
    0 0 28px rgba(199, 0, 57, 0.08) !important;
}

body.home-page #top-produits .product-demand-card.product-glow-once img {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 18px 42px rgba(6, 187, 204, 0.18) !important;
}

@keyframes fourcedOrbitSpin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes fourcedNodeBreath {
  0%, 100% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(1.15);
  }
}

@keyframes fourcedBadgeFloat {
  0%, 100% {
    transform: translate(calc(-50% + 116px), calc(-50% - 118px)) translateY(0);
  }
  50% {
    transform: translate(calc(-50% + 116px), calc(-50% - 118px)) translateY(-8px);
  }
}

@keyframes fourcedProductFloat {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 calc(var(--orbit-range, 8px) * -1);
  }
}

@keyframes cinematicBadgeSweep {
  0%, 56% {
    transform: translateX(0) rotate(16deg);
    opacity: 0;
  }
  70% {
    opacity: 0.78;
  }
  100% {
    transform: translateX(420%) rotate(16deg);
    opacity: 0;
  }
}

@keyframes journeyCtaSweep {
  0% {
    opacity: 0;
    transform: translateX(-110%);
  }
  22% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(120%);
  }
}

@keyframes motionHeroGlow {
  0%, 100% {
    opacity: 0.72;
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    opacity: 0.96;
    transform: translate3d(0, -8px, 0) scale(1.035);
  }
}

@keyframes motionHeroGrid {
  0%, 100% {
    opacity: 0.42;
    background-position: 18px 18px, -18px 18px;
  }
  50% {
    opacity: 0.62;
    background-position: 42px 30px, -42px 36px;
  }
}

@keyframes premiumBadgeGlow {
  0%, 100% {
    box-shadow:
      0 18px 42px rgba(6, 187, 204, 0.18),
      0 0 24px rgba(199, 0, 57, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.16);
  }
  50% {
    box-shadow:
      0 24px 58px rgba(6, 187, 204, 0.28),
      0 0 34px rgba(199, 0, 57, 0.16),
      inset 0 1px 0 rgba(255, 255, 255, 0.22);
  }
}

@keyframes motionCtaShine {
  0%, 58% {
    transform: translateX(0) rotate(16deg);
    opacity: 0;
  }
  72% {
    opacity: 0.72;
  }
  100% {
    transform: translateX(360%) rotate(16deg);
    opacity: 0;
  }
}

@media (max-width: 768px) {
  html.animations-ready body.home-page [data-reveal]:not([data-reveal="fade-in"]):not([data-reveal="scale"]):not(.is-revealed),
  html.animations-ready body.home-page [data-stagger-child]:not(.is-revealed),
  html.animations-ready body.home-page [data-reveal="scale"]:not(.is-revealed) {
    transform: translate3d(0, 22px, 0) scale(0.98);
  }

  body.home-page .motion-hero-ready::before {
    animation-duration: 10s;
  }

  body.home-page .motion-shine::after {
    display: none;
  }

  body.home-page .motion-card::after {
    opacity: 0;
  }

  body.home-page .motion-stepper::after {
    display: none;
  }

  body.home-page .motion-story-orb {
    width: 72vw;
    opacity: 0.22;
    filter: blur(14px);
  }

  body.home-page .motion-story-section::before {
    display: none;
  }

  body.home-page .kinetic-word {
    margin-right: 0.16em;
  }

  body.home-page .cinematic-badge::after {
    display: none;
  }

  body.home-page .cinematic-visual {
    box-shadow: 0 18px 54px rgba(6, 187, 204, 0.1);
  }

  /* Tap / Press effect léger sur mobile pour feedback haptique visuel (Performance First) */
  @media (hover: none) {
    body.home-page .motion-card:active,
    body.home-page [data-hover-lift]:active,
    body.home-page .service-card:active,
    body.home-page .product-demand-card:active,
    body.home-page .stat-square-card:active {
      transform: scale(0.96) !important;
      transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
  }

  body.home-page.connected-motion-journey .signature-pillar-bridge {
    justify-content: flex-start;
    padding: 0 0.25rem;
    gap: 0.42rem;
  }

  body.home-page.connected-motion-journey .pillar-badge {
    min-height: 28px;
    padding: 0.34rem 0.64rem;
    font-size: 0.68rem;
  }

  body.home-page.connected-motion-journey .decision-line,
  body.home-page.connected-motion-journey .decision-cursor,
  body.home-page.connected-motion-journey .journey-progress {
    display: none;
  }

  body.home-page.connected-motion-journey #why .decision-card.is-dimmed,
  body.home-page.connected-motion-journey #why .why-card-standard.why-visible.is-dimmed,
  body.home-page.connected-motion-journey #why .decision-card.is-focused,
  body.home-page.connected-motion-journey #why .why-card-premium.why-visible.is-focused {
    transform: none !important;
  }

  body.home-page.connected-motion-journey .trust-scan-line {
    display: none;
  }

  body.home-page.connected-motion-journey .orbit-satellite {
    box-shadow: 0 10px 24px rgba(6, 187, 204, 0.14);
  }



  body.home-page.fourced-universe-impact .fourced-visual-space {
    max-width: 340px;
    min-height: 250px;
    margin-top: 0;
    margin-bottom: 0.5rem;
    margin-inline: auto;
  }

  body.home-page.fourced-universe-impact #ecosysteme-4ced.universe-scroll-active,
  body.home-page.fourced-universe-impact #ecosysteme-4ced.universe-scroll-active > .container {
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    will-change: auto !important;
    contain: none !important;
  }


  body.home-page.fourced-universe-impact .fourced-universe-stage {
    inset: 8px 0 0;
  }

  body.home-page.fourced-universe-impact .fourced-orbit-ring,
  body.home-page.fourced-universe-impact .universe-impact-wave {
    width: 280px;
  }

  body.home-page.fourced-universe-impact .fourced-letter-node {
    min-width: 60px;
    min-height: 60px;
    padding: 0.38rem;
    border-radius: 16px;
  }

  body.home-page.fourced-universe-impact .fourced-letter-node strong {
    font-size: 1.18rem;
  }

  body.home-page.fourced-universe-impact .fourced-letter-node small {
    display: none;
  }

  body.home-page.fourced-universe-impact .discount-meteor {
    width: 90px !important;
    min-width: 0;
    height: 90px !important;
    padding: 0 !important;
  }

  body.home-page.fourced-universe-impact .meteor-trail {
    width: 92px;
    height: 15px;
  }

  body.home-page.fourced-universe-impact .discount-meteor strong {
    font-size: 1.58rem;
  }

  body.home-page.fourced-universe-impact .discount-meteor small {
    font-size: 0.48rem;
  }

  body.home-page.fourced-universe-impact .fourced-logo-clone {
    width: 108px !important;
    height: 108px !important;
    font-size: 1.55rem !important;
  }

  body.home-page.fourced-universe-impact .planet-impact-flare {
    width: 132px;
  }

  body.home-page.fourced-universe-impact .planet-crack {
    height: 82px;
  }

  body.home-page.fourced-universe-impact .orbit-discount-badge {
    min-width: 96px;
    transform: translate(calc(-50% + 94px), calc(-50% - 106px));
  }

  body.home-page.fourced-universe-impact.product-orbit-live .orbit-discount-badge {
    animation: none;
  }

  body.home-page.fourced-universe-impact .released-product {
    width: 60px !important;
    min-height: 60px !important;
    padding: 0.3rem !important;
    border-radius: 15px !important;
  }

  body.home-page.fourced-universe-impact .released-product img {
    width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
  }

  body.home-page.fourced-universe-impact .released-product small {
    display: none !important;
  }
}

@keyframes fourcedBadgeFloatMobile {
  0%, 100% {
    transform: translate(calc(-50% + 94px), calc(-50% - 106px)) translateY(0);
  }
  50% {
    transform: translate(calc(-50% + 94px), calc(-50% - 106px)) translateY(-5px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }

  body.home-page [data-reveal],
  body.home-page [data-stagger-child],
  body.home-page [data-parallax],
  body.home-page [data-magnetic],
  body.home-page [data-scroll-section] > .container,
  body.home-page .motion-visual-live,
  body.home-page .motion-card,
  body.home-page .tools-flow-column,
  body.home-page .tools-flow-card,
  body.home-page .decision-card,
  body.home-page .journey-step,
  body.home-page .trust-card,
  body.home-page .journey-complete-card {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    will-change: auto !important;
  }

  body.home-page .motion-hero-ready::before,
  body.home-page .motion-hero-ready::after,
  body.home-page .motion-badge-live,
  body.home-page .motion-shine::after,
  body.home-page .cinematic-badge::after,
  body.home-page .journey-complete-card::after {
    animation: none !important;
  }

  body.home-page .motion-story-atmosphere,
  body.home-page .decision-line,
  body.home-page .journey-progress,
  body.home-page .trust-scan-line,
  body.home-page .fourced-universe-stage,
  body.home-page .product-landing-clone {
    display: none !important;
  }
}

/* Final 4CED universe scroll/pin alignment overrides. */
body.home-page #intro-4ced {
  position: relative !important;
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
}

body.home-page #ecosysteme-4ced {
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 100svh !important;
  overflow: visible !important;
}

body.home-page.fourced-universe-impact #ecosysteme-4ced,
body.home-page.fourced-universe-impact #ecosysteme-4ced.reveal-4d,
body.home-page.fourced-universe-impact #ecosysteme-4ced.section-4d-visible,
body.home-page.fourced-universe-impact #ecosysteme-4ced.is-visible {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  transform-style: flat !important;
  will-change: auto !important;
}

body.home-page #ecosysteme-4ced .ecosysteme-4ced-sticky {
  position: relative;
  height: 100svh !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
}

body.home-page #ecosysteme-4ced .ecosysteme-4ced-sticky > .container {
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.home-page #ecosysteme-4ced .row,
body.home-page #ecosysteme-4ced .col-12 {
  height: 100% !important;
  align-items: center !important;
}

body.home-page #ecosysteme-4ced .visual-container.home-hero-visual,
body.home-page #ecosysteme-4ced .fourced-visual-space {
  position: relative !important;
  width: min(92vw, 720px) !important;
  height: min(72svh, 560px) !important;
  min-height: 360px !important;
  margin: 0 auto !important;
  transform: translateY(calc(var(--ecosysteme-visual-y, var(--ecosysteme-visual-y-desktop, -45px)) + 10%)) !important;
  overflow: visible !important;
}

@media (min-width: 769px) {
  body.home-page #ecosysteme-4ced {
    --ecosysteme-scroll-distance: 4500px;
    --ecosysteme-visual-y-desktop: -35px;
    --ecosysteme-visual-y: -35px;
  }
}

@media (max-width: 768px) {
  body.home-page #ecosysteme-4ced {
    --ecosysteme-scroll-distance: 2400px;
    --ecosysteme-visual-y-mobile: -20px;
  }

  body.home-page #ecosysteme-4ced .visual-container.home-hero-visual,
  body.home-page #ecosysteme-4ced .fourced-visual-space {
    width: min(94vw, 360px) !important;
    height: min(72svh, 420px) !important;
    min-height: 300px !important;
    transform: translateY(calc(var(--ecosysteme-visual-y-mobile, -25px) + 10%)) !important;
  }
}

/* ==========================================================================
   MOBILE WOW.JS OVERRIDE - ULTRA DYNAMIC (TRANSACTIONAL)
   ========================================================================== */
@media (max-width: 767.98px) {
    /* Removed global override to customWowSpringUp to prevent 3D rendering conflicts on large text blocks */

    /* Vitesse personnalisée pour Top Produits (réinitialisée pour éviter la lenteur) */
    .home-page #top-produits .wow.animated {
        animation-duration: 0.85s !important; 
    }

    /* Vitesse personnalisée pour Pourquoi 4ced (accéléré) */
    .home-page #qui-sommes-nous .wow.animated {
        animation-duration: 0.6s !important; 
    }

    @keyframes customWowSpringUp {
        0% {
            opacity: 0;
            transform: perspective(1500px) translateY(120px) translateZ(-400px) rotateX(-20deg) scale(0.85);
            filter: blur(0px);
        }
        70% {
            opacity: 1;
            transform: perspective(1500px) translateY(-10px) translateZ(50px) rotateX(5deg) scale(1.02);
            filter: blur(0px);
        }
        100% {
            opacity: 1;
            transform: perspective(1500px) translateY(0) translateZ(0) rotateX(0) scale(1);
            filter: blur(0px);
        }
    }
}




@ k e y f r a m e s   m o b i l e 4 D F l o w   {   0 %   {   t r a n s f o r m :   p e r s p e c t i v e ( 9 0 0 p x )   t r a n s l a t e Y ( 0 )   t r a n s l a t e Z ( 0 )   r o t a t e X ( 0 )   s c a l e ( 1 ) ;   b o x - s h a d o w :   0   1 0 p x   2 4 p x   r g b a ( 0 ,   0 ,   0 ,   0 . 1 ) ;   }   1 0 0 %   {   t r a n s f o r m :   p e r s p e c t i v e ( 9 0 0 p x )   t r a n s l a t e Y ( - 6 p x )   t r a n s l a t e Z ( 1 2 p x )   r o t a t e X ( 2 d e g )   s c a l e ( 1 . 0 2 ) ;   b o x - s h a d o w :   0   2 0 p x   4 8 p x   r g b a ( 6 ,   1 8 7 ,   2 0 4 ,   0 . 1 2 ) ,   0   1 0 p x   2 4 p x   r g b a ( 0 ,   0 ,   0 ,   0 . 1 5 ) ;   b o r d e r - c o l o r :   r g b a ( 6 ,   1 8 7 ,   2 0 4 ,   0 . 2 ) ;   }   }  
 