:root {
  --docflow-navy: #062b4c;
  --docflow-dark: #031d35;
  --docflow-blue: #0875b9;
  --docflow-cyan: #1eb4db;
  --docflow-gold: #dda72e;
  --docflow-light: #f5f8fa;
  --docflow-white: #ffffff;
  --docflow-text: #263746;
  --docflow-muted: #667788;
  --docflow-border: #e2e8ed;
  --docflow-shadow: 0 18px 45px rgba(3, 29, 53, 0.11);
}

.si-page .fa,
.si-product-page .fa,
.si-expertise-page .fa,
.si-home-page .fa,
.si-about-page .fa {
  font-family: FontAwesome !important;
  font-style: normal;
  font-weight: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.si-product-page--pharmacie {
  --docflow-blue: #176fc1;
  --docflow-cyan: #35b8d4;
  --docflow-light: #f4f9fb;
}

.si-product-page--pharmacie .si-product-hero {
  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(53, 184, 212, 0.2),
      transparent 34%
    ),
    linear-gradient(
      120deg,
      #031d35 0%,
      #07375c 58%,
      #0d6788 100%
    );
}
.si-product-page,
.si-product-page * {
  box-sizing: border-box;
}

.si-product-page {
  width: 100%;
  overflow: hidden;
  background: var(--docflow-white);
}

/* Neutraliser les espacements ajoutés par Facdori/Gavias */
.si-product-page .row {
  margin-right: -15px;
  margin-left: -15px;
}

.si-product-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* HERO */
.si-product-hero {
  position: relative;
  min-height: 610px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 90px 0 115px;
  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(30, 180, 219, 0.2),
      transparent 34%
    ),
    linear-gradient(
      120deg,
      var(--docflow-dark) 0%,
      var(--docflow-navy) 58%,
      #074f79 100%
    );
}

.si-product-hero::before {
  position: absolute;
  inset: 0;
  opacity: 0.14;
  background-image:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.75) 1px,
      transparent 1.5px
    );
  background-size: 30px 30px;
  content: "";
  pointer-events: none;
}

.si-product-hero::after {
  position: absolute;
  right: -8%;
  bottom: -38%;
  width: 60%;
  height: 70%;
  border: 1px solid rgba(30, 180, 219, 0.16);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.si-product-hero .container {
  position: relative;
  z-index: 2;
}

.si-product-hero__content {
  max-width: 650px;
}

.si-product-label {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--docflow-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.si-product-hero h1 {
  margin: 0 0 18px;
  color: var(--docflow-white);
  font-size: clamp(48px, 5vw, 70px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.035em;
}

.si-product-hero h1 span {
  color: var(--docflow-cyan);
}

.si-product-hero h2 {
  max-width: 620px;
  margin: 0 0 24px;
  color: rgba(255, 255, 255, 0.97);
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: 600;
  line-height: 1.3;
}

.si-product-hero p {
  max-width: 630px;
  margin: 0 0 13px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.75;
}

.si-product-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.si-product-btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition:
    transform 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
}

.si-product-btn:hover,
.si-product-btn:focus {
  transform: translateY(-2px);
  text-decoration: none;
}

.si-product-btn--primary,
.si-product-btn--gold {
  background: var(--docflow-gold);
  color: var(--docflow-dark);
}

.si-product-btn--primary:hover,
.si-product-btn--primary:focus,
.si-product-btn--gold:hover,
.si-product-btn--gold:focus {
  background: #edbd52;
  color: var(--docflow-dark);
}

.si-product-btn--secondary {
  border-color: rgba(255, 255, 255, 0.66);
  color: var(--docflow-white);
}

.si-product-btn--secondary:hover,
.si-product-btn--secondary:focus {
  background: var(--docflow-white);
  border-color: var(--docflow-white);
  color: var(--docflow-navy);
}

.si-product-hero__visual {
  position: relative;
  padding-left: 32px;
}

.si-product-hero__visual img {
  width: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
  border: 7px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.34);
}

/* VALEURS */
.si-product-value {
  position: relative;
  z-index: 5;
  margin-top: -58px;
}

.si-product-value__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  background: var(--docflow-white);
  border-radius: 12px;
  box-shadow: var(--docflow-shadow);
}

.si-product-value__item {
  display: flex;
  min-width: 0;
  min-height: 132px;
  align-items: center;
  gap: 17px;
  padding: 26px 23px;
  border-right: 1px solid var(--docflow-border);
}

.si-product-value__item:last-child {
  border-right: 0;
}

.si-product-value__icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 117, 185, 0.08);
  border: 1px solid rgba(8, 117, 185, 0.15);
  border-radius: 50%;
  color: var(--docflow-blue);
  font-size: 23px;
}

.si-product-value__item strong,
.si-product-value__item span {
  display: block;
}

.si-product-value__item strong {
  margin-bottom: 5px;
  color: var(--docflow-navy);
  font-size: 17px;
}

.si-product-value__item span {
  color: var(--docflow-muted);
  font-size: 13px;
  line-height: 1.5;
}

/* TITRES DE SECTION */
.si-product-section {
  padding: 120px 0 90px;
  background: var(--docflow-white);
}

.si-product-section__heading {
  max-width: 850px;
  margin: 0 auto 55px;
}

.si-product-section__heading > span,
.si-product-benefits__intro > span,
.si-product-sectors__label {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--docflow-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.si-product-section__heading h2,
.si-product-benefits__intro h2,
.si-product-sectors h2,
.si-product-cta h2 {
  color: var(--docflow-navy);
  font-weight: 800;
  line-height: 1.17;
  letter-spacing: -0.02em;
}

.si-product-section__heading h2 {
  margin: 0 0 18px;
  font-size: clamp(34px, 3.4vw, 46px);
}

.si-product-section__heading h2 em {
  color: var(--docflow-blue);
  font-style: normal;
}

.si-product-section__heading p {
  max-width: 740px;
  margin: 0 auto;
  color: var(--docflow-muted);
  font-size: 16px;
  line-height: 1.75;
}

/* CARTES FONCTIONNALITÉS */
.si-feature-card {
  position: relative;
  height: calc(100% - 30px);
  min-height: 265px;
  margin-bottom: 30px;
  padding: 31px 28px;
  overflow: hidden;
  background: var(--docflow-light);
  border: 1px solid var(--docflow-border);
  border-radius: 12px;
  transition:
    transform 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.si-feature-card::after {
  position: absolute;
  right: -35px;
  bottom: -35px;
  width: 90px;
  height: 90px;
  background: rgba(30, 180, 219, 0.05);
  border-radius: 50%;
  content: "";
}

.si-feature-card:hover {
  transform: translateY(-6px);
  background: var(--docflow-white);
  border-color: rgba(8, 117, 185, 0.2);
  box-shadow: 0 18px 38px rgba(3, 29, 53, 0.1);
}

.si-feature-card__icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 21px;
  background: var(--docflow-navy);
  border-radius: 13px;
  color: var(--docflow-cyan);
  font-size: 23px;
}

.si-feature-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  color: var(--docflow-navy);
  font-size: 19px;
  line-height: 1.35;
}

.si-feature-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--docflow-muted);
  font-size: 14px;
  line-height: 1.7;
}

/* BÉNÉFICES */
.si-product-benefits {
  padding: 100px 0;
  background:
    linear-gradient(
      120deg,
      #f5f8fa 0%,
      #ffffff 50%,
      #eff6fa 100%
    );
}

.si-product-benefits__intro {
  padding-right: 45px;
}

.si-product-benefits__intro h2 {
  margin: 0 0 20px;
  font-size: clamp(33px, 3vw, 42px);
}

.si-product-benefits__intro p {
  margin: 0;
  color: var(--docflow-muted);
  font-size: 16px;
  line-height: 1.75;
}

.si-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.si-benefit-item {
  display: flex;
  min-width: 0;
  min-height: 105px;
  align-items: center;
  gap: 17px;
  padding: 22px;
  background: var(--docflow-white);
  border: 1px solid rgba(226, 232, 237, 0.8);
  border-radius: 10px;
  box-shadow: 0 7px 22px rgba(3, 29, 53, 0.05);
}

.si-benefit-item i {
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 117, 185, 0.09);
  border-radius: 50%;
  color: var(--docflow-blue);
  font-size: 19px;
}

.si-benefit-item span {
  color: var(--docflow-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

/* SECTEURS */
.si-product-sectors {
  padding: 88px 0;
  background: var(--docflow-white);
}

.si-product-sectors h2 {
  max-width: 760px;
  margin: 0 auto 35px;
  font-size: clamp(32px, 3vw, 40px);
}

.si-product-sectors__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 11px;
}

.si-product-sectors__list span {
  padding: 11px 18px;
  background: var(--docflow-light);
  border: 1px solid var(--docflow-border);
  border-radius: 30px;
  color: var(--docflow-navy);
  font-size: 13px;
  font-weight: 700;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.si-product-sectors__list span:hover {
  background: var(--docflow-navy);
  border-color: var(--docflow-navy);
  color: var(--docflow-white);
}

/* CTA */
.si-product-cta {
  position: relative;
  overflow: hidden;
  padding: 72px 0;
  background:
    radial-gradient(
      circle at 88% 50%,
      rgba(30, 180, 219, 0.16),
      transparent 28%
    ),
    linear-gradient(
      110deg,
      var(--docflow-dark),
      var(--docflow-navy)
    );
}

.si-product-cta::after {
  position: absolute;
  right: 4%;
  bottom: -120px;
  width: 350px;
  height: 350px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  content: "";
}

.si-product-cta .container {
  position: relative;
  z-index: 2;
}

.si-product-cta span {
  display: block;
  margin-bottom: 8px;
  color: var(--docflow-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.si-product-cta h2 {
  max-width: 850px;
  margin: 0 0 12px;
  color: var(--docflow-white);
  font-size: clamp(31px, 3vw, 39px);
}

.si-product-cta p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.7;
}

/* TABLETTES */
@media (max-width: 991px) {
  .si-product-hero {
    padding: 80px 0 95px;
  }

  .si-product-hero__visual {
    margin-top: 45px;
    padding-left: 0;
  }

  .si-product-hero__visual img {
    min-height: 320px;
  }

  .si-product-value {
    margin-top: 0;
  }

  .si-product-value__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 0;
  }

  .si-product-value__item:nth-child(2) {
    border-right: 0;
  }

  .si-product-value__item:nth-child(-n + 2) {
    border-bottom: 1px solid var(--docflow-border);
  }

  .si-product-benefits__intro {
    margin-bottom: 40px;
    padding-right: 0;
  }

  .si-product-cta .text-lg-right {
    margin-top: 28px;
    text-align: left !important;
  }
}

/* MOBILES */
@media (max-width: 767px) {
  .si-product-hero {
    min-height: auto;
    padding: 70px 0;
  }

  .si-product-hero h1 {
    font-size: 45px;
  }

  .si-product-hero h2 {
    font-size: 23px;
  }

  .si-product-hero p {
    font-size: 15px;
  }

  .si-product-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .si-product-btn {
    width: 100%;
  }

  .si-product-hero__visual img {
    min-height: 250px;
    border-width: 4px;
    border-radius: 12px;
  }

  .si-product-value__grid,
  .si-benefits-grid {
    grid-template-columns: 1fr;
  }

  .si-product-value__item {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--docflow-border);
  }

  .si-product-value__item:last-child {
    border-bottom: 0;
  }

  .si-product-section {
    padding: 75px 0 55px;
  }

  .si-product-benefits,
  .si-product-sectors {
    padding: 70px 0;
  }

  .si-product-cta {
    padding: 60px 0;
  }

  .si-feature-card {
    min-height: auto;
  }
}

.si-product-page--billing {
  --docflow-blue: #1487c9;
  --docflow-cyan: #38a9e2;
}
.si-product-page--gov {
  --docflow-blue: #0d64a8;
  --docflow-cyan: #2aa7d8;
  --docflow-light: #f4f7fa;
}

.si-product-page--gov .si-product-hero {
  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(42, 167, 216, 0.18),
      transparent 34%
    ),
    linear-gradient(
      120deg,
      #031d35 0%,
      #073252 58%,
      #0a587d 100%
    );
}

