/* Homepage hero — final shared direction for French and English. */
.hero {
  min-height: min(860px, calc(100svh - 78px)) !important;
  display: grid !important;
  align-items: center !important;
  padding: clamp(5.25rem, 9vw, 7.75rem) 0 clamp(3.25rem, 6vw, 5rem) !important;
}

.hero::before {
  inset: 0 !important;
  z-index: 1 !important;
  width: auto !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(180deg, rgba(4,17,31,.43), rgba(4,17,31,.69) 52%, rgba(4,17,31,.95)),
    linear-gradient(90deg, rgba(4,17,31,.34), transparent 40%, rgba(4,17,31,.12)) !important;
  opacity: 1 !important;
}

.hero::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: auto 0 0 !important;
  height: 1px !important;
  background: rgba(255,255,255,.16) !important;
}

.hero > .container {
  position: static !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  max-width: 1320px !important;
  box-sizing: border-box;
}

.hero .hero-left {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  width: 100% !important;
  margin-inline: auto !important;
}

.hero .hero-content {
  width: 100% !important;
  max-width: 1040px !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.hero .hero-content > * { margin-inline: auto !important; }

.hero .hero-context {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  width: fit-content;
  max-width: none !important;
  margin-bottom: clamp(1.6rem, 3vw, 2.5rem) !important;
  color: rgba(255,255,255,.78) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.hero .hero-context::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #ffd338;
  box-shadow: 0 0 0 5px rgba(255,211,56,.13);
}

.hero .hero-content h1 {
  max-width: 900px !important;
  margin-bottom: 1.75rem !important;
  font-size: clamp(3rem, 5.6vw, 5.35rem) !important;
  font-weight: 550 !important;
  line-height: .91 !important;
  letter-spacing: -.072em !important;
  text-shadow: 0 8px 42px rgba(0,0,0,.28) !important;
}

.hero .hero-content h1 .highlight { color: #ffd338 !important; }

.hero .hero-content > .hero-lead {
  max-width: 690px !important;
  margin-bottom: 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-size: clamp(1.05rem, 1.55vw, 1.28rem) !important;
  line-height: 1.55 !important;
}

.hero .hero-content .buttons {
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(1.2rem, 2.5vw, 2rem) !important;
  margin-top: 2.3rem !important;
}

.hero-text-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .75rem 0;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.5);
  font-size: .94rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s, border-color .2s;
}

.hero-text-link:hover { color: #ffd338; border-color: #ffd338; }

.hero .hero-stats {
  width: min(900px,100%) !important;
  margin: clamp(3.2rem, 6vw, 4.8rem) auto 0 !important;
  background: rgba(4,17,31,.48) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-width: 1px 0 !important;
  backdrop-filter: blur(12px);
}

.hero .stat { padding-block: 1.25rem !important; }
.hero .stat-value { font-size: clamp(1.65rem, 3vw, 2.2rem) !important; }

.hero .hero-editorial {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
}

.hero .hero-editorial > img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center 58% !important;
  filter: saturate(.88) contrast(1.04);
}

.hero .hero-editorial::before,
.hero .hero-editorial::after,
.hero .hero-editorial-badge { display: none !important; }

/* Language choice stays useful without obscuring the value proposition. */
.language-prompt { display: none !important; }
.lang-switch {
  background: transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}
.lang-switch:hover {
  transform: none !important;
  border-color: rgba(7,85,181,.45) !important;
  box-shadow: none !important;
}

@media (max-width: 700px) {
  .hero {
    min-height: auto !important;
    padding: 3.75rem 0 3.25rem !important;
  }
  .hero::before {
    background: linear-gradient(180deg, rgba(4,17,31,.62), rgba(4,17,31,.95)) !important;
  }
  .hero > .container {
    width: calc(100% - 40px) !important;
    padding-inline: 0 !important;
    margin-inline: auto !important;
  }
  .hero .hero-content { text-align: left !important; }
  .hero .hero-content,
  .hero .hero-content > * {
    width: auto !important;
    max-width: calc(100vw - 40px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .hero .hero-context {
    justify-content: flex-start;
    font-size: .63rem !important;
    letter-spacing: .065em;
  }
  .hero .hero-content h1 {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
    font-size: clamp(2.1rem, 9.5vw, 2.8rem) !important;
    line-height: .98 !important;
    letter-spacing: -.06em !important;
    text-wrap: pretty;
  }
  .hero .hero-content h1 .highlight { display: block; }
  .hero .hero-content > .hero-lead {
    max-width: 34rem !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }
  .hero .hero-content .buttons {
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  .hero .hero-content .buttons .btn { width: auto !important; }
  .hero .hero-stats { margin-top: 3rem !important; grid-template-columns: 1fr !important; }
  .hero .stat { grid-template-columns: 92px minmax(0,1fr) !important; }
  .hero .hero-editorial > img { object-position: 61% center !important; }
}
