/* =========================================================
   Homepage Hub FAI V2
   Scope strict : body.page1 .fai-home-v2
   Pensé pour une colonne .grid_8 + sidebar .grid_4
   ========================================================= */

body.page1 .fai-home-v2,
body.page1 .fai-home-v2 *,
body.page1 .fai-home-v2 *::before,
body.page1 .fai-home-v2 *::after {
  box-sizing: border-box !important;
}

body.page1 .fai-home-v2 {
  --home-bg: #f6f8fc;
  --home-card: #ffffff;
  --home-text: #111827;
  --home-muted: #667085;
  --home-border: rgba(15, 23, 42, 0.10);
  --home-blue: #2557ff;
  --home-blue-2: #0ea5ff;
  --home-green: #16c784;
  --home-orange: #ffb020;
  --home-dark: #101828;
  --home-radius: 22px;
  --home-shadow: 0 14px 34px rgba(15, 23, 42, 0.09);
  --home-shadow-soft: 0 8px 20px rgba(15, 23, 42, 0.065);

  display: grid !important;
  grid-template-columns: 1fr !important;
  row-gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--home-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

body.page1 .fai-home-v2 :where(section, article, div, nav, h2, h3, p, a, span, strong, ol, li) {
  float: none !important;
  clear: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.page1 .fai-home-v2 a {
  color: inherit !important;
  text-decoration: none !important;
}

body.page1 .fai-home-v2 h2,
body.page1 .fai-home-v2 h3 {
  display: block !important;
  width: 100% !important;
  color: var(--home-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
}

body.page1 .fai-home-v2 h2 {
  font-size: clamp(25px, 3.4vw, 42px) !important;
}

body.page1 .fai-home-v2 h3 {
  font-size: 19px !important;
}

body.page1 .fai-home-v2 p {
  color: var(--home-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

/* Titre CMS au-dessus du bloc */

body.page1 .grid_8 > h2.title {
  margin-bottom: 18px !important;
  color: #111827 !important;
  background: transparent !important;
  font-size: clamp(26px, 3.2vw, 40px) !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
}

/* Hero */

body.page1 .fai-home-v2 .fai-home-hero {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: clamp(20px, 4vw, 32px) !important;
  border: 1px solid rgba(37, 87, 255, 0.14) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(37, 87, 255, 0.15), transparent 32%),
    radial-gradient(circle at 100% 8%, rgba(22, 199, 132, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #f3f7ff) !important;
  box-shadow: var(--home-shadow) !important;
  overflow: hidden !important;
}

body.page1 .fai-home-v2 .fai-home-hero__content,
body.page1 .fai-home-v2 .fai-home-hero__card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  min-width: 0 !important;
}

body.page1 .fai-home-v2 .fai-home-lead {
  color: #3d4658 !important;
  font-size: clamp(16.5px, 1.6vw, 20px) !important;
  line-height: 1.58 !important;
  font-weight: 500 !important;
}

body.page1 .fai-home-v2 .fai-home-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  min-height: 32px !important;
  padding: 7px 11px !important;
  border: 1px solid rgba(37, 87, 255, 0.18) !important;
  border-radius: 999px !important;
  background: rgba(37, 87, 255, 0.075) !important;
  color: #2446c7 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

body.page1 .fai-home-v2 .fai-home-kicker::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 7px !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--home-blue), var(--home-blue-2)) !important;
  box-shadow: 0 0 0 5px rgba(37, 87, 255, 0.11) !important;
}

body.page1 .fai-home-v2 .fai-home-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

body.page1 .fai-home-v2 .fai-home-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 11px 16px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

body.page1 .fai-home-v2 .fai-home-btn:hover {
  transform: translateY(-2px) !important;
}

body.page1 .fai-home-v2 .fai-home-btn--primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--home-blue), var(--home-blue-2)) !important;
  box-shadow: 0 12px 26px rgba(37, 87, 255, 0.26) !important;
}