.si-expertise-hero {
  position: relative;
  min-height: 610px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #031d35;
}

.si-expertise-hero__background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.si-expertise-hero__background > div,
.si-expertise-hero__background picture {
  width: 100%;
  height: 100%;
}

.si-expertise-hero__background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.si-expertise-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgba(3, 29, 53, 0.97) 0%,
      rgba(6, 43, 76, 0.9) 42%,
      rgba(6, 43, 76, 0.42) 72%,
      rgba(6, 43, 76, 0.16) 100%
    );
}

.si-expertise-hero .container {
  position: relative;
  z-index: 2;
}

.si-expertise-hero__content {
  max-width: 760px;
  padding: 100px 0;
}

.si-expertise-label {
  display: inline-block;
  margin-bottom: 18px;
  color: #dda72e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.si-expertise-hero h1 {
  max-width: 820px;
  margin: 0 0 25px;
  color: #ffffff;
  font-size: clamp(45px, 5vw, 68px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.si-expertise-hero__lead {
  max-width: 700px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
  line-height: 1.75;
}

.si-expertise-hero__lead p {
  margin-bottom: 14px;
  color: inherit;
}

.si-expertise-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.si-expertise-body {
  width: 100%;
}

@media (max-width: 767px) {
  .si-expertise-hero {
    min-height: 560px;
  }

  .si-expertise-hero__background img {
    object-position: 64% center;
  }

  .si-expertise-hero__content {
    padding: 75px 0;
  }

  .si-expertise-hero h1 {
    font-size: 42px;
  }

  .si-expertise-hero__actions {
    flex-direction: column;
  }
}

/* =========================================================
   STRATUM IMPACT — PAGES DOMAINES D’EXPERTISE
   Compatible Facdori / Gavias Builder / Bootstrap 4
   ========================================================= */

:root {
  --si-exp-navy: #062b4c;
  --si-exp-dark: #031d35;
  --si-exp-blue: #0875b9;
  --si-exp-cyan: #1eb4db;
  --si-exp-gold: #dda72e;
  --si-exp-light: #f5f8fa;
  --si-exp-white: #ffffff;
  --si-exp-text: #263746;
  --si-exp-muted: #667788;
  --si-exp-border: #e2e8ed;
  --si-exp-shadow: 0 18px 45px rgba(3, 29, 53, 0.1);
}

.si-expertise-page,
.si-expertise-page * {
  box-sizing: border-box;
}

.si-expertise-page {
  width: 100%;
  overflow: hidden;
  background: var(--si-exp-white);
}

.si-expertise-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Neutraliser certains espacements Facdori/Gavias */
.si-expertise-page .row {
  margin-right: -15px;
  margin-left: -15px;
}

/* =========================================================
   HERO
   ========================================================= */

.si-expertise-hero {
  position: relative;
  overflow: hidden;
  padding: 95px 0 115px;
  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(30, 180, 219, 0.16),
      transparent 35%
    ),
    linear-gradient(
      120deg,
      var(--si-exp-dark) 0%,
      var(--si-exp-navy) 58%,
      #074f79 100%
    );
}

.si-expertise-hero::before {
  position: absolute;
  inset: 0;
  opacity: 0.13;
  background-image:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.7) 1px,
      transparent 1.5px
    );
  background-size: 30px 30px;
  content: "";
  pointer-events: none;
}


.si-expertise-hero__content {
  max-width: 680px;
}

.si-expertise-label {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--si-exp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.si-expertise-hero h1 {
  margin: 0 0 25px;
  color: var(--si-exp-white);
  font-size: clamp(45px, 5vw, 67px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.035em;
  text-transform: none;
}

.si-expertise-hero h1 span {
  color: var(--si-exp-cyan);
}

.si-expertise-hero__lead,
.si-expertise-hero p {
  max-width: 680px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px;
  line-height: 1.75;
}

.si-expertise-hero__lead {
  margin-bottom: 16px;
  color: rgba(255, 255, 255, 0.95);
  font-size: 18px;
}


.si-expertise-btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: all 0.25s ease;
}

.si-expertise-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.si-expertise-btn--primary,
.si-expertise-btn--gold {
  background: var(--si-exp-gold);
  color: var(--si-exp-dark);
}

.si-expertise-btn--primary:hover,
.si-expertise-btn--gold:hover {
  background: #edbd52;
  color: var(--si-exp-dark);
}

.si-expertise-btn--secondary {
  border-color: rgba(255, 255, 255, 0.65);
  color: var(--si-exp-white);
}

.si-expertise-btn--secondary:hover {
  background: var(--si-exp-white);
  color: var(--si-exp-navy);
}

.si-expertise-hero__visual {
  position: relative;
  padding-left: 35px;
}

.si-expertise-hero__visual img {
  width: 100%;
  min-height: 410px;
  object-fit: cover;
  object-position: center;
  border: 7px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.34);
}

/* =========================================================
   PILIERS
   ========================================================= */

.si-expertise-pillars {
  position: relative;
  z-index: 5;
  margin-top: -58px;
}

.si-expertise-pillars__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  background: var(--si-exp-white);
  border-radius: 12px;
  box-shadow: var(--si-exp-shadow);
}

.si-expertise-pillar {
  display: flex;
  min-width: 0;
  min-height: 145px;
  align-items: center;
  gap: 17px;
  padding: 26px 23px;
  border-right: 1px solid var(--si-exp-border);
}

.si-expertise-pillar:last-child {
  border-right: 0;
}

.si-expertise-pillar__icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 117, 185, 0.08);
  border-radius: 50%;
  color: var(--si-exp-blue);
  font-size: 24px;
}

.si-expertise-pillar strong,
.si-expertise-pillar span {
  display: block;
}

.si-expertise-pillar strong {
  margin-bottom: 6px;
  color: var(--si-exp-navy);
  font-size: 16px;
}

.si-expertise-pillar span {
  color: var(--si-exp-muted);
  font-size: 13px;
  line-height: 1.5;
}

/* =========================================================
   APPROCHE
   ========================================================= */

.si-expertise-approach {
  padding: 120px 0 100px;
  background: var(--si-exp-white);
}

.si-expertise-approach__content {
  padding-right: 48px;
}

.si-expertise-section-label {
  display: inline-block;
  margin-bottom: 15px;
  color: var(--si-exp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.si-expertise-approach h2,
.si-expertise-section-heading h2,
.si-expertise-sectors h2,
.si-expertise-impact h2,
.si-expertise-cta h2 {
  color: var(--si-exp-navy);
  font-weight: 800;
  line-height: 1.17;
  letter-spacing: -0.02em;
  text-transform: none;
}

.si-expertise-approach h2 {
  margin: 0 0 24px;
  font-size: clamp(34px, 3.5vw, 46px);
}

.si-expertise-approach p {
  margin-bottom: 16px;
  color: var(--si-exp-muted);
  font-size: 16px;
  line-height: 1.8;
}

.si-expertise-checklist {
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.si-expertise-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 13px;
  color: var(--si-exp-text);
  font-weight: 600;
}

.si-expertise-checklist i {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  border: 1px solid var(--si-exp-blue);
  border-radius: 50%;
  color: var(--si-exp-blue);
  font-size: 10px;
}

.si-expertise-approach__visual img {
  width: 100%;
  min-height: 440px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: var(--si-exp-shadow);
}

/* =========================================================
   TITRES DE SECTION
   ========================================================= */

.si-expertise-section-heading {
  max-width: 850px;
  margin: 0 auto 55px;
}

.si-expertise-section-heading > span {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--si-exp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.si-expertise-section-heading h2 {
  margin: 0 0 18px;
  font-size: clamp(34px, 3.4vw, 45px);
}

.si-expertise-section-heading h2 em {
  color: var(--si-exp-blue);
  font-style: normal;
}

.si-expertise-section-heading p {
  max-width: 730px;
  margin: 0 auto;
  color: var(--si-exp-muted);
  font-size: 16px;
  line-height: 1.75;
}

/* =========================================================
   DOMAINES D’INTERVENTION
   ========================================================= */

.si-expertise-services {
  padding: 100px 0 75px;
  background: var(--si-exp-light);
}

.si-expertise-card {
  position: relative;
  height: calc(100% - 30px);
  min-height: 250px;
  margin-bottom: 30px;
  padding: 31px 28px;
  overflow: hidden;
  background: var(--si-exp-white);
  border: 1px solid var(--si-exp-border);
  border-radius: 12px;
  transition: all 0.25s ease;
}

.si-expertise-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(3, 29, 53, 0.1);
}

.si-expertise-card__icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 21px;
  background: var(--si-exp-navy);
  border-radius: 13px;
  color: var(--si-exp-cyan);
  font-size: 23px;
}

.si-expertise-card h3 {
  margin: 0 0 12px;
  color: var(--si-exp-navy);
  font-size: 19px;
  line-height: 1.35;
  text-transform: none;
}

.si-expertise-card p {
  margin: 0;
  color: var(--si-exp-muted);
  font-size: 14px;
  line-height: 1.7;
}

/* =========================================================
   MÉTHODE
   ========================================================= */

.si-expertise-method {
  padding: 100px 0;
  background: var(--si-exp-white);
}

.si-expertise-method__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--si-exp-border);
  border-radius: 12px;
  box-shadow: 0 10px 35px rgba(3, 29, 53, 0.06);
}

.si-expertise-method__item {
  position: relative;
  min-height: 270px;
  padding: 32px 24px;
  border-right: 1px solid var(--si-exp-border);
  background: var(--si-exp-white);
}

.si-expertise-method__item:last-child {
  border-right: 0;
}

.si-expertise-method__item strong {
  display: block;
  margin-bottom: 26px;
  color: var(--si-exp-gold);
  font-size: 38px;
  line-height: 1;
}

.si-expertise-method__item h3 {
  margin: 0 0 12px;
  color: var(--si-exp-navy);
  font-size: 20px;
  text-transform: none;
}

.si-expertise-method__item p {
  margin: 0;
  color: var(--si-exp-muted);
  font-size: 14px;
  line-height: 1.65;
}

/* =========================================================
   SECTEURS
   ========================================================= */

.si-expertise-sectors {
  padding: 90px 0;
  background: var(--si-exp-light);
}

.si-expertise-sectors h2 {
  max-width: 780px;
  margin: 0 auto 35px;
  font-size: clamp(32px, 3vw, 40px);
}

.si-expertise-sectors__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 11px;
}

.si-expertise-sectors__list span {
  padding: 11px 18px;
  background: var(--si-exp-white);
  border: 1px solid var(--si-exp-border);
  border-radius: 30px;
  color: var(--si-exp-navy);
  font-size: 13px;
  font-weight: 700;
}

/* =========================================================
   IMPACT
   ========================================================= */

.si-expertise-impact {
  padding: 85px 0;
  background: var(--si-exp-white);
}

