.certification-badges {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.85rem;
  align-items: center;
  margin-top: 0.55rem;
}

.certification-badge {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.certification-badge img {
  width: auto;
  max-width: 100%;
  height: 96px;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(33, 42, 89, 0.08));
}

.founder-objective em {
  font-style: italic;
  font-weight: 400;
}

.founder-signature {
  display: grid;
  justify-items: end;
  gap: 0.1rem;
  margin-top: 0.75rem;
  text-align: right;
}

.founder-signature__name {
  color: var(--color-primary);
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.2;
}

.founder-signature__role {
  color: var(--color-accent);
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.4;
}

/* Sigles discrets et exclusifs à la section Sécurité et contrôle humain. */
.home-safety .safety-grid .card h3 {
  display: flex;
  align-items: center;
  gap: 0.62rem;
}

.home-safety .safety-grid .card h3::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  background: var(--gradient-ia);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Main + validation : l'humain conserve le dernier mot. */
.home-safety .safety-grid .card:nth-child(1) h3::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 11V6.5a1.5 1.5 0 0 1 3 0V10M10.5 9V5.5a1.5 1.5 0 0 1 3 0V10M13.5 9V6.5a1.5 1.5 0 0 1 3 0V11M16.5 10V8.5a1.5 1.5 0 0 1 3 0V14c0 4-2.5 7-6.5 7h-1.5c-2.7 0-4.3-1.2-5.5-3.4L4.3 14.5A1.6 1.6 0 0 1 7.1 13L8 14'/%3E%3Cpath d='m11.8 15 1.5 1.5 3.2-3.2'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 11V6.5a1.5 1.5 0 0 1 3 0V10M10.5 9V5.5a1.5 1.5 0 0 1 3 0V10M13.5 9V6.5a1.5 1.5 0 0 1 3 0V11M16.5 10V8.5a1.5 1.5 0 0 1 3 0V14c0 4-2.5 7-6.5 7h-1.5c-2.7 0-4.3-1.2-5.5-3.4L4.3 14.5A1.6 1.6 0 0 1 7.1 13L8 14'/%3E%3Cpath d='m11.8 15 1.5 1.5 3.2-3.2'/%3E%3C/g%3E%3C/svg%3E");
}

/* Bouclier + validation : tests et protection des données. */
.home-safety .safety-grid .card:nth-child(2) h3::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 19 6v5c0 4.6-2.7 8-7 10-4.3-2-7-5.4-7-10V6l7-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 19 6v5c0 4.6-2.7 8-7 10-4.3-2-7-5.4-7-10V6l7-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/g%3E%3C/svg%3E");
}

/* Boucle de continuité : suivi et évolution dans le temps. */
.home-safety .safety-grid .card:nth-child(3) h3::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 7h-4V3'/%3E%3Cpath d='M20 7a8 8 0 0 0-13.7-2.7L5 5.6'/%3E%3Cpath d='M4 17h4v4'/%3E%3Cpath d='M4 17a8 8 0 0 0 13.7 2.7l1.3-1.3'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 7h-4V3'/%3E%3Cpath d='M20 7a8 8 0 0 0-13.7-2.7L5 5.6'/%3E%3Cpath d='M4 17h4v4'/%3E%3Cpath d='M4 17a8 8 0 0 0 13.7 2.7l1.3-1.3'/%3E%3C/g%3E%3C/svg%3E");
}

/* Continuité visuelle du cube de la page d'accueil sur tablette. */
@media (min-width: 721px) and (max-width: 899px) {
  .home-hero .hero-tech-backdrop {
    display: block;
    opacity: 0.48;
  }

  .home-hero .hero-cube-stage {
    --cube-size: clamp(176px, 23vw, 196px);
    --cube-zone: clamp(290px, 39vw, 330px);
    top: 52%;
    right: clamp(-92px, -8vw, -62px);
    bottom: auto;
    display: grid;
    opacity: 0.5;
    filter: saturate(1.2) contrast(1.12) brightness(1.04);
    transform: translateY(-50%);
  }

  .home-hero .hero-cube-stage::before {
    opacity: 0.55;
  }

  .home-hero .hero-cube-effects {
    opacity: 0.6;
  }
}