body.page1 .fai-home-v2 .fai-home-btn--secondary {
  color: var(--home-text) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: var(--home-border) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06) !important;
}

body.page1 .fai-home-v2 .fai-home-trustbar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

body.page1 .fai-home-v2 .fai-home-trustbar span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: #263149 !important;
  font-size: 12.5px !important;
  font-weight: 850 !important;
}

body.page1 .fai-home-v2 .fai-home-hero__card {
  padding: 18px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(14, 165, 255, 0.24), transparent 34%),
    linear-gradient(135deg, #101828, #17233d) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.18) !important;
}

body.page1 .fai-home-v2 .fai-home-hero__card strong {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 950 !important;
}

body.page1 .fai-home-v2 .fai-home-hero__card ol {
  display: grid !important;
  gap: 7px !important;
  padding-left: 20px !important;
}

body.page1 .fai-home-v2 .fai-home-hero__card li {
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Nav */

body.page1 .fai-home-v2 .fai-home-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 8px !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: var(--home-shadow-soft) !important;
  overflow-x: auto !important;
}

body.page1 .fai-home-v2 .fai-home-nav a {
  flex: 0 0 auto !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  color: #2b3447 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

body.page1 .fai-home-v2 .fai-home-nav a:hover {
  color: #ffffff !important;
  background: var(--home-blue) !important;
}

/* Sections */

body.page1 .fai-home-v2 .fai-home-section,
body.page1 .fai-home-v2 .fai-home-final {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: clamp(20px, 4vw, 30px) !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.90) !important;
  box-shadow: var(--home-shadow-soft) !important;
  overflow: hidden !important;
}

body.page1 .fai-home-v2 .fai-home-section--soft {
  background:
    radial-gradient(circle at 100% 0%, rgba(22, 199, 132, 0.10), transparent 28%),
    linear-gradient(135deg, rgba(37, 87, 255, 0.06), rgba(255,255,255,.92)) !important;
}

body.page1 .fai-home-v2 .fai-home-section__head {
  display: grid !important;
  gap: 11px !important;
  max-width: 860px !important;
}

/* Grids */

body.page1 .fai-home-v2 .fai-home-grid,
body.page1 .fai-home-v2 .fai-home-steps,
body.page1 .fai-home-v2 .fai-home-link-list,
body.page1 .fai-home-v2 .fai-home-data-grid {
  display: grid !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.page1 .fai-home-v2 .fai-home-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.page1 .fai-home-v2 .fai-home-card,
body.page1 .fai-home-v2 .fai-home-steps article {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  align-content: start !important;
  min-width: 0 !important;
  padding: 18px !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.065) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

body.page1 .fai-home-v2 .fai-home-card:hover,
body.page1 .fai-home-v2 .fai-home-steps article:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(37, 87, 255, 0.24) !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.11) !important;
}

body.page1 .fai-home-v2 .fai-home-card--primary {
  background:
    radial-gradient(circle at 100% 0%, rgba(37, 87, 255, 0.10), transparent 30%),
    #ffffff !important;
  border-color: rgba(37, 87, 255, 0.18) !important;
}

body.page1 .fai-home-v2 .fai-home-icon {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, #2557ff, #0ea5ff) !important;
  color: #ffffff !important;
  font-size: 19px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 22px rgba(37, 87, 255, 0.22) !important;
}

body.page1 .fai-home-v2 .fai-home-card h3 a {
  color: #111827 !important;
  text-decoration: none !important;
}

body.page1 .fai-home-v2 .fai-home-card h3 a:hover {
  color: var(--home-blue) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}

/* Data */

body.page1 .fai-home-v2 .fai-home-data {
  padding: 16px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(22, 199, 132, 0.12), transparent 30%),
    linear-gradient(135deg, #101828, #17233d) !important;
  border-color: rgba(255, 255, 255, 0.10) !important;
}