.si-expertise-impact__message {
  padding-right: 40px;
}

.si-expertise-impact__message > span {
  display: block;
  margin-bottom: 10px;
  color: var(--si-exp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.si-expertise-impact__message h2 {
  margin: 0;
  font-size: clamp(32px, 3vw, 40px);
}

.si-expertise-impact__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
}

.si-expertise-impact__item {
  min-height: 145px;
  padding: 22px;
  background: var(--si-exp-light);
  border-radius: 10px;
}

.si-expertise-impact__item i {
  margin-bottom: 12px;
  color: var(--si-exp-blue);
  font-size: 24px;
}

.si-expertise-impact__item strong,
.si-expertise-impact__item span {
  display: block;
}

.si-expertise-impact__item strong {
  margin-bottom: 6px;
  color: var(--si-exp-navy);
}

.si-expertise-impact__item span {
  color: var(--si-exp-muted);
  font-size: 13px;
  line-height: 1.5;
}

/* =========================================================
   CTA
   ========================================================= */

.si-expertise-cta {
  position: relative;
  overflow: hidden;
  padding: 72px 0;
  background:
    radial-gradient(
      circle at 88% 50%,
      rgba(30, 180, 219, 0.16),
      transparent 28%
    ),
    linear-gradient(
      110deg,
      var(--si-exp-dark),
      var(--si-exp-navy)
    );
}

.si-expertise-cta .container {
  position: relative;
  z-index: 2;
}

.si-expertise-cta span {
  display: block;
  margin-bottom: 8px;
  color: var(--si-exp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.si-expertise-cta h2 {
  max-width: 850px;
  margin: 0 0 12px;
  color: var(--si-exp-white);
  font-size: clamp(31px, 3vw, 39px);
}

.si-expertise-cta p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {
  .si-expertise-hero__visual {
    margin-top: 45px;
    padding-left: 0;
  }

  .si-expertise-pillars {
    margin-top: 0;
  }

  .si-expertise-pillars__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 0;
  }

  .si-expertise-pillar:nth-child(2) {
    border-right: 0;
  }

  .si-expertise-pillar:nth-child(-n + 2) {
    border-bottom: 1px solid var(--si-exp-border);
  }

  .si-expertise-approach__content {
    margin-bottom: 40px;
    padding-right: 0;
  }

  .si-expertise-method__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .si-expertise-method__item {
    border-bottom: 1px solid var(--si-exp-border);
  }

  .si-expertise-impact__message {
    margin-bottom: 40px;
    padding-right: 0;
  }

  .si-expertise-cta .text-lg-right {
    margin-top: 28px;
    text-align: left !important;
  }
}

@media (max-width: 767px) {
  .si-expertise-hero {
    padding: 70px 0;
  }

  .si-expertise-hero h1 {
    font-size: 42px;
  }

  .si-expertise-hero__lead {
    font-size: 16px;
  }

  .si-expertise-hero__actions {
    flex-direction: column;
  }

  .si-expertise-btn {
    width: 100%;
  }

  .si-expertise-hero__visual img {
    min-height: 280px;
  }

  .si-expertise-pillars__grid,
  .si-expertise-method__grid,
  .si-expertise-impact__grid {
    grid-template-columns: 1fr;
  }

  .si-expertise-pillar,
  .si-expertise-method__item {
    border-right: 0;
    border-bottom: 1px solid var(--si-exp-border);
  }

  .si-expertise-approach,
  .si-expertise-services,
  .si-expertise-method,
  .si-expertise-sectors,
  .si-expertise-impact {
    padding: 70px 0;
  }

  .si-expertise-approach__visual img {
    min-height: 300px;
  }

  .si-expertise-method__item {
    min-height: auto;
  }
}

.si-expertise-page--digital-health {
  --si-exp-blue: #147cb5;
  --si-exp-cyan: #30b9c9;
  --si-exp-light: #f2f9fa;
}

.si-expertise-page--digital-health .si-expertise-hero {
  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(48, 185, 201, 0.18),
      transparent 35%
    ),
    linear-gradient(
      120deg,
      #031d35 0%,
      #063653 58%,
      #087287 100%
    );
}

.si-expertise-page--capacity-building {
  --si-exp-blue: #176aa8;
  --si-exp-cyan: #36a9c9;
  --si-exp-light: #f5f8fa;
}

.si-expertise-page--capacity-building .si-expertise-hero {
  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(54, 169, 201, 0.18),
      transparent 35%
    ),
    linear-gradient(
      120deg,
      #031d35 0%,
      #06304e 58%,
      #0a637c 100%
    );
}

/* =========================================================
   STRATUM IMPACT — BASE PAGES
   Pages institutionnelles / corporate
   Compatible Drupal + Gavias + Bootstrap
   ========================================================= */

:root {
  --si-navy: #062b4c;
  --si-dark: #031d35;
  --si-blue: #0875b9;
  --si-cyan: #1eb4db;
  --si-gold: #dda72e;

  --si-white: #ffffff;
  --si-light: #f5f8fa;
  --si-light-blue: #f1f7fb;
  --si-light-warm: #fbfaf7;

  --si-text: #263746;
  --si-muted: #667788;
  --si-border: #e2e8ed;

  --si-shadow-sm: 0 8px 22px rgba(3, 29, 53, 0.06);
  --si-shadow-md: 0 18px 45px rgba(3, 29, 53, 0.10);
  --si-shadow-lg: 0 30px 70px rgba(3, 29, 53, 0.17);

  --si-radius-sm: 8px;
  --si-radius-md: 12px;
  --si-radius-lg: 18px;
}

/* =========================================================
   RESET LOCAL
   ========================================================= */

.si-page,
.si-page * {
  box-sizing: border-box;
}

.si-page {
  width: 100%;
  overflow: hidden;
  background: var(--si-white);
  color: var(--si-text);
}

.si-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

.si-page a {
  text-decoration: none;
}

.si-page p {
  color: var(--si-muted);
  font-size: 16px;
  line-height: 1.75;
}

.si-page ul {
  padding-left: 0;
}

.si-page .row {
  margin-left: -15px;
  margin-right: -15px;
}

/* =========================================================
   TYPOGRAPHIE
   ========================================================= */

.si-page h1,
.si-page h2,
.si-page h3,
.si-page h4 {
  margin-top: 0;
  color: var(--si-navy);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: none;
}

.si-page h1 {
  font-size: clamp(44px, 5vw, 68px);
  line-height: 1.06;
}

.si-page h2 {
  font-size: clamp(32px, 3.3vw, 44px);
  line-height: 1.17;
}

.si-page h3 {
  font-size: 20px;
  line-height: 1.35;
}

.si-highlight,
.si-page h1 span,
.si-page h2 em {
  color: var(--si-gold);
}

.si-page h2 em {
  font-style: normal;
}

/* =========================================================
   LABELS / EYEBROWS
   ========================================================= */

.si-label,
.si-section-label {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--si-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.si-label--line::after,
.si-section-label--line::after {
  display: block;
  width: 54px;
  height: 2px;
  margin-top: 10px;
  background: var(--si-gold);
  content: "";
}

/* =========================================================
   TITRES DE SECTIONS
   ========================================================= */

.si-section-heading {
  max-width: 860px;
  margin: 0 auto 55px;
}

.si-section-heading.text-center {
  text-align: center;
}

.si-section-heading h2 {
  margin-bottom: 18px;
}

.si-section-heading p {
  max-width: 740px;
  margin: 0 auto;
}

/* =========================================================
   HERO CORPORATE
   ========================================================= */

.si-page-hero {
  position: relative;
  min-height: 590px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 95px 0 110px;

  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(30, 180, 219, 0.16),
      transparent 35%
    ),
    linear-gradient(
      120deg,
      var(--si-dark) 0%,
      var(--si-navy) 58%,
      #074f79 100%
    );
}

.si-page-hero::before {
  position: absolute;
  inset: 0;
  opacity: 0.12;
  pointer-events: none;
  content: "";

  background-image:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.7) 1px,
      transparent 1.5px
    );

  background-size: 30px 30px;
}

.si-page-hero .container {
  position: relative;
  z-index: 2;
}

.si-page-hero__content {
  max-width: 680px;
}

.si-page-hero h1 {
  margin-bottom: 24px;
  color: var(--si-white);
}

.si-page-hero h1 span {
  color: var(--si-gold);
}

.si-page-hero__lead {
  margin-bottom: 16px;
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
}

.si-page-hero p {
  max-width: 680px;
  color: rgba(255, 255, 255, 0.78);
}

.si-page-hero__visual {
  position: relative;
  padding-left: 35px;
}

.si-page-hero__visual img {
  width: 100%;
  min-height: 390px;
  object-fit: cover;
  object-position: center;

  border: 7px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--si-radius-lg);

  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.32);
}

/* =========================================================
   BOUTONS
   ========================================================= */

.si-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.si-btn {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;
  padding: 14px 24px;

  border: 1px solid transparent;
  border-radius: 4px;

  font-size: 14px;
  font-weight: 700;

  transition:
    transform 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
}

.si-btn:hover,
.si-btn:focus {
  transform: translateY(-2px);
  text-decoration: none;
}

.si-btn--primary,
.si-btn--gold {
  background: var(--si-gold);
  color: var(--si-dark);
}

.si-btn--primary:hover,
.si-btn--gold:hover {
  background: #edbd52;
  color: var(--si-dark);
}

.si-btn--outline {
  border-color: rgba(255, 255, 255, 0.65);
  color: var(--si-white);
}

.si-btn--outline:hover {
  background: var(--si-white);
  border-color: var(--si-white);
  color: var(--si-navy);
}

.si-btn--navy {
  background: var(--si-navy);
  color: var(--si-white);
}

.si-btn--navy:hover {
  background: var(--si-dark);
  color: var(--si-white);
}

/* =========================================================
   SECTIONS GENERIQUES
   ========================================================= */

.si-section {
  padding: 100px 0;
}

.si-section--white {
  background: var(--si-white);
}

.si-section--light {
  background: var(--si-light);
}

.si-section--blue-light {
  background: var(--si-light-blue);
}

.si-section--warm {
  background: var(--si-light-warm);
}

.si-section--navy {
  background: var(--si-navy);
  color: var(--si-white);
}

.si-section--navy h2,
.si-section--navy h3 {
  color: var(--si-white);
}

.si-section--navy p {
  color: rgba(255, 255, 255, 0.74);
}

/* =========================================================
   INTRO / IMAGE + TEXTE
   ========================================================= */

.si-intro {
  padding: 105px 0;
}

.si-intro__visual {
  padding-right: 35px;
}

.si-intro__visual img {
  width: 100%;
  min-height: 420px;
  object-fit: cover;

  border-radius: var(--si-radius-md);
  box-shadow: var(--si-shadow-md);
}

.si-intro__content {
  padding-left: 30px;
}

.si-intro__content h2 {
  margin-bottom: 24px;
}

.si-intro__content p {
  margin-bottom: 16px;
}

.si-intro__highlight {
  margin-top: 24px !important;
  padding-left: 20px;

  border-left: 3px solid var(--si-gold);

  color: var(--si-navy) !important;
  font-weight: 700;
}

/* =========================================================
   CARDS
   ========================================================= */

