/* PRATINIUM v484 — Homepage hero stable authority
 * Goal: instant paint, no entrance/parallax motion, no fixed 640px stage,
 * resilient layout under browser zoom and viewport resizing.
 */

body#index .pf-hero,
body#index .pf-hero * {
  box-sizing: border-box !important;
}

/* Eliminate all entrance / floating / parallax effects inside the hero. */
body#index .pf-hero,
body#index .pf-hero::before,
body#index .pf-hero::after,
body#index .pf-hero__media,
body#index .pf-hero__media picture,
body#index .pf-hero__media img,
body#index .pf-hero__bg-img,
body#index .pf-hero__overlay,
body#index .pf-hero__content,
body#index .pf-hero__copy,
body#index .pf-hero__copy-lock,
body#index .pf-hero__title,
body#index .pf-hero__title-line,
body#index .pf-hero__subtitle,
body#index .pf-hero__tagline,
body#index .pf-hero__badge,
body#index .pf-hero-journey,
body#index .pf-hero-journey__head,
body#index .pf-hero-journey__title,
body#index .pf-hero-journey .pf-tabs,
body#index .pf-hero-journey .pf-tab,
body#index .pf-hero-login-cta,
body#index .pf-hero-journey .pf-steps,
body#index .pf-hero-journey .pf-step,
body#index .pf-hero-journey .pf-step__num,
body#index .pf123-grid-haze,
body#index .pf123-cinema-layer,
body#index .pf123-light-orb,
body#index .pf129-glass-orb,
body#index .pf129-cinema-streak,
body#index .pf129-depth-grid,
body#index .pf129-hero-vignette {
  animation: none !important;
  transition: none !important;
  will-change: auto !important;
}

body#index .pf-hero__copy,
body#index .pf-hero__copy-lock,
body#index .pf-hero__title,
body#index .pf-hero__subtitle,
body#index .pf-hero__badge,
body#index .pf-hero-journey,
body#index .pf-hero-journey.pf129-reveal,
body#index .pf-hero-journey.pf-cinema-reveal,
body#index .pf-hero-journey.is-visible {
  opacity: 1 !important;
  filter: none !important;
}

/* Fixed, deterministic shell. */
body#index .pf-hero,
body#index section.pf-hero {
  position: relative !important;
  width: calc(100% - 32px) !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: clamp(620px, 72vh, 820px) !important;
  height: auto !important;
  margin: 18px auto 28px !important;
  overflow: hidden !important;
  border-radius: clamp(24px, 2vw, 36px) !important;
  isolation: isolate !important;
}

body#index .pf-hero__media,
body#index .pf-hero__media picture,
body#index .pf-hero__media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

body#index .pf-hero__bg-img {
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

body#index .pf-hero__overlay {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: inherit !important;
  height: auto !important;
  transform: none !important;
}

body#index .pf-hero__content {
  position: relative !important;
  z-index: 5 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: clamp(36px, 4vw, 72px) !important;
  width: 100% !important;
  max-width: 1680px !important;
  min-width: 0 !important;
  min-height: inherit !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: clamp(44px, 5vw, 76px) clamp(34px, 5.2vw, 86px) !important;
  transform: none !important;
}

/* Left composition: no absolute positioning and no JS-driven scaling. */
body#index .pf-hero__copy {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

body#index .pf-hero__copy-lock {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 680px) !important;
  max-width: 680px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  text-align: center !important;
  transform: none !important;
}

body#index .pf-hero__title,
body#index .pf-hero h1.pf-hero__title {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 680px !important;
  min-width: 0 !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  font-size: clamp(42px, 3.25vw, 64px) !important;
  line-height: .94 !important;
  letter-spacing: -.052em !important;
  color: #fff !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  transform: none !important;
}

body#index .pf-hero__title-line {
  display: block !important;
  width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
  transform: none !important;
}

body#index .pf-hero__title::after,
body#index .pf-hero h1.pf-hero__title::after {
  width: clamp(190px, 20vw, 300px) !important;
  margin: 20px auto 0 !important;
}

body#index .pf-hero__subtitle {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 650px !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-align: center !important;
  transform: none !important;
}