@media (min-width: 721px) and (max-width: 899px) and (prefers-color-scheme: dark) {
  .home-hero .hero-cube-stage {
    opacity: 0.58;
    filter: saturate(1.3) contrast(1.2) brightness(1.1);
  }

  .home-hero .hero-cube-stage::before {
    opacity: 0.66;
  }

  .home-hero .hero-cube-effects {
    opacity: 0.7;
  }
}

@media (min-width: 721px) and (max-width: 899px) {
  html.theme-dark .home-hero .hero-cube-stage {
    opacity: 0.58;
    filter: saturate(1.3) contrast(1.2) brightness(1.1);
  }

  html.theme-dark .home-hero .hero-cube-stage::before {
    opacity: 0.66;
  }

  html.theme-dark .home-hero .hero-cube-effects {
    opacity: 0.7;
  }
}

@media (min-width: 900px) and (max-width: 1179px) {
  .home-hero .hero-tech-backdrop {
    display: block;
    opacity: 0.62;
  }

  .home-hero .hero-cube-stage {
    --cube-size: clamp(198px, 21vw, 222px);
    --cube-zone: clamp(330px, 36vw, 390px);
    top: 50%;
    right: clamp(-72px, -5vw, -38px);
    bottom: auto;
    display: grid;
    opacity: 0.58;
    filter: saturate(1.1) contrast(1.05);
    transform: translateY(-50%);
  }
}

@media (max-width: 720px) {
  .founder-signature {
    justify-items: start;
    text-align: left;
  }

  .certification-badges {
    flex-wrap: nowrap;
    gap: 0.7rem;
    margin-top: 0.7rem;
  }

  .certification-badge {
    flex: 0 1 auto;
  }

  .certification-badge img {
    height: 80px;
  }

  .home-safety .safety-grid .card h3::before {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }

  /* Le cube mobile reste en arrière-plan, mais légèrement plus net. */
  .home-hero .hero-cube-stage {
    bottom: 24%;
    opacity: 0.38;
    filter: saturate(1.12) contrast(1.06);
  }

  .home-hero .hero-cube-stage::before {
    opacity: 0.42;
  }

  .home-hero .hero-cube-effects {
    opacity: 0.56;
  }
}

/* Mobile en mode nuit : le cube remonte derrière le texte et gagne en netteté,
   sans modifier l'espace occupé par le bandeau ni la version tablette/desktop. */
@media (max-width: 720px) and (prefers-color-scheme: dark) {
  .home-hero .hero-cube-stage {
    bottom: 24%;
    opacity: 0.56;
    filter: saturate(1.3) contrast(1.2) brightness(1.12);
  }

  .home-hero .hero-cube-stage::before {
    opacity: 0.62;
  }

  .home-hero .hero-cube-stage::after,
  .home-hero .hero-cube-effects {
    opacity: 0.68;
  }
}

@media (max-width: 720px) {
  html.theme-dark .home-hero .hero-cube-stage {
    bottom: 24%;
    opacity: 0.56;
    filter: saturate(1.3) contrast(1.2) brightness(1.12);
  }

  html.theme-dark .home-hero .hero-cube-stage::before {
    opacity: 0.62;
  }

  html.theme-dark .home-hero .hero-cube-stage::after,
  html.theme-dark .home-hero .hero-cube-effects {
    opacity: 0.68;
  }
}

/* Accueil uniquement : ralentit la vague bleue qui traverse le numéro de téléphone. */
.site-header .header-phone-direct {
  animation-duration: 7s !important;
}

/* Accueil uniquement : le passage bleu reste visible mais beaucoup plus discret. */
.site-header .header-phone-direct {
  background-image: linear-gradient(
    105deg,
    var(--header-phone-base) 0%,
    var(--header-phone-base) 38%,
    rgba(67, 91, 216, 0.34) 45%,
    rgba(0, 176, 255, 0.42) 50%,
    rgba(67, 91, 216, 0.34) 55%,
    var(--header-phone-base) 62%,
    var(--header-phone-base) 100%
  ) !important;
}