.si-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.si-card {
  position: relative;
  height: 100%;
  padding: 30px;

  background: var(--si-white);

  border: 1px solid var(--si-border);
  border-radius: var(--si-radius-md);

  box-shadow: var(--si-shadow-sm);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.si-card:hover {
  transform: translateY(-6px);
  border-color: rgba(8, 117, 185, 0.2);
  box-shadow: var(--si-shadow-md);
}

.si-card__icon {
  width: 58px;
  height: 58px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 20px;

  background: var(--si-navy);

  border-radius: 13px;

  color: var(--si-cyan);
  font-size: 22px;
}

.si-card h3 {
  margin-bottom: 12px;
}

.si-card p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.7;
}

/* =========================================================
   CARDS ICONES RONDES
   ========================================================= */

.si-icon-card {
  text-align: left;
}

.si-icon-card__icon {
  width: 58px;
  height: 58px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 18px;

  background: rgba(8, 117, 185, 0.08);

  border: 1px solid rgba(8, 117, 185, 0.14);
  border-radius: 50%;

  color: var(--si-blue);
  font-size: 23px;
}

/* =========================================================
   BANDE DE VALEURS / 4 COLONNES
   ========================================================= */

.si-value-strip {
  position: relative;
  z-index: 5;
  margin-top: -55px;
}

.si-value-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  overflow: hidden;

  background: var(--si-white);
  border-radius: var(--si-radius-md);

  box-shadow: var(--si-shadow-md);
}

.si-value-strip__item {
  min-height: 130px;

  display: flex;
  align-items: center;

  gap: 17px;

  padding: 25px;

  border-right: 1px solid var(--si-border);
}

.si-value-strip__item:last-child {
  border-right: 0;
}

.si-value-strip__item i {
  color: var(--si-blue);
  font-size: 28px;
}

.si-value-strip__item strong,
.si-value-strip__item span {
  display: block;
}

.si-value-strip__item strong {
  margin-bottom: 5px;

  color: var(--si-navy);
  font-size: 16px;
}

.si-value-strip__item span {
  color: var(--si-muted);
  font-size: 13px;
  line-height: 1.5;
}

/* =========================================================
   CHECKLIST
   ========================================================= */

.si-checklist {
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.si-checklist li {
  display: flex;
  align-items: flex-start;

  gap: 12px;

  margin-bottom: 13px;

  color: var(--si-text);
  font-weight: 600;
}

.si-checklist i {
  width: 23px;
  height: 23px;

  flex: 0 0 23px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-top: 1px;

  border: 1px solid var(--si-blue);
  border-radius: 50%;

  color: var(--si-blue);
  font-size: 10px;
}

/* =========================================================
   ETAPES / METHODE
   ========================================================= */

.si-process {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));

  overflow: hidden;

  background: var(--si-white);

  border: 1px solid var(--si-border);
  border-radius: var(--si-radius-md);

  box-shadow: var(--si-shadow-sm);
}

.si-process__item {
  min-height: 260px;
  position: relative;

  padding: 32px 24px;

  border-right: 1px solid var(--si-border);
}

.si-process__item:last-child {
  border-right: 0;
}

.si-process__number {
  display: block;

  margin-bottom: 24px;

  color: var(--si-gold);

  font-size: 38px;
  font-weight: 800;
  line-height: 1;
}

.si-process__icon {
  width: 50px;
  height: 50px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 18px;

  background: rgba(8, 117, 185, 0.08);
  border-radius: 50%;

  color: var(--si-blue);
}

.si-process h3 {
  margin-bottom: 12px;
}

.si-process p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.65;
}

/* =========================================================
   PILLS / TAGS
   ========================================================= */

.si-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 11px;
}

.si-tags span,
.si-tag {
  padding: 11px 18px;

  background: var(--si-light);

  border: 1px solid var(--si-border);
  border-radius: 30px;

  color: var(--si-navy);

  font-size: 13px;
  font-weight: 700;

  transition: all 0.2s ease;
}

.si-tags span:hover,
.si-tag:hover {
  background: var(--si-navy);
  border-color: var(--si-navy);
  color: var(--si-white);
}

/* =========================================================
   STATISTIQUES
   ========================================================= */

.si-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  background: var(--si-light);

  border-radius: var(--si-radius-md);
}

.si-stat {
  padding: 30px 22px;
  text-align: center;

  border-right: 1px solid var(--si-border);
}

.si-stat:last-child {
  border-right: 0;
}

.si-stat strong {
  display: block;

  margin-bottom: 5px;

  color: var(--si-navy);

  font-size: 34px;
  font-weight: 800;
}

.si-stat span {
  color: var(--si-muted);
  font-size: 13px;
}

/* =========================================================
   LARGE BANDE / CARTE / MAP
   ========================================================= */

.si-feature-band {
  position: relative;
  overflow: hidden;

  padding: 65px;

  background:
    radial-gradient(
      circle at 80% 40%,
      rgba(30, 180, 219, 0.14),
      transparent 32%
    ),
    linear-gradient(
      120deg,
      var(--si-dark),
      var(--si-navy)
    );

  border-radius: var(--si-radius-md);

  color: var(--si-white);
}

.si-feature-band h2 {
  color: var(--si-white);
}

.si-feature-band p {
  color: rgba(255, 255, 255, 0.74);
}

.si-feature-band img {
  width: 100%;
}

/* =========================================================
   3 COLONNES / DIMENSIONS
   ========================================================= */

.si-three-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.si-three-columns .si-card {
  min-height: 210px;
}

/* =========================================================
   VALEURS / 6 COLONNES
   ========================================================= */

.si-values-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.si-value {
  padding: 20px 10px;
}

.si-value__icon {
  width: 46px;
  height: 46px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 12px;

  border: 1px solid rgba(8, 117, 185, 0.20);
  border-radius: 50%;

  color: var(--si-blue);
  font-size: 18px;
}

.si-value h3 {
  margin-bottom: 7px;
  font-size: 16px;
}

.si-value p {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

/* =========================================================
   CTA FINAL
   ========================================================= */

.si-cta {
  position: relative;
  overflow: hidden;

  padding: 72px 0;

  background:
    radial-gradient(
      circle at 88% 50%,
      rgba(30, 180, 219, 0.16),
      transparent 28%
    ),
    linear-gradient(
      110deg,
      var(--si-dark),
      var(--si-navy)
    );
}

.si-cta .container {
  position: relative;
  z-index: 2;
}

.si-cta > .container > .row {
  align-items: center;
}

.si-cta__label {
  display: block;
  margin-bottom: 8px;

  color: var(--si-gold);

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;

  text-transform: uppercase;
}

.si-cta h2 {
  max-width: 850px;

  margin-bottom: 12px;

  color: var(--si-white);

  font-size: clamp(31px, 3vw, 39px);
}

.si-cta p {
  max-width: 760px;

  margin: 0;

  color: rgba(255, 255, 255, 0.72);
}

/* =========================================================
   ABOUT PAGE — COMPATIBILITE
   Permet d'utiliser le HTML déjà produit
   ========================================================= */

.si-about-page {
  width: 100%;
  overflow: hidden;
}

.si-about-label,
.si-about-section-label,
.si-about-section-heading > span {
  display: inline-block;
  margin-bottom: 14px;

  color: var(--si-gold);

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;

  text-transform: uppercase;
}

.si-about-hero {
  position: relative;

  padding: 95px 0 110px;

  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(30, 180, 219, 0.16),
      transparent 35%
    ),
    linear-gradient(
      120deg,
      var(--si-dark),
      var(--si-navy) 58%,
      #074f79
    );
}

.si-about-hero h1 {
  color: var(--si-white);
  font-size: clamp(44px, 5vw, 68px);
}

.si-about-hero h1 span {
  color: var(--si-gold);
}

.si-about-hero p {
  color: rgba(255, 255, 255, 0.78);
}

.si-about-hero__lead {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 18px !important;
}

.si-about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.si-about-btn {
  min-height: 52px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  padding: 14px 24px;

  border: 1px solid transparent;

  font-weight: 700;
}

.si-about-btn--primary,
.si-about-btn--gold {
  background: var(--si-gold);
  color: var(--si-dark);
}

.si-about-btn--secondary {
  border-color: rgba(255, 255, 255, 0.65);
  color: var(--si-white);
}

.si-about-hero__visual {
  padding-left: 35px;
}

.si-about-hero__visual img {
  width: 100%;
  min-height: 400px;
  object-fit: cover;

  border-radius: var(--si-radius-lg);

  box-shadow: var(--si-shadow-lg);
}

.si-about-intro,
.si-about-purpose,
.si-about-difference,
.si-about-presence,
.si-about-method,
.si-about-dimensions,
.si-about-values {
  padding: 95px 0;
}

.si-about-intro__visual img {
  width: 100%;
  min-height: 420px;
  object-fit: cover;

  border-radius: var(--si-radius-md);

  box-shadow: var(--si-shadow-md);
}

.si-about-intro__content {
  padding-left: 40px;
}

.si-about-intro__highlight {
  padding-left: 18px;

  border-left: 3px solid var(--si-gold);

  color: var(--si-navy) !important;
  font-weight: 700;
}

.si-about-purpose,
.si-about-dimensions {
  background: var(--si-light-blue);
}

.si-about-purpose__grid,
.si-about-dimensions__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 22px;

  margin-top: 45px;
}

.si-about-purpose-card,
.si-about-dimension-card {
  padding: 30px;

  background: var(--si-white);

  border: 1px solid var(--si-border);
  border-radius: var(--si-radius-md);

  box-shadow: var(--si-shadow-sm);
}

.si-about-purpose-card__icon,
.si-about-dimension-card__icon {
  width: 56px;
  height: 56px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 18px;

  background: rgba(8, 117, 185, 0.08);
  border-radius: 50%;

  color: var(--si-blue);
  font-size: 22px;
}

.si-about-difference__grid,
.si-about-method__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));

  margin-top: 45px;

  border: 1px solid var(--si-border);
  border-radius: var(--si-radius-md);

  overflow: hidden;
}

.si-about-step,
.si-about-method__item {
  padding: 28px 22px;

  border-right: 1px solid var(--si-border);
}

.si-about-step:last-child,
.si-about-method__item:last-child {
  border-right: 0;
}

.si-about-step > strong,
.si-about-method__item > strong {
  display: block;

  margin-bottom: 18px;

  color: var(--si-gold);

  font-size: 30px;
}

.si-about-step__icon,
.si-about-method__icon {
  width: 48px;
  height: 48px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 16px;

  border-radius: 50%;

  background: rgba(8, 117, 185, 0.08);

  color: var(--si-blue);
}

.si-about-presence {
  background: var(--si-white);
}

.si-about-presence__box {
  padding: 55px;

  background:
    radial-gradient(
      circle at 80% 40%,
      rgba(30, 180, 219, 0.13),
      transparent 30%
    ),
    linear-gradient(
      120deg,
      var(--si-dark),
      var(--si-navy)
    );

  border-radius: var(--si-radius-md);
}

.si-about-presence h2 {
  color: var(--si-white);
}

.si-about-presence p {
  color: rgba(255, 255, 255, 0.75);
}

.si-about-presence__map img {
  width: 100%;
}

.si-about-dimensions__note {
  margin-top: 24px !important;
  text-align: center;
  color: var(--si-navy) !important;
  font-weight: 700;
}

.si-about-values__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;

  margin-top: 40px;
}

.si-about-value {
  padding: 18px 8px;
}

.si-about-value__icon {
  width: 46px;
  height: 46px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 12px;

  border: 1px solid rgba(8, 117, 185, 0.20);
  border-radius: 50%;

  color: var(--si-blue);
}

.si-about-value h3 {
  font-size: 16px;
}

.si-about-value p {
  font-size: 12px;
  line-height: 1.55;
}