body#index .pf-hero__subtitle::after {
  content: "Validation de marché • Intelligence collective • Investissement privé" !important;
  display: block !important;
  width: 100% !important;
  margin: 10px auto 0 !important;
  color: #ffe9a6 !important;
  font-size: clamp(13px, 1vw, 16px) !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: .002em !important;
  white-space: normal !important;
  text-align: center !important;
}

body#index .pf-hero__tagline { display: none !important; }

body#index .pf-hero__badge {
  position: relative !important;
  inset: auto !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  height: 92px !important;
  min-height: 92px !important;
  max-height: 92px !important;
  margin: 22px auto 0 !important;
  padding: 0 !important;
  align-self: center !important;
  transform: none !important;
}

/* Right journey: fluid, fixed in place, immediately visible. */
body#index .pf-hero-journey,
body#index .pf-hero-journey.pf129-reveal,
body#index .pf-hero-journey.pf-cinema-reveal {
  position: relative !important;
  inset: auto !important;
  justify-self: center !important;
  align-self: center !important;
  width: min(100%, 700px) !important;
  max-width: 700px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: clamp(22px, 2vw, 30px) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body#index .pf-hero-journey__head {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin-bottom: 22px !important;
  transform: none !important;
}

body#index .pf-hero-journey .pf-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body#index .pf-hero-journey .pf-tab,
body#index .pf-hero-login-cta {
  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 14px !important;
  white-space: normal !important;
  transform: none !important;
}

body#index .pf-hero-login-cta {
  display: flex !important;
  margin: 0 !important;
}

body#index .pf-hero-journey .pf-steps {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  transform: none !important;
}
body#index .pf-hero-journey .pf-steps[hidden] { display: none !important; }
body#index .pf-hero-journey .pf-step { min-width: 0 !important; transform: none !important; }
body#index .pf-hero-journey .pf-step__title,
body#index .pf-hero-journey .pf-step__desc { overflow-wrap: anywhere !important; }

/* Prevent old JS/CSS cinema layers from shifting the hero when pointer moves. */
body#index .pf123-grid-haze,
body#index .pf123-cinema-layer,
body#index .pf123-light-orb,
body#index .pf129-glass-orb,
body#index .pf129-cinema-streak,
body#index .pf129-depth-grid,
body#index .pf129-hero-vignette {
  transform: none !important;
}

/* Intermediate widths / browser zoom: deterministic reflow instead of clipping. */
@media (max-width: 1099.98px) {
  body#index .pf-hero,
  body#index section.pf-hero {
    min-height: 0 !important;
  }
  body#index .pf-hero__content {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    min-height: 0 !important;
    padding: 42px clamp(20px, 4vw, 44px) 46px !important;
  }
  body#index .pf-hero__copy-lock {
    width: min(100%, 720px) !important;
    max-width: 720px !important;
  }
  body#index .pf-hero__title,
  body#index .pf-hero h1.pf-hero__title {
    max-width: 720px !important;
    font-size: clamp(38px, 6vw, 56px) !important;
  }
  body#index .pf-hero-journey {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
  }
}

@media (max-width: 700px) {
  body#index .pf-hero,
  body#index section.pf-hero {
    width: calc(100% - 16px) !important;
    margin-top: 8px !important;
    border-radius: 24px !important;
  }
  body#index .pf-hero__content {
    gap: 24px !important;
    padding: 32px 16px 36px !important;
  }
  body#index .pf-hero__title,
  body#index .pf-hero h1.pf-hero__title {
    font-size: clamp(32px, 10vw, 46px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }
  body#index .pf-hero__title-line { display: inline !important; }
  body#index .pf-hero__title-line + .pf-hero__title-line::before { content: " " !important; }
  body#index .pf-hero__subtitle::after {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  body#index .pf-hero__badge {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    margin-top: 18px !important;
  }
  body#index .pf-hero-journey {
    padding: 20px 16px !important;
    border-radius: 20px !important;
  }
  body#index .pf-hero-journey .pf-tabs {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }
  body#index .pf-hero-journey .pf-tab,
  body#index .pf-hero-login-cta {
    height: 48px !important;
    min-height: 48px !important;
  }
  body#index .pf-hero-journey .pf-steps {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body#index .pf-hero-journey .pf-step__arrow { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  body#index .pf-hero,
  body#index .pf-hero * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
