/* points de rupture partagés (accueil, grilles, pied de page) */

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .figures .wrap{grid-template-columns:repeat(2,1fr)}
  .fig{padding:32px 24px;border-left:0;border-top:1px solid var(--line)}
  .fig:first-child{padding-left:24px}
  .word .wrap{grid-template-columns:1fr;gap:36px}
  /* en une seule colonne, la photo repasse au-dessus du texte, sans décalage */
  .word-photo{max-width:400px;margin-top:0}
  .grid3,.mod-list,.news,.foot-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{gap:34px}
  .logos{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:680px){
  .wrap{padding:0 20px}
  .head-inner{height:68px}
  .brand img{height:56px}
  nav.main{inset:0 0 0 8%}
  .hero{min-height:590px;min-height:90svh}
  .hero .wrap{padding-top:110px;padding-bottom:56px}
  .grid3,.mod-list,.news,.foot-grid,.figures .wrap{grid-template-columns:1fr}
  #formation .sec-head h2{white-space:normal}
  .sec,.word,.modules{padding:66px 0}
}