.si-about-cta {
  padding: 72px 0;

  background:
    radial-gradient(
      circle at 88% 50%,
      rgba(30, 180, 219, 0.16),
      transparent 28%
    ),
    linear-gradient(
      110deg,
      var(--si-dark),
      var(--si-navy)
    );
}

.si-about-cta span {
  color: var(--si-gold);

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;

  text-transform: uppercase;
}

.si-about-cta h2 {
  color: var(--si-white);
}

.si-about-cta p {
  color: rgba(255, 255, 255, 0.72);
}

/* =========================================================
   RESPONSIVE — TABLETTE
   ========================================================= */

@media (max-width: 991px) {

  .si-page-hero__visual,
  .si-about-hero__visual {
    margin-top: 45px;
    padding-left: 0;
  }

  .si-intro__visual {
    margin-bottom: 40px;
    padding-right: 0;
  }

  .si-intro__content,
  .si-about-intro__content {
    padding-left: 0;
  }

  .si-card-grid,
  .si-three-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .si-value-strip {
    margin-top: 0;
  }

  .si-value-strip__grid,
  .si-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .si-process,
  .si-about-difference__grid,
  .si-about-method__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .si-values-grid,
  .si-about-values__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .si-about-purpose__grid,
  .si-about-dimensions__grid {
    grid-template-columns: 1fr;
  }

  .si-about-presence__content {
    margin-bottom: 35px;
  }
}

/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .si-page-hero,
  .si-about-hero {
    min-height: auto;
    padding: 70px 0;
  }

  .si-page-hero h1,
  .si-about-hero h1 {
    font-size: 42px;
  }

  .si-page-hero__lead,
  .si-about-hero__lead {
    font-size: 16px !important;
  }

  .si-actions,
  .si-about-hero__actions {
    flex-direction: column;
  }

  .si-btn,
  .si-about-btn {
    width: 100%;
  }

  .si-page-hero__visual img,
  .si-about-hero__visual img {
    min-height: 270px;
  }

  .si-section,
  .si-intro,
  .si-about-intro,
  .si-about-purpose,
  .si-about-difference,
  .si-about-presence,
  .si-about-method,
  .si-about-dimensions,
  .si-about-values {
    padding: 70px 0;
  }

  .si-card-grid,
  .si-three-columns,
  .si-value-strip__grid,
  .si-stats,
  .si-process,
  .si-values-grid,
  .si-about-values__grid,
  .si-about-difference__grid,
  .si-about-method__grid {
    grid-template-columns: 1fr;
  }

  .si-value-strip__item,
  .si-stat,
  .si-process__item,
  .si-about-step,
  .si-about-method__item {
    border-right: 0;
    border-bottom: 1px solid var(--si-border);
  }

  .si-value-strip__item:last-child,
  .si-stat:last-child,
  .si-process__item:last-child,
  .si-about-step:last-child,
  .si-about-method__item:last-child {
    border-bottom: 0;
  }

  .si-feature-band,
  .si-about-presence__box {
    padding: 35px 24px;
  }

  .si-intro__visual img,
  .si-about-intro__visual img {
    min-height: 300px;
  }
}

.si-approach-page {
  padding: 95px 0;
}

.si-approach-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.si-approach-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--si-border);
  border-radius: 12px;
  box-shadow: var(--si-shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.si-approach-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--si-shadow-md);
}

.si-approach-card__image {
  height: 220px;
  overflow: hidden;
}

.si-approach-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.si-approach-card__content {
  position: relative;
  min-height: 235px;
  padding: 30px;
}

.si-approach-card__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.si-approach-card__icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--si-navy);
  border-radius: 50%;
  color: var(--si-gold);
  font-size: 22px;
}

.si-approach-card__number {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--si-navy);
  border-radius: 50%;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
}

.si-approach-card h3 {
  margin-bottom: 12px;
  color: var(--si-navy);
  font-size: 20px;
}

.si-approach-card p {
  margin: 0;
  color: var(--si-muted);
  font-size: 14px;
  line-height: 1.7;
}

.si-approach-signature {
  max-width: 900px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 50px auto 0;
  padding-top: 30px;
  border-top: 1px solid var(--si-border);
}

.si-approach-signature__icon {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--si-gold);
  font-size: 30px;
}

.si-approach-signature p {
  margin: 0;
  color: var(--si-navy);
  font-size: 18px;
}

@media (max-width: 991px) {
  .si-approach-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .si-approach-grid {
    grid-template-columns: 1fr;
  }

  .si-approach-card__image {
    height: 200px;
  }

  .si-approach-signature {
    flex-direction: column;
    text-align: center;
  }
}

.si-central-africa-page {
  --si-blue: #0b4d88;
  --si-cyan: #20a9d3;
  --si-gold: #d8a72c;
  --si-light: #f5f7f9;
}

.si-central-africa-hero {
  background:
    radial-gradient(
      circle at 82% 35%,
      rgba(216, 167, 44, 0.14),
      transparent 34%
    ),
    linear-gradient(
      120deg,
      #031d35 0%,
      #062b4c 58%,
      #0a5373 100%
    );
}

.si-central-africa-context {
  padding-right: 45px;
}

.si-central-africa-countries {
  padding: 85px 0;
  background: #ffffff;
}