/* Accueil sombre : halo violet légèrement rehaussé, tout en restant discret. */
html.theme-dark #contenu > .home-hero ~ .home-problems::before,
html.theme-dark #contenu > .home-hero ~ .home-offers::before,
html.theme-dark #contenu > .home-hero ~ .home-engagements::before,
html.theme-dark #contenu > .home-hero ~ .home-method::before,
html.theme-dark #contenu > .home-hero ~ .home-safety::before,
html.theme-dark #contenu > .home-hero ~ .behind-section::before,
html.theme-dark #contenu > .home-hero ~ .faq-section::before,
html.theme-dark #contenu > .home-hero ~ .location-section::before {
  background:
    radial-gradient(circle at 84% 24%, rgba(94, 23, 235, 0.14), transparent 42%),
    radial-gradient(circle at 16% 78%, rgba(139, 92, 246, 0.08), transparent 46%) !important;
}

/* Accueil : hiérarchie visuelle renforcée des titres et pictogrammes de cartes. */
.home-problems .problem-card h3,
.home-offers .offer-card h3,
.home-engagements .engagement-card h3,
.home-method .process-step h3,
.home-safety .safety-grid .card h3 {
  font-size: 1.08rem;
}

.home-offers .card-title-pictogram,
.home-engagements .card-title-pictogram {
  width: 25px;
  height: 25px;
}

.home-method .step-label {
  font-size: 0.84rem;
}

.home-safety .safety-grid .card h3::before {
  width: 26px;
  height: 26px;
  flex-basis: 26px;
}

@media (max-width: 720px) {
  .home-problems .problem-card h3,
  .home-offers .offer-card h3,
  .home-engagements .engagement-card h3,
  .home-method .process-step h3,
  .home-safety .safety-grid .card h3 {
    font-size: 1.05rem;
  }

  .home-offers .card-title-pictogram,
  .home-engagements .card-title-pictogram {
    width: 24px;
    height: 24px;
  }

  .home-method .step-label {
    font-size: 0.82rem;
  }

  .home-safety .safety-grid .card h3::before {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }
}

/* Accueil en mode jour uniquement : titres de cartes légèrement dégraissés. */
@media (prefers-color-scheme: light) {
  .home-problems .problem-card h3,
  .home-offers .offer-card h3,
  .sector-card h3,
  .home-engagements .engagement-card h3,
  .home-method .process-step h3,
  .home-safety .safety-grid .card h3 {
    font-weight: 500;
  }
}

/* Accueil en mode jour uniquement : halos violets légèrement atténués sur tous les supports. */
@media (prefers-color-scheme: light) {
  #contenu:has(> .home-hero) {
    --halo-violet-primary: rgba(94, 23, 235, 0.095);
    --halo-violet-secondary: rgba(139, 92, 246, 0.055);
  }
}

/* Accueil mobile en mode jour : halo violet légèrement atténué, FAQ sans halo. */
@media (max-width: 720px) and (prefers-color-scheme: light) {
  #contenu:has(> .home-hero) {
    --halo-violet-primary: rgba(94, 23, 235, 0.026);
    --halo-violet-secondary: rgba(139, 92, 246, 0.013);
  }

  #contenu > .home-hero ~ .faq-section::before {
    background: none !important;
  }
}

/* Accueil jour tablette + ordinateur : cartes légèrement plus présentes et plus dimensionnées visuellement. */
@media (min-width: 721px) and (prefers-color-scheme: light) {
  .home-problems .problem-card,
  .home-offers .offer-card,
  .home-engagements .engagement-card,
  .home-safety .safety-grid .card {
    border-color: rgba(94, 23, 235, 0.18);
    box-shadow: 0 18px 42px rgba(30, 42, 80, 0.1);
  }

  .home-method .process-strip {
    border-color: rgba(94, 23, 235, 0.2);
    background: rgba(94, 23, 235, 0.2);
    box-shadow: 0 18px 42px rgba(30, 42, 80, 0.08);
  }
}

