.formation-manifesto__quote::after {
  right: 5.2rem;
  bottom: 1.5rem;
}

.formation-manifesto__visual img {
  height: 500px;
  object-position: center 62%;
}

.formation-journey__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4.5rem 0;
  overflow: visible;
}

.formation-journey__steps li {
  position: relative;
  width: auto;
  min-width: 0;
  padding-top: 1.5rem;
  background: none;
}

.formation-journey__steps li::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 112px;
  left: 0;
  background: rgba(255,255,255,.42);
  content: "";
}

.formation-journey__steps li:nth-child(3n)::before {
  right: 30px;
}

.formation-journey__steps h3,
.formation-journey__steps p,
.formation-journey__icon {
  position: relative;
  z-index: 1;
}

.formation-journey__steps h3 {
  min-height: 0;
  margin-bottom: .45rem;
}

.formation-journey__steps p {
  min-height: 92px;
  padding-bottom: 1rem;
}

.formation-journey__icon::before {
  top: -24px;
  height: 24px;
  width: 3px;
}

.formation-journey__steps li:nth-child(4) .formation-journey__icon {
  clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%);
}

@media (max-width: 760px) {
  .formation-manifesto__quote::after {
    right: 2.8rem;
    bottom: .8rem;
  }

  .formation-manifesto__visual img {
    height: 460px;
  }

  .formation-journey__steps {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .formation-journey__steps li {
    width: 100%;
    max-width: 520px;
    margin: auto;
  }

  .formation-journey__steps h3,
  .formation-journey__steps p {
    max-width: 420px;
  }

  .formation-journey__steps li .formation-journey__icon {
    clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%);
  }
}

.training-themes {
  padding: 7rem 0;
  background: var(--navy);
  color: #fff;
}

.training-themes__heading {
  margin-bottom: 3.5rem;
}

.training-themes__heading .eyebrow {
  margin: 0 0 1rem;
  color: var(--pink);
}

.training-themes__heading h2 {
  margin: 0;
  text-align: center;
  font-family: var(--display);
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 1;
}

.training-themes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.7rem;
}

.training-theme {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: var(--ivory);
  color: var(--navy);
  text-decoration: none;
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
  transition: transform .38s var(--ease), box-shadow .38s var(--ease);
}

.training-theme:hover {
  transform: translateY(-10px) rotate(-.6deg);
  box-shadow: 0 28px 56px rgba(0,0,0,.28);
}

.training-theme:nth-child(2):hover {
  transform: translateY(-10px) rotate(.6deg);
}

.training-theme figure {
  margin: 0;
  overflow: hidden;
}

.training-theme img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .55s var(--ease);
}

.training-theme:hover img {
  transform: scale(1.055);
}

.training-theme > div {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: 2rem 2rem 1.8rem;
}

.training-theme--event > div {
  background: #efb0ae;
}

.training-theme--network > div {
  background: #a87881;
  color: #fff;
}

.training-theme > div::before {
  position: absolute;
  top: 0;
  left: 2rem;
  right: 2rem;
  height: 2px;
  background: currentColor;
  content: "";
  opacity: .32;
}

.training-theme span {
  display: block;
  margin-bottom: .75rem;
  color: var(--pink);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.training-theme--event span,
.training-theme--network span {
  color: currentColor;
  opacity: .75;
}

.training-theme h3 {
  margin: 0 0 1.5rem;
  font-family: var(--display);
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 400;
  line-height: 1.05;
}

.training-theme p {
  margin: auto 0 0;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 850px) {
  .training-themes__grid {
    grid-template-columns: 1fr;
  }

  .training-theme {
    max-width: 560px;
    margin: auto;
  }
}

/* Cartes de thématiques compactes : les dimensions HTML ne doivent pas agrandir les photos. */
.training-themes__grid {
  max-width: 1000px;
  margin: 0 auto;
  gap: 1.25rem;
}

.training-theme img {
  height: 220px;
  aspect-ratio: auto;
}

.training-theme > div {
  min-height: 150px;
  padding: 1.35rem 1.5rem 1.25rem;
}

.training-theme > div::before {
  left: 1.5rem;
  right: 1.5rem;
}

.training-theme h3 {
  margin: .7rem 0 1rem;
  font-size: clamp(1.7rem, 2.4vw, 2.25rem);
}

@media (max-width: 850px) {
  .training-theme { width: min(100%, 440px); }
  .training-theme img { height: 210px; }
}

.section--white .section-head {
  display: block;
}

.section--white .section-head .eyebrow {
  margin: 0 0 1rem;
}

.section--white .section-head h2 {
  width: 100%;
  max-width: none;
  text-align: center;
}
.training-theme__visibility-art{position:relative;display:flex!important;align-items:center;justify-content:center;gap:1rem;min-height:150px;overflow:hidden;background:linear-gradient(135deg,#fff3e8,#f6ded0)}
.training-theme__visibility-art span{position:relative;z-index:2;display:grid;width:76px;height:76px;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--display);font-size:2rem;box-shadow:7px 7px 0 rgba(243,155,155,.55)}
.training-theme__visibility-art span:nth-child(2){background:var(--pink);color:var(--navy)}
.training-theme__visibility-art i{position:absolute;width:240px;height:240px;border:1px solid rgba(25,36,62,.18);border-radius:50%}
.training-theme--quote{display:flex;min-height:100%;align-items:center;justify-content:center;gap:.35rem;margin:0;padding:2rem;background:var(--navy);color:#fff;text-align:center}
.training-theme--quote p{margin:0;color:var(--pink);font-family:var(--display);font-size:clamp(2rem,3vw,3rem);font-style:italic;line-height:1.08;text-transform:none}
.training-theme--quote span{color:var(--pink);font-family:var(--display);font-size:4.5rem;line-height:1}
.training-theme--quote span:first-child{align-self:flex-start;transform:translate(1.35rem,3.2rem)}.training-theme--quote span:last-child{align-self:flex-end}

/* Parcours de formation : version compacte */
.formation-journey{padding:2.5rem 0 2.75rem!important}
.formation-journey__heading{margin-bottom:1.65rem!important}
.formation-journey__heading .eyebrow{margin-bottom:.55rem}
.formation-journey__heading h2{font-size:clamp(2.5rem,4vw,4rem)}
.formation-journey__steps{gap:0!important}
.formation-journey__steps li{grid-template-rows:auto 1fr 54px;padding-top:.4rem}
.formation-journey__steps li::before{bottom:54px}
.formation-journey__steps h3{min-height:40px;margin-bottom:.2rem;font-size:clamp(1.25rem,1.65vw,1.6rem)}
.formation-journey__steps p{min-height:60px;padding:0 .55rem .65rem;font-size:.76rem;line-height:1.3}
.formation-journey__steps p::after{bottom:-4px;width:11px;height:11px;border-width:3px}
.formation-journey__icon{height:54px}
.formation-journey__icon::before{top:-13px;width:2px;height:13px}
.formation-journey__icon::after{font-size:2.25rem}

@media (min-width:821px){
  .formation-journey__steps{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:760px){
  .formation-journey{padding:2.5rem 0!important}
  .formation-journey__heading{margin-bottom:1.5rem!important}
  .formation-journey__steps{gap:1.25rem!important}
  .formation-journey__steps li{grid-template-rows:auto 1fr 62px;padding-top:.25rem}
  .formation-journey__steps h3,.formation-journey__steps p{max-width:420px;min-height:0}
  .formation-journey__icon{height:62px}
}