.si-central-africa-strengths {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.si-central-africa-approach {
  background: #ffffff;
}

.si-card > a {
  display: inline-block;
  margin-top: 18px;
  color: var(--si-blue);
  font-size: 13px;
  font-weight: 700;
}

.si-card > a:hover {
  color: var(--si-gold);
}

@media (max-width: 991px) {
  .si-central-africa-context {
    margin-bottom: 40px;
    padding-right: 0;
  }
}

@media (max-width: 767px) {
  .si-central-africa-strengths {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   STRATUM IMPACT — HOME PAGE
   ========================================================= */

.si-home-page {
  width: 100%;
  overflow: hidden;
  background: #ffffff;
}

/* =========================================================
   HERO
   ========================================================= */

.si-home-hero {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #031d35;
}

.si-home-hero__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  background:
    linear-gradient(
      90deg,
      rgba(3, 29, 53, 0.98) 0%,
      rgba(3, 29, 53, 0.92) 35%,
      rgba(3, 29, 53, 0.45) 62%,
      rgba(3, 29, 53, 0.12) 100%
    ),
    url("/sites/default/files/gva-sliderlayer-upload/slidervalide1.png")
      center right / cover no-repeat;
}

.si-home-hero .container {
  position: relative;
  z-index: 2;
}

.si-home-hero__content {
  max-width: 680px;
  padding: 90px 0;
}

.si-home-hero .si-label {
  color: #dda72e;
}

.si-home-hero h1 {
  margin: 0 0 28px;
  color: #ffffff;
  font-size: clamp(46px, 5vw, 70px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.si-home-hero h1 span {
  color: #dda72e;
}

.si-home-hero__lead {
  max-width: 650px;
  margin-bottom: 28px;
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

/* =========================================================
   4 PILIERS
   ========================================================= */

.si-home-pillars {
  position: relative;
  z-index: 10;
  margin-top: -42px;
}

.si-home-pillars__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(3, 29, 53, 0.14);
}

.si-home-pillar {
  min-height: 130px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 25px;
  border-right: 1px solid #e2e8ed;
}

.si-home-pillar:last-child {
  border-right: 0;
}

.si-home-pillar__icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #062b4c;
  border-radius: 50%;
  color: #dda72e;
  font-size: 21px;
}

.si-home-pillar strong,
.si-home-pillar span {
  display: block;
}

.si-home-pillar strong {
  margin-bottom: 5px;
  color: #062b4c;
  font-size: 15px;
  font-weight: 800;
}

.si-home-pillar span {
  color: #667788;
  font-size: 12px;
  line-height: 1.5;
}

/* =========================================================
   EXPERTISES
   ========================================================= */

.si-home-expertises {
  padding: 120px 0 100px;
  background: #f5f8fa;
}

.si-home-expertise-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.si-home-expertise {
  position: relative;
  min-height: 320px;
  padding: 34px 30px;
  background: #ffffff;
  border: 1px solid #e2e8ed;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(3, 29, 53, 0.05);
  transition: all 0.25s ease;
}

.si-home-expertise:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(3, 29, 53, 0.12);
}

.si-home-expertise__icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 23px;
  background: #062b4c;
  border-radius: 14px;
  color: #dda72e;
  font-size: 23px;
}

.si-home-expertise h3 {
  min-height: 54px;
  margin-bottom: 14px;
  color: #062b4c;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.35;
}

.si-home-expertise__line {
  display: block;
  width: 42px;
  height: 2px;
  margin-bottom: 18px;
  background: #dda72e;
}

.si-home-expertise p {
  margin-bottom: 22px;
  color: #667788;
  font-size: 14px;
  line-height: 1.7;
}

.si-home-expertise > a {
  color: #0875b9;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.si-home-expertise > a:hover {
  color: #dda72e;
}

.si-home-expertise__more {
  margin-top: 45px;
}

/* =========================================================
   POSITIONNEMENT / STATS
   ========================================================= */

.si-home-stats {
  padding: 55px 0;
  background: #062b4c;
}

.si-home-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.si-home-stat {
  display: flex;
  align-items: center;
  gap: 17px;
  min-height: 105px;
  padding: 20px 28px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.si-home-stat:last-child {
  border-right: 0;
}

.si-home-stat__icon {
  color: #dda72e;
  font-size: 28px;
}

.si-home-stat strong,
.si-home-stat span {
  display: block;
}

.si-home-stat strong {
  margin-bottom: 5px;
  color: #ffffff;
  font-size: 17px;
  font-weight: 800;
}

.si-home-stat span {
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  line-height: 1.5;
}

/* =========================================================
   QUI SOMMES-NOUS
   ========================================================= */

.si-home-about {
  background: #ffffff;
}

.si-home-about .si-intro__visual img {
  min-height: 440px;
}

/* =========================================================
   AFRIQUE CENTRALE
   ========================================================= */

.si-home-africa {
  padding: 95px 0;
  background: #f5f8fa;
}

.si-home-africa__box {
  position: relative;
  overflow: hidden;
  padding: 60px;
  background:
    radial-gradient(
      circle at 82% 40%,
      rgba(221, 167, 46, 0.13),
      transparent 30%
    ),
    linear-gradient(
      120deg,
      #031d35 0%,
      #062b4c 65%,
      #074f79 100%
    );
  border-radius: 16px;
}

.si-home-africa__content h2 {
  margin-bottom: 22px;
  color: #ffffff;
  font-size: 39px;
  font-weight: 800;
  line-height: 1.18;
}

.si-home-africa__content p {
  color: rgba(255, 255, 255, 0.72);
}

.si-home-africa__visual {
  padding-left: 35px;
}

.si-home-africa__visual img {
  width: 100%;
  max-height: 500px;
  object-fit: contain;
}

/* =========================================================
   APPROCHE
   ========================================================= */

.si-home-approach {
  padding-top: 105px;
  padding-bottom: 105px;
}

/* =========================================================
   SOLUTIONS
   ========================================================= */

.si-home-solutions {
  padding: 105px 0;
  background: #ffffff;
}

/* =========================================================
   CORRECTIONS FACDORI
   ========================================================= */

/*
   Empêche certaines règles du thème Facdori
   d'écraser les titres et cartes Stratum.
*/

.si-home-page h1,
.si-home-page h2,
.si-home-page h3 {
  text-transform: none !important;
}

.si-home-page .container {
  position: relative;
}

.si-home-page .si-btn {
  line-height: 1.3;
}

.si-home-page .si-card {
  height: 100%;
}

/* =========================================================
   RESPONSIVE TABLETTE
   ========================================================= */

@media (max-width: 991px) {

  .si-home-hero {
    min-height: auto;
  }

  .si-home-hero__background {
    background:
      linear-gradient(
        rgba(3, 29, 53, 0.90),
        rgba(3, 29, 53, 0.90)
      ),
      url("/sites/default/files/home/stratum-impact-home-hero.webp")
        center / cover no-repeat;
  }

  .si-home-pillars {
    margin-top: 0;
  }

  .si-home-pillars__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .si-home-pillar:nth-child(2) {
    border-right: 0;
  }

  .si-home-expertise-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .si-home-stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .si-home-stat:nth-child(2) {
    border-right: 0;
  }

  .si-home-africa__content {
    margin-bottom: 45px;
  }

  .si-home-africa__visual {
    padding-left: 0;
  }

}

/* =========================================================
   RESPONSIVE MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .si-home-hero__content {
    padding: 70px 0;
  }

  .si-home-hero h1 {
    font-size: 42px;
  }

  .si-home-hero__lead {
    font-size: 16px !important;
  }

  .si-home-pillars__grid,
  .si-home-expertise-grid,
  .si-home-stats__grid {
    grid-template-columns: 1fr;
  }

  .si-home-pillar,
  .si-home-stat {
    border-right: 0;
    border-bottom: 1px solid #e2e8ed;
  }

  .si-home-stat {
    border-bottom-color: rgba(255, 255, 255, 0.12);
  }

  .si-home-pillar:last-child,
  .si-home-stat:last-child {
    border-bottom: 0;
  }

  .si-home-expertises {
    padding: 80px 0 70px;
  }

  .si-home-africa {
    padding: 70px 0;
  }

  .si-home-africa__box {
    padding: 35px 24px;
  }

  .si-home-africa__content h2 {
    font-size: 31px;
  }

}

.si-home-page .fa {
    font-family: "FontAwesome" !important;
    font-style: normal;
    font-weight: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

.si-home-pillar__icon .fa,
.si-home-expertise__icon .fa,
.si-home-stat__icon .fa,
.si-process__icon .fa,
.si-card__icon .fa {
    margin: 0;
    min-width: 0;
    font-size: inherit;
    color: inherit;
}

/* =========================================================
   STRATUM IMPACT — CORRECTIFS FINAUX
   Menu Facdori + icônes accueil + garde-fous images
   ========================================================= */

/* ---------- GARDE-FOUS IMAGES ---------- */
.si-page img,
.si-product-page img,
.si-expertise-page img,
.si-about-page img,
.si-home-page img {
  visibility: visible;
  opacity: 1;
}

/* Ne jamais masquer une image simplement parce qu'un sélecteur avancé
   ne reconnaît pas son attribut src. */

/* ---------- MENU PRINCIPAL FACDORI ---------- */
@media (min-width: 992px) {
  header .main-menu .navigation .gva_menu > li > a,
  header.header-default .main-menu .navigation .gva_menu > li > a,
  header.header-1 .main-menu .navigation .gva_menu > li > a,
  header.header-2 .main-menu .navigation .gva_menu > li > a {
    color: #002c42 !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 13px;
    font-weight: 600;
    padding-left: 16px;
    padding-right: 16px;
    text-transform: uppercase;
  }

  header .main-menu .navigation .gva_menu > li:hover > a,
  header .main-menu .navigation .gva_menu > li > a:hover,
  header .main-menu .navigation .gva_menu > li > a:focus,
  header .main-menu .navigation .gva_menu > li.menu-item--active-trail > a,
  header .main-menu .navigation .gva_menu > li > a.is-active {
    color: #ffaa01 !important;
  }

  /* Sous-menu classique */
  header .navigation .gva_menu .sub-menu {
    min-width: 280px;
    background: #062b4c !important;
    border-top: 3px solid #ffaa01;
    padding: 12px 0;
    box-shadow: 0 14px 32px rgba(3, 29, 53, 0.20);
  }

  header .navigation .gva_menu .sub-menu > li > a {
    display: block;
    padding: 11px 18px !important;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
    text-transform: none !important;
    white-space: normal;
  }

  header .navigation .gva_menu .sub-menu > li > a:hover,
  header .navigation .gva_menu .sub-menu > li > a:focus {
    background: rgba(255, 255, 255, 0.06);
    color: #ffaa01 !important;
  }

  /* Mega-menu : laisse Facdori gérer l'ouverture, améliore seulement la lisibilité */
  header .navigation .gva_menu > li.megamenu > .sub-menu,
  header .navigation .gva_menu > li.gva-mega-menu > .sub-menu {
    padding: 22px;
  }

  header .navigation .gva_menu > li.megamenu > .sub-menu > li > a,
  header .navigation .gva_menu > li.gva-mega-menu > .sub-menu > li > a {
    color: #ffffff !important;
    font-weight: 700;
  }

  header .navigation .gva_menu > li.megamenu.menu-columns-2 > ul.sub-menu > li {
    width: 50%;
  }

  header .navigation .gva_menu > li.megamenu.menu-columns-3 > ul.sub-menu > li {
    width: 33.3333%;
  }

  header .navigation .gva_menu > li.megamenu.menu-columns-4 > ul.sub-menu > li {
    width: 25%;
  }
}

/* ---------- ICONES ACCUEIL — FONT AWESOME 4 ---------- */
/* Les icônes sont injectées par CSS pour éviter que CKEditor/Drupal
   supprime les balises <i> au moment de l'enregistrement. */

.si-home-pillar__icon::before,
.si-home-expertise__icon::before,
.si-home-stat__icon::before,
.si-home-page .si-process__icon::before,
.si-home-page .si-card__icon::before {
  display: inline-block;
  font-family: "FontAwesome" !important;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 4 engagements */
.si-home-pillar:nth-child(1) .si-home-pillar__icon::before {
  content: "\f080"; /* bar-chart-o */
}
.si-home-pillar:nth-child(2) .si-home-pillar__icon::before {
  content: "\f0c0"; /* users */
}
.si-home-pillar:nth-child(3) .si-home-pillar__icon::before {
  content: "\f0eb"; /* lightbulb-o */
}
.si-home-pillar:nth-child(4) .si-home-pillar__icon::before {
  content: "\f058"; /* check-circle */
}

/* Expertises accueil */
.si-home-expertise:nth-child(1) .si-home-expertise__icon::before {
  content: "\f19c"; /* university */
}
.si-home-expertise:nth-child(2) .si-home-expertise__icon::before {
  content: "\f109"; /* laptop */
}
.si-home-expertise:nth-child(3) .si-home-expertise__icon::before {
  content: "\f1c0"; /* database */
}
.si-home-expertise:nth-child(4) .si-home-expertise__icon::before {
  content: "\f0d6"; /* money */
}
.si-home-expertise:nth-child(5) .si-home-expertise__icon::before {
  content: "\f21e"; /* heartbeat */
}
.si-home-expertise:nth-child(6) .si-home-expertise__icon::before {
  content: "\f0ae"; /* tasks */
}

/* Indicateurs */
.si-home-stat:nth-child(1) .si-home-stat__icon::before {
  content: "\f0ac"; /* globe */
}
.si-home-stat:nth-child(2) .si-home-stat__icon::before {
  content: "\f0c0"; /* users */
}
.si-home-stat:nth-child(3) .si-home-stat__icon::before {
  content: "\f085"; /* cogs */
}
.si-home-stat:nth-child(4) .si-home-stat__icon::before {
  content: "\f080"; /* bar-chart-o */
}

/* Notre approche */
.si-home-page .si-process__item:nth-child(1) .si-process__icon::before {
  content: "\f002"; /* search */
}
.si-home-page .si-process__item:nth-child(2) .si-process__icon::before {
  content: "\f05b"; /* crosshairs */
}
.si-home-page .si-process__item:nth-child(3) .si-process__icon::before {
  content: "\f044"; /* pencil-square-o */
}
.si-home-page .si-process__item:nth-child(4) .si-process__icon::before {
  content: "\f085"; /* cogs */
}
.si-home-page .si-process__item:nth-child(5) .si-process__icon::before {
  content: "\f080"; /* bar-chart-o */
}

/* Solutions accueil */
.si-home-page .si-card-grid .si-card:nth-child(1) .si-card__icon::before {
  content: "\f07c"; /* folder-open */
}
.si-home-page .si-card-grid .si-card:nth-child(2) .si-card__icon::before {
  content: "\f19c"; /* university */
}
.si-home-page .si-card-grid .si-card:nth-child(3) .si-card__icon::before {
  content: "\f15c"; /* file-text */
}

/* ---------- AJUSTEMENTS ACCUEIL ---------- */
.si-home-pillar:last-child,
.si-home-stat:last-child {
  border-right: 0;
}

.si-home-expertise:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(3, 29, 53, 0.12);
}

.si-home-expertise p a {
  color: #0875b9;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.si-home-expertise p a:hover {
  color: #dda72e;
}

/* Le background Hero doit utiliser le vrai chemin Drupal du fichier.
   Cette règle conserve le chemin existant et évite de le redéclarer
   dans les media queries. */
.si-home-hero__background {
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (max-width: 991px) {
  .si-home-hero__background {
    background-position: center;
  }

  .si-home-pillar:nth-child(2),
  .si-home-stat:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 767px) {
  .si-home-pillar:last-child,
  .si-home-stat:last-child {
    border-bottom: 0;
  }
}

/* =========================================================
   STRATUM IMPACT — ICONES ACCUEIL
   Version PNG stable - sans dépendance Font Awesome
   ========================================================= */

/* 1. Neutraliser les anciennes icônes FontAwesome */
.si-home-page .si-home-pillar__icon::before,
.si-home-page .si-home-expertise__icon::before,
.si-home-page .si-home-stat__icon::before,
.si-home-page .si-process__icon::before,
.si-home-page .si-card__icon::before {
    content: none !important;
    display: none !important;
}


/* 2. Base commune */
.si-home-page .si-home-pillar__icon,
.si-home-page .si-home-expertise__icon,
.si-home-page .si-home-stat__icon,
.si-home-page .si-process__icon,
.si-home-page .si-card__icon {
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px 24px !important;
}


/* =========================================================
   4 ENGAGEMENTS
   ========================================================= */

.si-home-page .si-icon-impact {
    background-image: url("/sites/default/files/gbb-uploads/icons/163-graphic.png") !important;
}

.si-home-page .si-icon-collaboration {
    background-image: url("/sites/default/files/gbb-uploads/icons/211-team-2.png") !important;
}

.si-home-page .si-icon-innovation {
    background-image: url("/sites/default/files/gbb-uploads/icons/043-computer-14.png") !important;
}

.si-home-page .si-icon-excellence {
    background-image: url("/sites/default/files/gbb-uploads/icons/248-contract.png") !important;
}


/* =========================================================
   EXPERTISES
   ========================================================= */

.si-home-page .si-icon-governance {
    background-image: url("/sites/default/files/gbb-uploads/icons/248-contract.png") !important;
}

.si-home-page .si-icon-digital {
    background-image: url("/sites/default/files/gbb-uploads/icons/043-computer-14.png") !important;
}

.si-home-page .si-icon-data {
    background-image: url("/sites/default/files/gbb-uploads/icons/163-graphic.png") !important;
}

.si-home-page .si-icon-finance {
    background-image: url("/sites/default/files/gbb-uploads/icons/142-money-6.png") !important;
}

.si-home-page .si-icon-health {
    background-image: url("/sites/default/files/gbb-uploads/icons/131-people-4.png") !important;
}

.si-home-page .si-icon-pmo {
    background-image: url("/sites/default/files/gbb-uploads/icons/244-tasks.png") !important;
}


/* =========================================================
   BANDEAU AFRIQUE / PARTENARIATS / ETC.
   ========================================================= */

.si-home-page .si-icon-africa {
    background-image: url("/sites/default/files/gbb-uploads/icons/047-travel-1.png") !important;
}

.si-home-page .si-icon-partnership {
    background-image: url("/sites/default/files/gbb-uploads/icons/211-team-2.png") !important;
}

.si-home-page .si-icon-multidisciplinary {
    background-image: url("/sites/default/files/gbb-uploads/icons/244-tasks.png") !important;
}

.si-home-page .si-icon-target {
    background-image: url("/sites/default/files/gbb-uploads/icons/163-graphic.png") !important;
}


/* =========================================================
   NOTRE APPROCHE
   ========================================================= */

.si-home-page .si-process__item:nth-child(1) .si-process__icon {
    background-image: url("/sites/default/files/gbb-uploads/icons/055-note-2.png") !important;
}

.si-home-page .si-process__item:nth-child(2) .si-process__icon {
    background-image: url("/sites/default/files/gbb-uploads/icons/206-key.png") !important;
}

.si-home-page .si-process__item:nth-child(3) .si-process__icon {
    background-image: url("/sites/default/files/gbb-uploads/icons/043-computer-14.png") !important;
}

.si-home-page .si-process__item:nth-child(4) .si-process__icon {
    background-image: url("/sites/default/files/gbb-uploads/icons/244-tasks.png") !important;
}

.si-home-page .si-process__item:nth-child(5) .si-process__icon {
    background-image: url("/sites/default/files/gbb-uploads/icons/163-graphic.png") !important;
}


/* =========================================================
   SOLUTIONS
   ========================================================= */

.si-home-page .si-card-grid .si-card:nth-child(1) .si-card__icon {
    background-image: url("/sites/default/files/gbb-uploads/icons/075-folder-2.png") !important;
}

.si-home-page .si-card-grid .si-card:nth-child(2) .si-card__icon {
    background-image: url("/sites/default/files/gbb-uploads/icons/108-school.png") !important;
}

.si-home-page .si-card-grid .si-card:nth-child(3) .si-card__icon {
    background-image: url("/sites/default/files/gbb-uploads/icons/142-money-6.png") !important;
}


/* =========================================================
   TAILLES
   ========================================================= */

/* Petites icônes du bandeau sous le Hero */
.si-home-page .si-home-pillar__icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    background-size: 21px 21px !important;
}


/* Cartes Expertises */
.si-home-page .si-home-expertise__icon {
    width: 48px;
    height: 48px;
    background-size: 25px 25px !important;
}


/* Bandeau indicateurs */
.si-home-page .si-home-stat__icon {
    width: 40px;
    height: 40px;
    background-size: 21px 21px !important;
}


/* Étapes Notre approche */
.si-home-page .si-process__icon {
    width: 42px;
    height: 42px;
    background-size: 21px 21px !important;
}


/* Solutions */
.si-home-page .si-card__icon {
    background-size: 25px 25px !important;
}

/* =========================================================
   PAGES STRATUM PERSONNALISEES
   ========================================================= */

body.si-clean-page .page-title,
body.si-clean-page .node__title,
body.si-clean-page .node__meta,
body.si-clean-page .submitted,
body.si-clean-page .post-meta,
body.si-clean-page .post-thumbnail,
body.si-clean-page .field--name-field-image {
    display: none !important;
}

.si-home-page .si-section {
    padding: 50px 0 !important;
}

/* =========================================================
   SOLUTIONS — 4 COLONNES
   ========================================================= */

.si-home-page .si-solutions-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.si-home-page .si-solutions-grid .si-card {
    height: 100%;
}


/* Icône Pharmacie */
.si-home-page .si-solution-pharmacy {
    background-image:
        url("/sites/default/files/gbb-uploads/icons/131-people-4.png") !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 25px 25px !important;
}


/* TABLETTE */
@media (max-width: 991px) {

    .si-home-page .si-solutions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MOBILE */
@media (max-width: 575px) {

    .si-home-page .si-solutions-grid {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   STRATUM IMPACT — EXPERT PROFILE
   Drupal Team / Facdori
   ========================================================= */


/* =========================================================
   1. NEUTRALISER LE LAYOUT TEAM FACDORI
   ========================================================= */

/* Masquer les sidebars uniquement sur les fiches Team */
.page-node-type-team .sidebar,
.page-node-type-team .sidebar-left,
.page-node-type-team .sidebar-right,
.page-node-type-team .region-sidebar-first,
.page-node-type-team .region-sidebar-second {
  display: none !important;
}


/* Donner toute la largeur au contenu */
.page-node-type-team .main-page-content .content-main,
.page-node-type-team .main-page-content .main-content,
.page-node-type-team .content-main,
.page-node-type-team main[role="main"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}


/* Retirer les contraintes du template Team historique */
.page-node-type-team .team-single,
.page-node-type-team .team-detail,
.page-node-type-team .node--type-team {
  width: 100% !important;
  max-width: none !important;
}


/* Masquer l'ancien titre / meta du thème */
.page-node-type-team .page-title,
.page-node-type-team .node__title,
.page-node-type-team .post-title,
.page-node-type-team .node__meta,
.page-node-type-team .submitted {
  display: none !important;
}


/* =========================================================
   2. BASE
   ========================================================= */

.si-expert-page,
.si-expert-page * {
  box-sizing: border-box;
}

.si-expert-page {
  width: 100%;
  overflow: hidden;
  background: #f5f8fa;
  color: #263746;
}

.si-expert-page .container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}


/* =========================================================
   3. HERO EXPERT
   ========================================================= */

.si-expert-hero {
  padding: 55px 0 35px;
  background: #f5f8fa;
}

.si-expert-hero__inner {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 36px;
  align-items: center;

  padding: 32px;

  background:
    linear-gradient(
      115deg,
      #031d35 0%,
      #062b4c 65%,
      #07517c 100%
    );

  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(3, 29, 53, 0.12);
}


/* PHOTO */

.si-expert-hero__photo {
  width: 210px;
  height: 210px;
  overflow: hidden;

  background: #e8edf1;
  border-radius: 14px;
}

.si-expert-hero__photo img {
  width: 100% !important;
  height: 100% !important;

  display: block;

  object-fit: cover;
  object-position: center;

  border-radius: 14px;
}


/* CONTENU */

.si-expert-label {
  display: inline-block;

  margin-bottom: 10px;

  color: #dda72e;

  font-size: 11px;
  font-weight: 700;

  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.si-expert-hero h1 {
  margin: 0 0 9px;

  color: #ffffff !important;

  font-size: clamp(31px, 3vw, 44px);
  font-weight: 800;
  line-height: 1.12;

  text-transform: none !important;
}

.si-expert-position {
  margin-bottom: 16px;

  color: #dda72e;

  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.si-expert-summary {
  max-width: 720px;

  color: rgba(255, 255, 255, 0.83);

  font-size: 14px;
  line-height: 1.7;
}

.si-expert-summary p {
  margin: 0;
  color: inherit;
}


/* CONTACT */

.si-expert-contact {
  display: flex;
  flex-wrap: wrap;

  gap: 12px 24px;

  margin-top: 20px;
}

.si-expert-contact__item {
  display: flex;
  align-items: center;

  gap: 8px;

  color: rgba(255, 255, 255, 0.9);

  font-size: 13px;
}

.si-expert-contact__item a {
  color: #ffffff !important;
}

.si-expert-contact__icon {
  width: 30px;
  height: 30px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: rgba(255, 255, 255, 0.08);

  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
}


/* =========================================================
   4. BANDEAU INFORMATIONS RAPIDES
   ========================================================= */

.si-expert-highlights {
  padding: 0 0 45px;
  background: #f5f8fa;
}

.si-expert-highlights__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #e2e8ed;
  border-radius: 12px;

  box-shadow: 0 8px 25px rgba(3, 29, 53, 0.06);
}

.si-expert-highlight {
  min-height: 100px;

  display: flex;
  align-items: center;

  gap: 14px;

  padding: 20px;

  border-right: 1px solid #e2e8ed;
}

.si-expert-highlight:last-child {
  border-right: 0;
}

.si-expert-highlight__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #f1f7fb;

  border-radius: 10px;

  color: #0875b9;

  font-size: 18px;
}

.si-expert-highlight strong,
.si-expert-highlight span {
  display: block;
}

.si-expert-highlight strong {
  margin-bottom: 4px;

  color: #062b4c;

  font-size: 14px;
}

.si-expert-highlight span {
  color: #667788;

  font-size: 12px;
  line-height: 1.4;
}


/* =========================================================
   5. CONTENU
   ========================================================= */

.si-expert-content {
  padding: 15px 0 70px;
  background: #ffffff;
}

.si-expert-content .row {
  display: flex;
  flex-wrap: wrap;
}


/* Bloc principal */

.si-expert-block {
  margin-bottom: 35px;

  padding: 30px;

  background: #ffffff;

  border: 1px solid #e2e8ed;
  border-radius: 12px;

  box-shadow: 0 7px 25px rgba(3, 29, 53, 0.05);
}

.si-section-label {
  display: inline-block;

  margin-bottom: 9px;

  color: #dda72e;

  font-size: 11px;
  font-weight: 700;

  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.si-expert-block h2 {
  margin: 0 0 20px;

  color: #062b4c;

  font-size: 27px;
  font-weight: 800;

  line-height: 1.2;

  text-transform: none !important;
}

.si-expert-body {
  color: #667788;

  font-size: 14px;
  line-height: 1.8;
}

.si-expert-body p {
  margin-bottom: 16px;
}


/* =========================================================
   6. TEAM QUOTE
   ========================================================= */

.si-expert-quote {
  position: relative;

  margin: 0 0 35px;
  padding: 32px 35px 29px 70px;

  background:
    linear-gradient(
      120deg,
      #031d35,
      #062b4c
    );

  border: 0;
  border-left: 5px solid #dda72e;
  border-radius: 12px;

  color: #ffffff;

  box-shadow: 0 12px 30px rgba(3, 29, 53, 0.12);
}

.si-expert-quote__mark {
  position: absolute;

  left: 25px;
  top: 17px;

  color: #dda72e;

  font-size: 62px;
  font-family: Georgia, serif;
  line-height: 1;
}

.si-expert-quote > div {
  color: rgba(255, 255, 255, 0.93);

  font-size: 17px;
  font-style: italic;
  line-height: 1.7;
}

.si-expert-quote p {
  margin: 0;
  color: inherit;
}

.si-expert-quote footer {
  margin-top: 15px;

  color: #dda72e;

  font-size: 12px;
  font-weight: 700;
}


/* =========================================================
   7. SKILLS
   ========================================================= */

.si-expert-skills {
  display: flex;
  flex-wrap: wrap;

  gap: 8px;
}

.si-expert-skills .field__items {
  display: flex;
  flex-wrap: wrap;

  gap: 8px;
}

.si-expert-skills .field__item {
  padding: 7px 12px;

  background: #f1f7fb;

  border: 1px solid #dae6ed;
  border-radius: 18px;

  color: #062b4c;

  font-size: 12px;
  font-weight: 600;
}


/* =========================================================
   8. FORMATION
   ========================================================= */

.si-expert-education .field__item {
  position: relative;

  margin-bottom: 12px;
  padding-left: 20px;

  color: #667788;

  line-height: 1.6;
}

.si-expert-education .field__item::before {
  position: absolute;

  left: 0;
  top: 8px;

  width: 7px;
  height: 7px;

  background: #dda72e;

  border-radius: 50%;

  content: "";
}


/* =========================================================
   9. SIDEBAR EXPERT
   ========================================================= */

.si-expert-sidebar {
  padding-left: 15px;
}

.si-expert-sidebar__card {
  margin-bottom: 24px;

  padding: 26px;

  background: #f5f8fa;

  border: 1px solid #e2e8ed;
  border-radius: 12px;
}

.si-expert-sidebar__card h3 {
  margin: 0 0 18px;

  color: #062b4c;

  font-size: 18px;
  font-weight: 800;

  text-transform: none !important;
}


/* CARD CONTACT */

.si-expert-sidebar__card--contact {
  background:
    linear-gradient(
      130deg,
      #031d35,
      #062b4c
    );

  color: #ffffff;
}

.si-expert-sidebar__card--contact > span {
  display: block;

  margin-bottom: 8px;

  color: #dda72e;

  font-size: 11px;
  font-weight: 700;

  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.si-expert-sidebar__card--contact h3 {
  color: #ffffff;
}

.si-expert-sidebar__card--contact p {
  color: rgba(255, 255, 255, 0.75);

  font-size: 13px;
  line-height: 1.65;
}


/* =========================================================
   10. AUTRES EXPERTS
   ========================================================= */

.si-expert-related {
  padding: 65px 0;

  background: #f5f8fa;
}

.si-expert-related .si-section-heading {
  max-width: 700px;

  margin: 0 auto 35px;
}

.si-expert-related h2 {
  color: #062b4c;

  font-size: 32px;
  font-weight: 800;

  text-transform: none !important;
}

.si-expert-related h2 em {
  color: #dda72e;
  font-style: normal;
}


/* =========================================================
   11. RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {

  .si-expert-hero__inner {
    grid-template-columns: 180px 1fr;
  }

  .si-expert-hero__photo {
    width: 180px;
    height: 180px;
  }

  .si-expert-highlights__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .si-expert-highlight:nth-child(2) {
    border-right: 0;
  }

  .si-expert-highlight:nth-child(-n+2) {
    border-bottom: 1px solid #e2e8ed;
  }

  .si-expert-sidebar {
    margin-top: 30px;
    padding-left: 0;
  }

}


@media (max-width: 767px) {

  .si-expert-hero {
    padding-top: 30px;
  }

  .si-expert-hero__inner {
    display: block;

    padding: 25px;
  }

  .si-expert-hero__photo {
    width: 150px;
    height: 150px;

    margin-bottom: 25px;
  }

  .si-expert-hero h1 {
    font-size: 31px;
  }

  .si-expert-highlights__grid {
    grid-template-columns: 1fr;
  }

  .si-expert-highlight {
    border-right: 0;
    border-bottom: 1px solid #e2e8ed;
  }

  .si-expert-highlight:last-child {
    border-bottom: 0;
  }

  .si-expert-block {
    padding: 23px;
  }

  .si-expert-quote {
    padding: 55px 23px 25px;
  }

  .si-expert-quote__mark {
    left: 22px;
    top: 7px;
  }

}

/* =========================================================
   TEAM / EXPERT — SUPPRIMER SIDEBAR DROITE
   ========================================================= */

/* Masquer la sidebar droite */
.page-node-type-team .sidebar-right,
.page-node-type-team .region-sidebar-second,
.page-node-type-team aside.sidebar-right,
.page-node-type-team #sidebar-right {
    display: none !important;
}

/* Le contenu principal reprend toute la largeur */
.page-node-type-team .main-page-content .content-main,
.page-node-type-team .main-page-content .main-content,
.page-node-type-team .content-main {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* Si Facdori utilise les colonnes Bootstrap */
.page-node-type-team .main-page-content .col-lg-8,
.page-node-type-team .main-page-content .col-md-8,
.page-node-type-team .main-page-content .col-lg-9,
.page-node-type-team .main-page-content .col-md-9 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* =========================================================
   FICHE EXPERT — NOUVELLE STRUCTURE
   ========================================================= */

.si-expert-page {
    padding: 55px 0 75px;
    background: #f5f8fa;
}

.si-expert-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}


/* =========================================================
   COLONNE GAUCHE
   ========================================================= */

.si-expert-left {
    position: sticky;
    top: 100px;
}

.si-expert-categories {
    margin-bottom: 22px;
    padding: 24px;

    background: #ffffff;

    border: 1px solid #e2e8ed;
    border-radius: 10px;

    box-shadow: 0 7px 22px rgba(3,29,53,.05);
}

.si-expert-categories h3 {
    margin: 4px 0 18px;

    color: #062b4c;

    font-size: 18px;
    font-weight: 800;
}


/* =========================================================
   LISTE CATEGORIES + COMPTEUR
   ========================================================= */

.si-expert-category-list {
    margin: 0;
    padding: 0;

    list-style: none;
}

.si-expert-category-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding: 10px 0;

    border-bottom: 1px solid #edf1f4;
}

.si-expert-category-list li:last-child {
    border-bottom: 0;
}

.si-expert-category-list a {
    color: #44596a;

    font-size: 13px;
    font-weight: 600;

    text-decoration: none;
}

.si-expert-category-list a:hover {
    color: #0875b9;
}

.si-expert-category-count {
    min-width: 27px;
    height: 27px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 7px;

    background: #f1f7fb;

    border-radius: 20px;

    color: #0875b9;

    font-size: 11px;
    font-weight: 700;
}


/* =========================================================
   COLONNE PRINCIPALE
   ========================================================= */

.si-expert-main {
    min-width: 0;
}


/* Le hero n'a plus besoin de son padding extérieur */
.si-expert-main .si-expert-hero {
    padding: 0 0 25px;
}


/* =========================================================
   DOMAINES EXPERT
   ========================================================= */

.si-expert-domain-tags .field__items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.si-expert-domain-tags .field__item {
    padding: 7px 12px;

    background: #eef6fa;

    border: 1px solid #d9e6ed;
    border-radius: 18px;

    color: #062b4c;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {

    .si-expert-layout {
        grid-template-columns: 1fr;
    }

    .si-expert-left {
        position: static;
    }

}


@media (max-width: 767px) {

    .si-expert-page {
        padding: 30px 0 50px;
    }

}

/* =========================================================
   STRATUM TEAM — FORCER LE NODE EN PLEINE LARGEUR
   ========================================================= */

body.page-node-type-team .main-page-content > .container,
body.page-node-type-team .main-page-content .container {
    max-width: 1180px !important;
    width: 100% !important;
}


/* Le row Facdori contenant contenu + sidebar */
body.page-node-type-team .main-page-content .row {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Toutes les variantes possibles de colonne principale */
body.page-node-type-team .main-page-content .col-lg-8,
body.page-node-type-team .main-page-content .col-md-8,
body.page-node-type-team .main-page-content .col-sm-8,
body.page-node-type-team .main-page-content .col-lg-9,
body.page-node-type-team .main-page-content .col-md-9,
body.page-node-type-team .main-page-content .col-sm-9,
body.page-node-type-team .content-main,
body.page-node-type-team .main-content,
body.page-node-type-team .content-content {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* =========================================================
   SUPPRIMER COMPLETEMENT LE SIDEBAR FACDORI
   ========================================================= */

body.page-node-type-team .sidebar,
body.page-node-type-team .sidebar-right,
body.page-node-type-team .sidebar-left,
body.page-node-type-team .region-sidebar-first,
body.page-node-type-team .region-sidebar-second,
body.page-node-type-team aside.sidebar,
body.page-node-type-team .col-lg-4.sidebar,
body.page-node-type-team .col-md-4.sidebar,
body.page-node-type-team .col-sm-4.sidebar,
body.page-node-type-team .col-lg-3.sidebar,
body.page-node-type-team .col-md-3.sidebar {
    display: none !important;
}


/* =========================================================
   SUPPRIMER LA BANNIERE / BREADCRUMB
   ========================================================= */

body.page-node-type-team .breadcrumbs,
body.page-node-type-team .breadcrumb,
body.page-node-type-team .breadcrumb-content-inner,
body.page-node-type-team .breadcrumb-content-main,
body.page-node-type-team .gva-breadcrumb-content,
body.page-node-type-team .gva-breadcrumb-content-inner,
body.page-node-type-team .page-title {
    display: none !important;
}


/* =========================================================
   NOTRE LAYOUT EXPERT
   ========================================================= */

body.page-node-type-team .si-expert-page {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 55px 0 70px;

    background: #f5f8fa;
}


body.page-node-type-team .si-expert-page > .container {
    width: 100% !important;
    max-width: 1180px !important;

    margin: 0 auto !important;
    padding-left: 15px;
    padding-right: 15px;
}


body.page-node-type-team .si-expert-layout {
    display: grid !important;

    grid-template-columns:
        250px
        minmax(0, 1fr) !important;

    gap: 30px;

    width: 100%;
    align-items: start;
}


/* =========================================================
   HERO : HORIZONTAL
   ========================================================= */

body.page-node-type-team .si-expert-hero {
    width: 100%;
    padding: 0 0 25px !important;
}


body.page-node-type-team .si-expert-hero__inner {
    width: 100%;

    display: grid !important;
    grid-template-columns: 210px minmax(0, 1fr) !important;

    gap: 32px;
    align-items: center;

    padding: 32px;

    background:
        linear-gradient(
            115deg,
            #031d35 0%,
            #062b4c 62%,
            #07517c 100%
        );

    border-radius: 14px;
}


body.page-node-type-team .si-expert-hero__photo {
    width: 190px !important;
    height: 190px !important;

    overflow: hidden;

    background: #e7ecef;
    border-radius: 12px;
}


body.page-node-type-team .si-expert-hero__photo img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
}


/* Le texte ne doit plus devenir une colonne très étroite */
body.page-node-type-team .si-expert-hero__content {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
}


body.page-node-type-team .si-expert-hero h1 {
    margin: 0 0 8px;

    color: #fff !important;

    font-size: 34px !important;
    line-height: 1.15 !important;

    word-break: normal !important;
}


/* =========================================================
   CONTENU EXPERT
   ========================================================= */

body.page-node-type-team .si-expert-main {
    width: 100%;
    min-width: 0;
}


body.page-node-type-team .si-expert-block {
    width: 100%;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991px) {

    body.page-node-type-team .si-expert-layout {
        grid-template-columns: 1fr !important;
    }

    body.page-node-type-team .si-expert-left {
        position: static;
    }

}


@media (max-width: 767px) {

    body.page-node-type-team .si-expert-hero__inner {
        grid-template-columns: 1fr !important;
    }

    body.page-node-type-team .si-expert-hero__photo {
        width: 150px !important;
        height: 150px !important;
    }

}

.si-expert-current-categories .field__label {
    display: none;
}

.si-expert-current-categories .field__items {
    margin: 0;
    padding: 0;
}

.si-expert-current-categories .field__item {
    padding: 10px 0;
    border-bottom: 1px solid #edf1f4;
}

.si-expert-current-categories .field__item:last-child {
    border-bottom: 0;
}

.si-expert-current-categories a {
    color: #44596a;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.si-expert-current-categories a:hover {
    color: #0875b9;
}