body.page1 .fai-home-v2 .fai-home-data-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.page1 .fai-home-v2 .fai-home-data-grid div {
  display: grid !important;
  gap: 4px !important;
  padding: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

body.page1 .fai-home-v2 .fai-home-data-grid strong {
  color: #ffffff !important;
  font-size: 34px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
}

body.page1 .fai-home-v2 .fai-home-data-grid span {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Steps */

body.page1 .fai-home-v2 .fai-home-steps {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.page1 .fai-home-v2 .fai-home-steps article span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(37, 87, 255, 0.08) !important;
  color: var(--home-blue) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  letter-spacing: .08em !important;
}

/* Highlight */

body.page1 .fai-home-v2 .fai-home-highlight {
  display: grid !important;
  gap: 8px !important;
  padding: 16px !important;
  border: 1px solid rgba(37, 87, 255, 0.12) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(37, 87, 255, 0.07), rgba(22, 199, 132, 0.07)),
    #ffffff !important;
  color: #3d4658 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055) !important;
}

body.page1 .fai-home-v2 .fai-home-highlight strong {
  color: #111827 !important;
  font-weight: 950 !important;
}

body.page1 .fai-home-v2 .fai-home-highlight a,
body.page1 .fai-home-v2 .fai-home-link-list a {
  color: var(--home-blue) !important;
  font-weight: 900 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}

/* Services pills */

body.page1 .fai-home-v2 .fai-home-service-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
}

body.page1 .fai-home-v2 .fai-home-service-pills span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(37, 87, 255, 0.10) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #263149 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.045) !important;
}

/* Link list */

body.page1 .fai-home-v2 .fai-home-link-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.page1 .fai-home-v2 .fai-home-link-list a {
  display: flex !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 14px !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055) !important;
}

/* Final */

body.page1 .fai-home-v2 .fai-home-final {
  background:
    radial-gradient(circle at 92% 0%, rgba(22, 199, 132, 0.24), transparent 28%),
    linear-gradient(135deg, #16234d, #2557ff) !important;
  border-color: rgba(255, 255, 255, 0.13) !important;
}

body.page1 .fai-home-v2 .fai-home-final h2 {
  color: #ffffff !important;
}

body.page1 .fai-home-v2 .fai-home-final p {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.page1 .fai-home-v2 .fai-home-final .fai-home-kicker {
  color: #dce8ff !important;
  background: rgba(255, 255, 255, 0.10) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

/* Sidebar coexistence : évite l’effet écrasé dans .grid_8 */

body.page1 .grid_8 .fai-home-v2 .fai-home-grid--2,
body.page1 .grid_8 .fai-home-v2 .fai-home-steps,
body.page1 .grid_8 .fai-home-v2 .fai-home-link-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.page1 .grid_8 .fai-home-v2 .fai-home-hero {
  grid-template-columns: 1fr !important;
}

/* Responsive */

@media (max-width: 980px) {
  body.page1 .fai-home-v2 .fai-home-grid--2,
  body.page1 .fai-home-v2 .fai-home-steps,
  body.page1 .fai-home-v2 .fai-home-link-list {
    grid-template-columns: 1fr !important;
  }

  body.page1 .fai-home-v2 .fai-home-data-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  body.page1 .fai-home-v2 {
    row-gap: 16px !important;
    font-size: 15px !important;
  }

  body.page1 .fai-home-v2 .fai-home-hero,
  body.page1 .fai-home-v2 .fai-home-section,
  body.page1 .fai-home-v2 .fai-home-final {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  body.page1 .fai-home-v2 .fai-home-actions {
    flex-direction: column !important;
  }

  body.page1 .fai-home-v2 .fai-home-btn {
    width: 100% !important;
  }

  body.page1 .fai-home-v2 .fai-home-service-pills {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.page1 .fai-home-v2 .fai-home-service-pills span {
    width: 100% !important;
  }
}