/* Accueil : titres des cartes secteurs légèrement agrandis sur tous les supports et dans les deux modes. */
.sector-card h3 {
  font-size: 1.1rem;
}

/* Accueil en mode jour : halo du bandeau Sécurité et contrôle humain déplacé vers le bas à droite. */
@media (prefers-color-scheme: light) {
  #contenu > .home-hero ~ .home-safety::before {
    background:
      radial-gradient(circle at 88% 82%, var(--halo-violet-primary), transparent 40%),
      radial-gradient(circle at 72% 100%, var(--halo-violet-secondary), transparent 44%) !important;
  }
}

/* Accueil nuit : questions FAQ en violet lavande clair et légèrement agrandies sur tous les supports. */
html.theme-dark #contenu > .home-hero ~ .faq-section .faq-accordion-item summary h3,
html[data-theme="dark"] #contenu > .home-hero ~ .faq-section .faq-accordion-item summary h3 {
  color: #b69cff !important;
  font-size: 1.06rem;
}

@media (prefers-color-scheme: dark) {
  html:not(.theme-dark):not([data-theme="light"]) #contenu > .home-hero ~ .faq-section .faq-accordion-item summary h3 {
    color: #b69cff !important;
    font-size: 1.06rem;
  }
}

/* Accueil — Formats de mission — mode nuit : titres de cartes légèrement agrandis. */
html.theme-dark .home-engagements .engagement-card h3,
html[data-theme="dark"] .home-engagements .engagement-card h3 {
  font-size: 1.14rem;
}

@media (prefers-color-scheme: dark) {
  html:not(.theme-dark):not([data-theme="light"]) .home-engagements .engagement-card h3 {
    font-size: 1.14rem;
  }
}

@media (max-width: 720px) {
  html.theme-dark .home-engagements .engagement-card h3,
  html[data-theme="dark"] .home-engagements .engagement-card h3 {
    font-size: 1.1rem;
  }
}

@media (max-width: 720px) and (prefers-color-scheme: dark) {
  html:not(.theme-dark):not([data-theme="light"]) .home-engagements .engagement-card h3 {
    font-size: 1.1rem;
  }
}

/* Accueil — Méthode et Sécurité — mode nuit : titres légèrement agrandis sans changer graisse ni couleur. */
html.theme-dark .home-method .process-step h3,
html.theme-dark .home-safety .safety-grid .card h3,
html[data-theme="dark"] .home-method .process-step h3,
html[data-theme="dark"] .home-safety .safety-grid .card h3 {
  font-size: 1.14rem;
}

html.theme-dark .home-method .step-label,
html[data-theme="dark"] .home-method .step-label {
  font-size: 0.88rem;
}

@media (prefers-color-scheme: dark) {
  html:not(.theme-dark):not([data-theme="light"]) .home-method .process-step h3,
  html:not(.theme-dark):not([data-theme="light"]) .home-safety .safety-grid .card h3 {
    font-size: 1.14rem;
  }

  html:not(.theme-dark):not([data-theme="light"]) .home-method .step-label {
    font-size: 0.88rem;
  }
}

@media (max-width: 720px) {
  html.theme-dark .home-method .process-step h3,
  html.theme-dark .home-safety .safety-grid .card h3,
  html[data-theme="dark"] .home-method .process-step h3,
  html[data-theme="dark"] .home-safety .safety-grid .card h3 {
    font-size: 1.1rem;
  }

  html.theme-dark .home-method .step-label,
  html[data-theme="dark"] .home-method .step-label {
    font-size: 0.86rem;
  }
}

@media (max-width: 720px) and (prefers-color-scheme: dark) {
  html:not(.theme-dark):not([data-theme="light"]) .home-method .process-step h3,
  html:not(.theme-dark):not([data-theme="light"]) .home-safety .safety-grid .card h3 {
    font-size: 1.1rem;
  }

  html:not(.theme-dark):not([data-theme="light"]) .home-method .step-label {
    font-size: 0.86rem;
  }
}