/* Project logo visuals */
.project-visual{
  height:250px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  transition:transform .35s ease,box-shadow .35s ease !important;
}
.project-card:hover .project-visual{
  transform:translateY(-5px) !important;
  box-shadow:0 14px 30px rgba(17,17,17,.08);
}
.project-visual::before{content:none !important}
.project-visual i{display:none !important}
.project-visual span{
  z-index:2 !important;
  left:14px !important;
  top:13px !important;
  padding:4px 7px !important;
  border:1px solid rgba(17,17,17,.18) !important;
  border-radius:999px !important;
  background:rgba(247,245,240,.88) !important;
  color:#111 !important;
  backdrop-filter:blur(6px);
}

.pv-1{
  background-color:#fff !important;
  background-image:url('../images/project-karavel.svg?v=6') !important;
  background-size:72% auto !important;
}
.pv-2{
  background-color:#fff !important;
  background-image:url('../images/project-haleon-gsk.svg?v=6') !important;
  background-size:88% auto !important;
  background-position:center !important;
}
.pv-3{
  background-color:#fff !important;
  background-image:url('../images/project-barriere.svg?v=6') !important;
  background-size:82% auto !important;
  background-position:center !important;
}
.pv-3 span{
  border-color:rgba(17,17,17,.18) !important;
  background:rgba(247,245,240,.88) !important;
  color:#111 !important;
}

/* EDUCATION — same logic as “Projets phares”: image first, text below */
.education-cards{
  align-items:start !important;
  gap:18px !important;
}
.education-card,
.education-card-dark{
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-top:1px solid #111 !important;
  background:transparent !important;
  color:#111 !important;
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
  overflow:visible !important;
  transition:transform .3s ease !important;
}
.education-card:hover{
  transform:translateY(-4px) !important;
}

/* date + number live inside the visual area */
.education-top{
  position:absolute !important;
  top:22px !important;
  left:14px !important;
  right:14px !important;
  z-index:6 !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  font-size:10px !important;
  letter-spacing:.13em !important;
  color:#111 !important;
  pointer-events:none !important;
}
.education-card:nth-child(2) .education-top{
  color:#fff !important;
}

/* fixed image frame: the logo can NEVER overlap the text below */
.education-logo-wrap{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  order:1 !important;
  width:100% !important;
  height:255px !important;
  margin:12px 0 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
.education-card:nth-child(2) .education-logo-wrap{
  background:#111 !important;
}
.education-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  max-width:none !important;
  max-height:none !important;
  transform:none !important;
}

/* individual fitting to compensate for the whitespace inside each uploaded file */
.education-logo--inseec{
  width:88% !important;
  max-width:410px !important;
}
.education-logo--scbs{
  width:78% !important;
  max-width:345px !important;
}
.education-logo--encg{
  height:82% !important;
  width:auto !important;
  max-width:66% !important;
}

.education-card.has-school-logo .education-icon{
  display:none !important;
}

/* textual part is a completely separate zone below the image */
.education-body{
  order:2 !important;
  margin:0 !important;
  padding:18px 2px 50px !important;
  position:relative !important;
  z-index:2 !important;
  color:#111 !important;
}
.education-body small{
  display:block !important;
  font-size:9px !important;
  letter-spacing:.16em !important;
  opacity:.58 !important;
}
.education-body h4{
  margin:8px 0 10px !important;
  font-family:var(--serif) !important;
  font-size:29px !important;
  font-weight:400 !important;
  line-height:1.03 !important;
  color:#111 !important;
}
.education-body p{
  max-width:350px !important;
  margin:0 !important;
  font-family:var(--editorial) !important;
  font-size:17px !important;
  line-height:1.3 !important;
  color:#111 !important;
  opacity:.72 !important;
}
.education-arrow{
  position:absolute !important;
  right:4px !important;
  bottom:16px !important;
  z-index:3 !important;
  color:#111 !important;
}

@media(max-width:760px){
  .project-visual{height:230px !important}
  .pv-1{background-size:76% auto !important}
  .pv-2{background-size:92% auto !important}
  .pv-3{background-size:88% auto !important}

  .education-cards{
    gap:32px !important;
  }
  .education-logo-wrap{
    height:225px !important;
  }
  .education-logo--inseec{
    width:90% !important;
  }
  .education-logo--scbs{
    width:76% !important;
  }
  .education-logo--encg{
    height:80% !important;
    max-width:64% !important;
  }
  .education-body{
    padding:16px 2px 44px !important;
  }
  .education-body h4{
    font-size:26px !important;
  }
  .education-body p{
    font-size:16px !important;
  }
}
