
/* ==========================================================================
   ISIPA V6 — transposition fidèle du template "Formateur"
   Palette originale du template :
   ultramarine-blue hsl(217,100%,50%) = #0062ff
   oxford-blue      hsl(229,84%,12%)  = #050e38
   lavender-blue                         #d2dafe
   cultured                              #f2f3f7
   ========================================================================== */
:root{
  --edu-blue:#0062ff;
  --edu-blue-alt:#0d6dfd;
  --edu-dark:#050e38;
  --edu-dark-2:#02071f;
  --edu-light-blue:#d2dafe;
  --edu-cultured:#f2f3f7;
  --edu-gray:#787878;
  --edu-light-gray:#cccccc;
  --edu-white:#fff;
  --edu-transition:.25s ease;
  --edu-px:15px;
  --edu-py:80px;
  --edu-fs-1:38px;
  --edu-fs-2:35px;
  --edu-fs-3:30px;
  --edu-fs-4:22px;
  --edu-fs-5:20px;
  --edu-fs-6:15px;
  --isipa-blue:#0062ff;
  --isipa-blue-dark:#050e38;
  --isipa-navy:#050e38;
  --isipa-paper:#f2f3f7;
  --isipa-border:#e1e4ec;
}
html{font-family:"Jost",sans-serif}
body{
  margin:0;
  background:#e9edf3!important;
  color:var(--edu-dark);
  font-family:"Jost",sans-serif!important
}
a{text-decoration:none}
.site-main{
  padding-top:70px!important;
  max-width:1440px;
  margin:0 auto;
  background:#fff;
  overflow:hidden
}
.edu-page-shell{background:#fff}
.max-w-container{max-width:1440px!important}
.section-space{padding:var(--edu-py) var(--edu-px)!important}
.section-label,.tech-kicker,.section-badge,.edu-section-subtitle{
  color:var(--edu-blue)!important;
  font-family:"Jost",sans-serif!important;
  font-size:var(--edu-fs-6)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:uppercase
}
.section-label-light{color:#d2dafe!important}
.edu-section-title{
  margin:0;
  color:var(--edu-dark);
  font-size:var(--edu-fs-2);
  font-weight:800;
  line-height:1.3
}
.edu-section-text{
  color:var(--edu-gray);
  font-family:"Roboto",sans-serif;
  font-size:var(--edu-fs-6);
  line-height:1.6
}

/* ---------- Button copied from the reference behaviour ---------- */
.edu-btn,
.btn-primary,
.btn-primary-light,
.hero-primary-action,
.header-cta,
.light-button{
  position:relative!important;
  min-height:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px 45px!important;
  border:0!important;
  border-radius:8px!important;
  overflow:hidden!important;
  font-family:"Roboto",sans-serif!important;
  font-size:var(--edu-fs-6)!important;
  font-weight:500!important;
  line-height:1!important;
  text-transform:uppercase!important;
  transition:var(--edu-transition)!important;
  cursor:pointer;
  isolation:isolate
}
.edu-btn-text{position:relative;z-index:5}
.edu-btn-primary,
.btn-primary,
.hero-primary-action,
.header-cta,
.light-button{
  background:var(--edu-blue)!important;
  color:#fff!important
}
.edu-btn-secondary,
.btn-primary-light{
  background:var(--edu-dark)!important;
  color:#fff!important
}
.edu-btn-square{
  position:absolute;
  top:50%;
  right:20px;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:8px;
  background:var(--edu-dark);
  transition:var(--edu-transition);
  z-index:1
}
.edu-btn-secondary .edu-btn-square{background:var(--edu-blue)}
.edu-btn:hover .edu-btn-square{
  right:-2px;
  width:102%;
  height:102%
}
.btn-primary::before,
.hero-primary-action::before,
.header-cta::before,
.light-button::before,
.btn-primary-light::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  right:20px;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:8px;
  background:var(--edu-dark);
  transition:var(--edu-transition)
}
.btn-primary-light::before{background:var(--edu-blue)}
.btn-primary:hover::before,
.hero-primary-action:hover::before,
.header-cta:hover::before,
.light-button:hover::before,
.btn-primary-light:hover::before{
  right:-2px;width:102%;height:102%
}

/* ---------- Exact header logic ---------- */
.edu-site-header{
  position:relative;
  z-index:500;
  max-width:1440px;
  margin:0 auto
}
.edu-navbar{
  position:fixed;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:1440px;
  min-height:70px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px var(--edu-px);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(15px);
  box-shadow:0 10px 20px -5px rgba(0,0,0,.03);
  z-index:1000
}
.edu-navbar-brand{
  display:flex;
  align-items:center;
  gap:10px
}
.edu-navbar-brand img{
  width:48px;
  height:48px;
  object-fit:contain
}
.edu-navbar-brand span{
  color:var(--edu-dark);
  font-size:24px;
  font-weight:700;
  letter-spacing:-.02em
}
.edu-navbar-nav{
  position:absolute;
  top:calc(100% + 40px);
  left:30px;
  right:30px;
  margin:0;
  padding:30px;
  background:#fff;
  border-radius:8px;
  box-shadow:0 10px 30px -5px rgba(0,0,0,.25);
  text-align:center;
  opacity:0;
  transform:scale(.8);
  pointer-events:none;
  list-style:none
}
.edu-navbar-nav.active{
  animation:eduMenuPopup .5s ease forwards;
  pointer-events:all
}
@keyframes eduMenuPopup{
  0%{opacity:0;transform:scale(.8)}
  50%{transform:scale(1.1)}
  100%{opacity:1;transform:scale(1)}
}
.edu-nav-item a{
  display:block;
  padding:10px;
  color:var(--edu-dark);
  font-size:var(--edu-fs-5);
  font-weight:600;
  transition:var(--edu-transition)
}
.edu-nav-item:not(:last-child) a{border-bottom:1px solid rgba(0,0,0,.1)}
.edu-nav-item a:hover,.edu-nav-item a.is-active{color:var(--edu-blue)}
.edu-header-btn{display:none!important}
.edu-nav-toggle{
  width:50px;
  height:50px;
  border:0;
  border-radius:8px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  background:var(--edu-blue);
  cursor:pointer
}
.edu-nav-toggle span{
  width:30px;
  height:2px;
  background:#fff;
  transition:var(--edu-transition)
}
.edu-nav-toggle.active .one{transform:rotate(45deg) translate(3px,3px)}
.edu-nav-toggle.active .two{display:none}
.edu-nav-toggle.active .three{transform:rotate(-45deg) translate(2px,-2px)}

/* ---------- HOME from the reference ---------- */
.edu-home{
  position:relative;
  min-height:760px;
  padding:var(--edu-py) var(--edu-px) 0;
  overflow:hidden;
  background:#fff
}
.edu-home::before{
  content:"";
  position:absolute;
  top:-200px;
  left:-400px;
  width:800px;
  height:800px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,98,255,.28),transparent 70%)
}
.edu-home::after{
  content:"";
  position:absolute;
  top:100px;
  right:-400px;
  width:800px;
  height:800px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(13,109,253,.24),transparent 70%)
}
.edu-home-slide{
  position:absolute;
  inset:0;
  padding:var(--edu-py) var(--edu-px) 0;
  opacity:0;
  pointer-events:none;
  transition:opacity .65s ease
}
.edu-home-slide.active{opacity:1;pointer-events:auto}
.edu-home-left,.edu-home-right{position:relative;z-index:10}
.edu-home-left{margin-bottom:60px}
.edu-home .edu-section-subtitle{text-align:center;margin-bottom:25px}
.edu-main-heading{
  margin:0 0 40px;
  color:var(--edu-dark);
  font-size:var(--edu-fs-1);
  font-weight:900;
  line-height:1.2;
  text-align:center
}
.edu-home-text{
  max-width:500px;
  margin:0 auto 30px;
  text-align:center
}
.edu-home-btn-group{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:30px
}
.edu-home-right{height:440px}
.edu-home-img-box{
  position:relative;
  height:100%
}
.edu-home-bg-shape{
  position:absolute;
  z-index:1;
  width:82%;
  height:82%;
  top:9%;
  left:50%;
  transform:translateX(-50%);
  border-radius:45% 55% 60% 40% / 50% 40% 60% 50%;
  background:var(--edu-blue)
}
.edu-banner-img{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:auto;
  max-width:88%;
  height:100%;
  object-fit:cover;
  border-radius:8px
}
.edu-float-card{
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.16);
  color:var(--edu-dark);
  font-size:12px
}
.edu-float-card ion-icon{font-size:22px;color:var(--edu-blue)}
.edu-float-card-one{top:130px;left:10px}
.edu-float-card-two{top:50px;right:15px}
.edu-hero-controls{
  position:absolute;
  z-index:30;
  bottom:25px;
  left:var(--edu-px);
  display:flex;
  gap:6px
}
.edu-hero-controls button{
  width:42px;height:42px;
  border:0;border-radius:8px;
  background:var(--edu-blue);
  color:#fff;cursor:pointer
}

/* ---------- CATEGORY ---------- */
.edu-category{
  padding:var(--edu-py) var(--edu-px);
  background:#fff
}
.edu-category>.edu-section-subtitle{text-align:center;margin:0 0 15px}
.edu-category>.edu-section-title{text-align:center;margin-bottom:60px}
.edu-category-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:30px
}
.edu-category-item{
  display:flex;
  align-items:center;
  gap:20px;
  padding:25px;
  border:1px solid #ababab;
  border-radius:8px;
  background:#fff;
  transition:var(--edu-transition)
}
.edu-category-item:hover{
  background:var(--edu-blue);
  border-color:var(--edu-blue);
  box-shadow:0 10px 50px -20px var(--edu-blue)
}
.edu-category-icon{
  flex:0 0 50px;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#eef4ff;
  color:var(--edu-blue)
}
.edu-category-icon ion-icon{font-size:28px}
.edu-category-item strong{
  display:block;
  color:var(--edu-dark);
  font-size:var(--edu-fs-4);
  font-weight:700
}
.edu-category-item small{
  display:block;
  color:var(--edu-gray);
  font-family:"Roboto",sans-serif;
  font-size:var(--edu-fs-6)
}
.edu-category-item:hover strong,
.edu-category-item:hover small{color:#fff}
.edu-category-item:hover .edu-category-icon{background:#fff;color:var(--edu-blue)}

/* ---------- ABOUT ---------- */
.edu-about{
  padding:var(--edu-py) var(--edu-px);
  background:var(--edu-cultured);
  overflow:hidden
}
.edu-about-left .edu-about-img-box{position:relative;min-height:440px}
.edu-about-bg{
  position:absolute;
  width:78%;
  height:82%;
  left:8%;
  bottom:0;
  border-radius:50% 50% 10px 10px;
  background:var(--edu-blue)
}
.edu-about-img{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:86%;
  height:100%;
  object-fit:cover;
  border-radius:8px
}
.edu-about-right{padding-top:50px}
.edu-about-right .edu-section-subtitle{margin:0 0 10px}
.edu-about-right .edu-section-title{margin-bottom:30px}
.edu-about-right .edu-section-text{margin-bottom:20px}
.edu-about-list{
  margin:0 0 40px;
  padding:0;
  list-style:none
}
.edu-about-list li{
  display:flex;
  align-items:center;
  gap:15px;
  color:var(--edu-dark);
  font-family:"Roboto",sans-serif;
  font-size:var(--edu-fs-6);
  font-weight:500;
  line-height:1.6
}
.edu-about-list li:not(:last-child){margin-bottom:18px}
.edu-about-list ion-icon{font-size:28px;color:var(--edu-blue)}

/* ---------- COURSES ---------- */
.edu-course{
  position:relative;
  padding:var(--edu-py) var(--edu-px);
  background:#fff
}
.edu-course>.edu-section-subtitle{margin:0 0 15px}
.edu-course>.edu-section-title{margin-bottom:60px}
.edu-course-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:30px;
  margin-bottom:50px
}
.edu-course-card{
  overflow:hidden;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 50px rgba(0,0,0,.1)
}
.edu-course-banner{
  position:relative;
  display:block;
  height:230px;
  overflow:hidden
}
.edu-course-banner img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:var(--edu-transition)
}
.edu-course-card:hover .edu-course-banner img{transform:scale(1.05)}
.edu-course-placeholder{
  width:100%;height:100%;
  display:grid;place-items:center;
  background:var(--edu-blue);
  color:#fff;
  font-size:34px;
  font-weight:800
}
.edu-course-tag-box{
  position:absolute;
  bottom:20px;
  left:30px
}
.edu-badge-tag{
  display:block;
  padding:8px 20px;
  border-radius:5px;
  background:var(--edu-blue);
  color:#fff;
  font-family:"Roboto",sans-serif;
  font-size:var(--edu-fs-6)
}
.edu-course-content{padding:30px 30px 20px}
.edu-card-title{margin:0 0 20px}
.edu-card-title a{
  color:var(--edu-dark);
  font-size:var(--edu-fs-4);
  font-weight:700;
  line-height:1.3;
  transition:var(--edu-transition)
}
.edu-course-card:hover .edu-card-title a{color:var(--edu-blue)}
.edu-course-meta{
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin-bottom:15px;
  padding-bottom:20px;
  border-bottom:1px solid var(--edu-light-gray);
  color:var(--edu-gray);
  font-family:"Roboto",sans-serif;
  font-size:13px
}
.edu-course-meta strong{color:var(--edu-blue)}
.edu-course-link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--edu-dark);
  font-weight:600;
  font-size:14px
}
.edu-course-link:hover{color:var(--edu-blue)}
.edu-course-all{margin:auto}

/* ---------- EVENT ---------- */
.edu-event{
  padding:var(--edu-py) var(--edu-px);
  background:var(--edu-cultured)
}
.edu-event-left{
  position:relative;
  max-width:max-content;
  margin-bottom:50px
}
.edu-event-image{
  display:block;
  overflow:hidden;
  border-radius:8px;
  box-shadow:0 10px 40px rgba(0,0,0,.12)
}
.edu-event-image img{
  width:100%;
  max-height:540px;
  object-fit:cover
}
.edu-event-right>.edu-section-subtitle{margin:0 0 15px}
.edu-event-right>.edu-section-title{margin-bottom:30px}
.edu-event-card-group{
  display:grid;
  grid-template-columns:1fr;
  gap:20px
}
.edu-event-card{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:20px;
  padding:25px;
  border-right:5px solid transparent;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.1);
  transition:var(--edu-transition)
}
.edu-event-card:hover{border-color:var(--edu-blue)}
.edu-event-date{
  text-align:center;
  padding-right:15px;
  border-right:1px solid #ddd
}
.edu-event-date strong{
  display:block;
  color:var(--edu-blue);
  font-size:var(--edu-fs-3);
  font-weight:700;
  line-height:1
}
.edu-event-date span{
  display:block;
  margin-top:6px;
  color:var(--edu-blue);
  font-size:12px
}
.edu-event-card p{
  margin:0 0 6px;
  color:var(--edu-gray);
  font:12px "Roboto",sans-serif
}
.edu-event-card h3{
  margin:0;
  color:var(--edu-dark);
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  transition:var(--edu-transition)
}
.edu-event-card:hover h3{color:var(--edu-blue)}

/* ---------- FEATURES ---------- */
.edu-features{background:var(--edu-dark)}
.edu-features-left{padding:var(--edu-py) var(--edu-px)}
.edu-features .edu-section-subtitle{margin:0 0 15px;color:#8eb7ff!important}
.edu-features .edu-section-title{margin-bottom:30px;color:#fff}
.edu-feature-item{
  display:flex;
  align-items:flex-start;
  gap:20px
}
.edu-feature-item:not(:last-child){margin-bottom:30px}
.edu-feature-icon{
  flex:0 0 65px;
  width:65px;height:65px;
  display:grid;place-items:center;
  border-radius:8px;
  background:var(--edu-blue);
  color:#fff
}
.edu-feature-icon ion-icon{font-size:30px}
.edu-feature-item h3{
  margin:0 0 10px;
  color:#fff;
  font-size:var(--edu-fs-4);
  font-weight:700
}
.edu-feature-item p{
  margin:0;
  color:#d7dcfa;
  font-family:"Roboto",sans-serif;
  font-size:var(--edu-fs-6);
  line-height:1.6
}
.edu-features-right{height:500px}
.edu-features-right img{width:100%;height:100%;object-fit:cover}

/* ---------- INSTRUCTOR ---------- */
.edu-instructor{
  padding:var(--edu-py) var(--edu-px);
  background:#fff
}
.edu-instructor>.edu-section-subtitle{text-align:center;margin:0 0 15px}
.edu-instructor>.edu-section-title{text-align:center;margin-bottom:60px}
.edu-instructor-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:30px
}
.edu-instructor-card{
  overflow:hidden;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 35px rgba(0,0,0,.08)
}
.edu-instructor-image{height:330px;overflow:hidden}
.edu-instructor-image img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  transition:var(--edu-transition)
}
.edu-instructor-card:hover img{transform:scale(1.04)}
.edu-instructor-content{
  padding:22px;
  text-align:center
}
.edu-instructor-content h3{
  margin:0;
  color:var(--edu-dark);
  font-size:20px;
  font-weight:700
}
.edu-instructor-content p{
  margin:7px 0 0;
  color:var(--edu-blue);
  font:13px "Roboto",sans-serif
}

/* ---------- TESTIMONIALS ---------- */
.edu-testimonials{
  padding:var(--edu-py) var(--edu-px);
  background:var(--edu-cultured)
}
.edu-testimonials-left .edu-section-subtitle{margin:0 0 15px}
.edu-testimonials-left .edu-section-title{margin-bottom:25px}
.edu-testimonials-right{
  position:relative;
  margin-top:40px;
  padding:38px;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 40px rgba(0,0,0,.08)
}
.edu-quote{
  display:block;
  color:var(--edu-blue);
  font:700 70px/1 Georgia,serif
}
.edu-testimonials-right>p{
  margin:0 0 25px;
  color:var(--edu-dark);
  font-size:19px;
  line-height:1.7
}
.edu-testimonial-person{
  display:flex;
  align-items:center;
  gap:14px
}
.edu-testimonial-person img{
  width:58px;height:58px;
  border-radius:50%;
  object-fit:cover
}
.edu-testimonial-person strong{display:block;color:var(--edu-dark)}
.edu-testimonial-person span{display:block;color:var(--edu-gray);font:12px "Roboto",sans-serif}

/* ---------- BLOG ---------- */
.edu-blog{
  padding:var(--edu-py) var(--edu-px);
  background:#fff
}
.edu-blog>.edu-section-subtitle{text-align:center;margin:0 0 15px}
.edu-blog>.edu-section-title{text-align:center;margin-bottom:60px}
.edu-blog-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:30px
}
.edu-blog-card{
  overflow:hidden;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 40px rgba(0,0,0,.08)
}
.edu-blog-banner{display:block;height:230px;overflow:hidden}
.edu-blog-banner img{width:100%;height:100%;object-fit:cover;transition:var(--edu-transition)}
.edu-blog-card:hover img{transform:scale(1.05)}
.edu-blog-content{padding:25px}
.edu-blog-content>p{margin:0;color:var(--edu-blue);font:12px "Roboto",sans-serif}
.edu-blog-content h3{margin:10px 0 18px}
.edu-blog-content h3 a{
  color:var(--edu-dark);
  font-size:20px;
  line-height:1.35;
  font-weight:700;
  transition:var(--edu-transition)
}
.edu-blog-content h3 a:hover{color:var(--edu-blue)}
.edu-blog-link{color:var(--edu-blue);font-weight:600}

/* ---------- PARTNERS ---------- */
.edu-partners{
  padding:70px var(--edu-px) 150px;
  background:var(--edu-cultured)
}
.edu-partners>.edu-section-subtitle{text-align:center;margin-bottom:30px}
.edu-partner-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:20px
}
.edu-partner-item{
  min-width:150px;
  height:72px;
  display:grid;
  place-items:center;
  padding:12px 18px;
  border-radius:8px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.05)
}
.edu-partner-item img{max-width:130px;max-height:42px;object-fit:contain}
.edu-partner-item span{color:var(--edu-dark);font-weight:700}

/* ---------- Inner banners / all multipage ---------- */
.page-hero-editorial{
  width:100%!important;
  max-width:none!important;
  min-height:300px!important;
  height:300px!important;
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:var(--edu-dark)!important
}
.page-hero-shade{background:rgba(5,14,56,.70)!important}
.page-hero-inner{
  padding:90px var(--edu-px) 42px!important
}
.page-hero-rule{display:none!important}
.page-hero-editorial .tech-kicker{
  color:#9dbdff!important;
  font-size:13px!important
}
.page-hero-editorial h1{
  margin:8px 0 0!important;
  max-width:900px;
  color:#fff!important;
  font-family:"Jost",sans-serif!important;
  font-size:clamp(2.5rem,4.2vw,4.1rem)!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
  font-weight:800!important
}
.page-hero-subtitle{
  max-width:760px!important;
  margin:12px 0 0!important;
  color:#d7dcfa!important;
  font:14px/1.6 "Roboto",sans-serif!important
}

/* ---------- Generic sections and cards on inner pages ---------- */
.section-heading-v5 h2,
.about-section-head h2,
.about-milestones-head h2,
.about-pdg-copy h2,
.about-heritage-copy h2,
.about-departments-head h2,
.campus-intro-grid-v5 h2,
.contact-copy-v5 h2,
.contact-form-card-v5 h2,
.display-title,
.body-copy h2{
  color:var(--edu-dark)!important;
  font-family:"Jost",sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.02em!important
}
.programs-catalog-v5,.campus-activities-v5,.about-principles,.news-section{background:var(--edu-cultured)!important}
.catalog-filter-v5,
.catalog-card-v5,
.news-card-v5,
.campus-activity-card-v5,
.contact-form-card-v5,
.testimonial-card,
.card,
.leader-photo,
.about-pdg-media,
.about-partner-item,
.partner-v4-item{
  border-radius:8px!important
}
.catalog-card-v5,
.news-card-v5,
.campus-activity-card-v5,
.contact-form-card-v5{
  border:0!important;
  box-shadow:0 10px 50px rgba(0,0,0,.1)!important
}
.catalog-card-v5:hover,
.news-card-v5:hover,
.campus-activity-card-v5:hover{
  box-shadow:0 12px 55px rgba(0,0,0,.14)!important
}
.catalog-level-v5,
.news-filter-v5 a,
.value-list span,
.professional-points span,
.expertise-tags span{
  border-radius:5px!important
}
.catalog-level-v5{background:var(--edu-blue)!important}
.news-filter-v5 a.is-active,
.news-filter-v5 a:hover{background:var(--edu-blue)!important;border-color:var(--edu-blue)!important}
.form-input{border-radius:8px!important}
.form-input:focus{border-color:var(--edu-blue)!important;box-shadow:0 0 0 3px rgba(0,98,255,.1)!important}
.about-milestones,.admission-band,.campus-cta-v5{background:var(--edu-blue)!important}
.about-departments,.expertise-section{background:var(--edu-dark)!important}
.leader-role,.catalog-card-body-v5>span,.news-card-body-v5>span,.contact-info-item-v5 span{color:var(--edu-blue)!important}
.campus-item-v5{border-radius:8px!important}
.campus-item-v5.is-active{background:var(--edu-blue)!important;border-color:var(--edu-blue)!important}
.campus-map-v5{border-radius:8px!important}
.about-heritage{background:var(--edu-dark)!important}

/* Formation detail / article detail / admission */
.text-link,.text-link-light{color:var(--edu-blue)!important}
.prose-content{font-family:"Roboto",sans-serif;color:#555d6b;line-height:1.8}
.prose-content h2,.prose-content h3{font-family:"Jost",sans-serif;color:var(--edu-dark)}
.announcement-strip{background:var(--edu-blue)!important}

/* ---------- Footer copied from reference ---------- */
.edu-footer-cta{
  position:relative;
  max-width:1440px;
  height:0;
  margin:120px auto 0;
  z-index:20
}
.edu-contact-card{
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-50%);
  width:calc(100% - var(--edu-px));
  padding:30px 20px;
  display:grid;
  grid-template-columns:1fr;
  gap:30px;
  align-items:center;
  overflow:hidden;
  border-radius:8px;
  background:var(--edu-blue)
}
.edu-contact-card-pattern{
  position:absolute;
  left:-40px;
  top:-80px;
  width:280px;
  height:280px;
  border-radius:50%;
  border:45px solid rgba(255,255,255,.07)
}
.edu-contact-card h2{
  position:relative;
  z-index:2;
  margin:0;
  color:#fff;
  font-size:30px;
  font-weight:800;
  text-align:center
}
.edu-contact-card .edu-btn{justify-self:center}
.edu-footer{
  max-width:1440px!important;
  width:100%!important;
  margin:0 auto!important;
  border-radius:0!important;
  background:var(--edu-dark)!important;
  color:#fff
}
.edu-footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:50px;
  padding:220px var(--edu-px) 80px
}
.edu-footer-logo{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:25px
}
.edu-footer-logo img{
  width:54px;
  height:54px;
  object-fit:contain;
  filter:brightness(0) invert(1)
}
.edu-footer-logo strong{
  color:#fff;
  font-size:28px;
  font-weight:700
}
.edu-footer-text{
  margin:0 0 35px;
  color:var(--edu-light-blue);
  font-family:"Roboto",sans-serif;
  font-size:var(--edu-fs-6);
  line-height:1.6
}
.edu-social-links{display:flex;align-items:center;gap:20px}
.edu-social-links a{
  width:45px;
  height:45px;
  display:flex;
  justify-content:center;
  align-items:center;
  border-radius:4px;
  background:rgba(255,255,255,.1);
  transition:var(--edu-transition)
}
.edu-social-links a:hover{background:var(--edu-blue)}
.edu-social-links ion-icon{font-size:20px;color:#fff}
.edu-footer-heading{
  margin:0 0 25px;
  color:#fff;
  font-size:var(--edu-fs-4);
  font-weight:700
}
.edu-footer-list{
  margin:0;
  padding:0;
  list-style:none
}
.edu-footer-list li:not(:last-child){margin-bottom:10px}
.edu-footer-list a,
.edu-footer-contact a,
.edu-footer-contact p{
  display:inline-block;
  margin:0;
  color:var(--edu-light-blue);
  font-family:"Roboto",sans-serif;
  font-size:var(--edu-fs-6);
  line-height:1.6;
  transition:var(--edu-transition)
}
.edu-footer-list a:hover,
.edu-footer-contact a:hover{
  transform:translateX(10px);
  color:var(--edu-blue)
}
.edu-footer-contact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-bottom:20px
}
.edu-footer-contact-btn{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:0 0 0 20px;
  overflow:hidden;
  border-radius:8px;
  background:#fff;
  color:var(--edu-dark);
  font-family:"Roboto",sans-serif;
  font-size:14px
}
.edu-footer-contact-btn ion-icon{
  width:62px;
  height:62px;
  padding:18px;
  box-sizing:border-box;
  background:var(--edu-blue);
  color:#fff
}
.edu-copyright{
  margin:0;
  padding:15px var(--edu-px);
  background:var(--edu-dark-2);
  color:var(--edu-light-blue);
  text-align:center;
  font-family:"Roboto",sans-serif;
  font-size:var(--edu-fs-6);
  line-height:1.7
}

/* ---------- responsive values from reference ---------- */
@media(min-width:575px){
  :root{--edu-px:30px}
  .edu-category-grid{grid-template-columns:1fr 1fr}
  .edu-course-grid{grid-template-columns:1fr 1fr}
  .edu-instructor-grid{grid-template-columns:1fr 1fr}
  .edu-blog-grid{grid-template-columns:1fr 1fr}
  .edu-footer-grid{grid-template-columns:1fr 1fr}
}
@media(min-width:850px){
  :root{--edu-px:60px}
}
@media(min-width:992px){
  :root{
    --edu-fs-5:16px;
    --edu-px:30px;
    --edu-py:120px
  }
  .edu-navbar{padding:20px var(--edu-px)}
  .site-main{padding-top:90px!important}
  .edu-navbar-nav{
    position:static;
    display:flex;
    align-items:center;
    gap:20px;
    margin-left:auto;
    padding:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    transform:scale(1);
    pointer-events:all
  }
  .edu-nav-item:not(:last-child) a{border-bottom:0}
  .edu-nav-item a{font-size:var(--edu-fs-6);padding:10px}
  .edu-nav-toggle{display:none}
  .edu-header-btn{display:inline-flex!important;margin-left:20px}
  .edu-home{min-height:720px}
  .edu-home-slide{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:40px;
    padding:var(--edu-py) var(--edu-px) 0
  }
  .edu-home-left{margin-bottom:0;padding-bottom:var(--edu-py)}
  .edu-home .edu-section-subtitle,
  .edu-main-heading,
  .edu-home-text{text-align:left}
  .edu-home-text{margin:0 0 30px;font-size:18px}
  .edu-home-btn-group{justify-content:flex-start}
  .edu-home-right{height:590px}
  .edu-category-grid{grid-template-columns:repeat(3,1fr)}
  .edu-about{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:40px
  }
  .edu-about-right{padding-top:0}
  .edu-course-grid{grid-template-columns:repeat(3,1fr);margin-bottom:0}
  .edu-course-all{
    position:absolute!important;
    top:130px;
    right:var(--edu-px)
  }
  .edu-event{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center
  }
  .edu-event-left{margin-bottom:0}
  .edu-features{
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .edu-features-right{height:auto}
  .edu-instructor-grid{grid-template-columns:repeat(4,1fr)}
  .edu-testimonials{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center
  }
  .edu-testimonials-right{margin-top:0}
  .edu-blog-grid{grid-template-columns:repeat(3,1fr)}
  .edu-footer-grid{grid-template-columns:2fr 1fr 1fr 2fr}
  .edu-contact-card{
    grid-template-columns:1fr auto;
    padding:40px 60px
  }
  .edu-contact-card h2{text-align:left;font-size:45px}
  .edu-contact-card .edu-btn{justify-self:end}
}
@media(min-width:1200px){
  :root{
    --edu-fs-1:70px;
    --edu-fs-2:55px;
    --edu-fs-3:40px;
    --edu-fs-4:25px;
    --edu-px:120px
  }
  .edu-home-left{padding-bottom:var(--edu-py)}
  .edu-category-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:991px){
  .edu-navbar-nav{display:block}
  .edu-home{min-height:980px}
  .edu-home-slide{padding-top:95px}
  .edu-home-right{margin-top:30px}
  .edu-hero-controls{bottom:15px}
  .page-hero-editorial{height:280px!important;min-height:280px!important}
}
@media(max-width:640px){
  :root{--edu-py:70px}
  .site-main{padding-top:70px!important}
  .edu-navbar-brand span{font-size:20px}
  .edu-navbar-brand img{width:42px;height:42px}
  .edu-main-heading{font-size:42px;margin-bottom:25px}
  .edu-home{min-height:850px}
  .edu-home-slide{padding-top:70px}
  .edu-home-right{height:340px}
  .edu-btn,
  .btn-primary,
  .btn-primary-light,
  .hero-primary-action,
  .header-cta,
  .light-button{
    padding:17px 28px!important;
    font-size:13px!important
  }
  .edu-btn-square{width:34px;height:34px}
  .edu-category-grid,
  .edu-course-grid,
  .edu-instructor-grid,
  .edu-blog-grid{grid-template-columns:1fr}
  .edu-section-title{font-size:34px}
  .edu-about-left .edu-about-img-box{min-height:360px}
  .edu-course-banner{height:210px}
  .edu-event-card{grid-template-columns:58px 1fr;padding:18px}
  .edu-instructor-image{height:360px}
  .edu-footer-grid{padding-top:200px}
  .page-hero-editorial{height:250px!important;min-height:250px!important}
  .page-hero-inner{padding:75px 20px 28px!important}
  .page-hero-editorial h1{font-size:36px!important}
  .page-hero-subtitle{display:none}
}

/* ==========================================================================
   ISIPA V6.1 — finitions demandées
   ========================================================================== */

/* Marges horizontales globales plus contenues */
:root{--edu-px:16px}
.max-w-container{
  max-width:1440px!important;
  padding-left:var(--edu-px)!important;
  padding-right:var(--edu-px)!important
}

/* Hero : image réellement en arrière-plan, cadrée à droite */
.edu-home.edu-home-background{
  position:relative;
  min-height:620px!important;
  height:620px!important;
  padding:0!important;
  overflow:hidden
}
.edu-home-background::before,
.edu-home-background::after{display:none!important}
.edu-home-background .edu-home-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  padding:0 var(--edu-px)!important;
  overflow:hidden
}
.edu-home-background-image{
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  width:61%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:0
}
.edu-home-overlay{
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.99) 34%,
    rgba(255,255,255,.92) 47%,
    rgba(255,255,255,.42) 68%,
    rgba(255,255,255,.04) 100%
  )
}
.edu-home-background .edu-home-left{
  position:relative;
  z-index:3;
  width:min(600px,48%);
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:0!important;
  padding:20px 0!important
}
.edu-home-background .edu-section-subtitle{
  margin:0 0 18px!important;
  text-align:left!important
}
.edu-home-background .edu-main-heading{
  max-width:590px;
  margin:0 0 24px!important;
  color:var(--edu-dark);
  font-size:56px!important;
  line-height:1.05!important;
  letter-spacing:-.035em;
  text-align:left!important
}
.edu-home-background .edu-home-text{
  max-width:520px;
  margin:0 0 26px!important;
  color:#5f6676;
  font-size:16px;
  line-height:1.7;
  text-align:left!important
}
.edu-home-background .edu-home-btn-group{
  justify-content:flex-start!important;
  gap:14px!important
}
.edu-home-background .edu-hero-controls{
  left:var(--edu-px)!important;
  bottom:22px!important
}

/* Footer : newsletter compacte à la place du faux bouton contact */
.edu-footer-grid{padding-top:190px!important}
.edu-footer-newsletter-text{
  max-width:310px;
  margin:0 0 14px;
  color:var(--edu-light-blue);
  font:13px/1.6 "Roboto",sans-serif
}
.edu-newsletter-form{
  position:relative;
  max-width:320px;
  height:52px;
  display:flex;
  overflow:hidden;
  border-radius:8px;
  background:#fff
}
.edu-newsletter-form input[type="email"]{
  width:100%;
  height:52px;
  padding:0 58px 0 16px;
  border:0;
  outline:0;
  color:var(--edu-dark);
  font:13px "Roboto",sans-serif
}
.edu-newsletter-form button{
  position:absolute;
  top:0;
  right:0;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:0;
  background:var(--edu-blue);
  color:#fff;
  cursor:pointer;
  transition:var(--edu-transition)
}
.edu-newsletter-form button:hover{background:#1259d7}
.edu-newsletter-form ion-icon{font-size:20px}
.edu-footer-mini-contact{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:13px
}
.edu-footer-mini-contact a{
  color:rgba(210,218,254,.75);
  font:11px/1.5 "Roboto",sans-serif
}
.edu-footer-mini-contact a:hover{color:#fff}

/* Détail formation */
.formation-summary-v61{
  background:var(--edu-cultured);
  border-bottom:1px solid #e0e4ec
}
.formation-summary-grid-v61{
  display:grid;
  grid-template-columns:repeat(4,1fr)
}
.formation-summary-item-v61{
  min-height:120px;
  display:grid;
  grid-template-columns:34px 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  align-content:center;
  padding:22px 26px;
  border-right:1px solid #d9dde7
}
.formation-summary-item-v61:last-child{border-right:0}
.formation-summary-item-v61 ion-icon{
  grid-row:1/3;
  align-self:center;
  color:var(--edu-blue);
  font-size:25px
}
.formation-summary-item-v61 span{
  color:#8a909d;
  font:10px "Roboto",sans-serif;
  text-transform:uppercase;
  letter-spacing:.07em
}
.formation-summary-item-v61 strong{
  margin-top:5px;
  color:var(--edu-dark);
  font-size:14px;
  line-height:1.45
}
.formation-content-grid-v61{
  display:grid;
  grid-template-columns:minmax(180px,.55fr) minmax(0,1.65fr) minmax(260px,.7fr);
  gap:48px;
  align-items:start
}
.formation-content-nav-v61 h2{
  margin:8px 0 14px;
  color:var(--edu-dark);
  font-size:28px;
  line-height:1.15;
  font-weight:800
}
.formation-content-nav-v61>p:last-child{
  margin:0;
  color:#737a89;
  font:12.5px/1.75 "Roboto",sans-serif
}
.formation-prose-v61{
  max-width:none!important;
  font-size:16px;
  line-height:1.85
}
.formation-prose-v61 h2{
  margin-top:0;
  margin-bottom:16px;
  font-size:30px
}
.formation-prose-v61 h3{
  margin-top:30px;
  margin-bottom:12px;
  font-size:22px
}
.formation-prose-v61 ul,
.formation-prose-v61 ol{padding-left:22px}
.formation-actions-v61{
  position:sticky;
  top:120px;
  display:grid;
  gap:14px
}
.formation-action-card-v61{
  padding:24px;
  border-radius:8px;
  background:var(--edu-cultured)
}
.formation-action-card-v61.secondary{
  border:1px solid #dfe3eb;
  background:#fff
}
.formation-action-card-v61 h3{
  margin:7px 0 10px;
  color:var(--edu-dark);
  font-size:20px;
  line-height:1.25
}
.formation-action-card-v61>p:not(.edu-section-subtitle){
  margin:0 0 18px;
  color:#6f7686;
  font:12px/1.7 "Roboto",sans-serif
}
.formation-action-card-v61 .edu-btn{
  width:100%;
  padding:16px 20px!important;
  font-size:12px!important
}
.formation-simple-link-v61{
  color:var(--edu-blue);
  font-size:13px;
  font-weight:700
}
.formation-related-v61{
  padding:80px 0 150px;
  background:var(--edu-dark);
  color:#fff
}
.formation-related-head-v61{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:28px
}
.formation-related-head-v61 h2{
  margin:6px 0 0;
  color:#fff;
  font-size:38px;
  line-height:1.1;
  font-weight:800
}
.formation-related-head-v61>a{color:#d2dafe;font-size:13px}
.formation-related-grid-v61{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}
.formation-related-card-v61{
  position:relative;
  min-height:190px;
  padding:24px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:8px;
  color:#fff;
  transition:var(--edu-transition)
}
.formation-related-card-v61:hover{
  border-color:var(--edu-blue);
  background:rgba(0,98,255,.08)
}
.formation-related-card-v61>span{
  color:#8eb7ff;
  font-size:10px;
  font-weight:800
}
.formation-related-card-v61 h3{
  margin:18px 0 10px;
  font-size:20px;
  line-height:1.3
}
.formation-related-card-v61 p{margin:0;color:#b9c1df;font-size:11px}
.formation-related-card-v61 b{
  position:absolute;
  right:22px;
  bottom:20px;
  color:#8eb7ff
}

/* Détail article */
.article-meta-strip-v61{
  background:var(--edu-cultured);
  border-bottom:1px solid #e0e4ec
}
.article-meta-grid-v61{
  display:grid;
  grid-template-columns:repeat(3,1fr)
}
.article-meta-grid-v61>div{
  padding:20px 24px;
  border-right:1px solid #d9dde7
}
.article-meta-grid-v61>div:last-child{border-right:0}
.article-meta-grid-v61 span{
  display:block;
  color:#8a909d;
  font:9.5px "Roboto",sans-serif;
  text-transform:uppercase;
  letter-spacing:.07em
}
.article-meta-grid-v61 strong{
  display:block;
  margin-top:5px;
  color:var(--edu-dark);
  font-size:13px
}
.article-layout-v61{
  display:grid;
  grid-template-columns:150px minmax(0,760px) minmax(230px,1fr);
  gap:44px;
  align-items:start
}
.article-back-v61{
  position:sticky;
  top:120px
}
.article-back-v61 a{
  display:inline-block;
  margin-top:14px;
  color:var(--edu-dark);
  font-size:12px;
  font-weight:700
}
.article-lead-v61{
  margin:0 0 28px!important;
  color:var(--edu-dark)!important;
  font-family:"Jost",sans-serif!important;
  font-size:22px!important;
  line-height:1.55!important;
  font-weight:600
}
.article-main-image-v61{
  margin:0 0 32px;
  overflow:hidden;
  border-radius:8px
}
.article-main-image-v61 img{
  width:100%;
  max-height:520px;
  object-fit:cover
}
.article-body-v61{
  color:#505868;
  font:16px/1.9 "Roboto",sans-serif
}
.article-side-v61{
  position:sticky;
  top:120px
}
.article-related-list-v61{
  margin-top:8px;
  border-top:1px solid #dfe3eb
}
.article-related-list-v61 a{
  position:relative;
  display:block;
  padding:17px 26px 17px 0;
  border-bottom:1px solid #dfe3eb
}
.article-related-list-v61 span{
  display:block;
  color:#939aa8;
  font:9.5px "Roboto",sans-serif;
  text-transform:uppercase
}
.article-related-list-v61 strong{
  display:block;
  margin-top:7px;
  color:var(--edu-dark);
  font-size:13px;
  line-height:1.45
}
.article-related-list-v61 b{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:var(--edu-blue)
}

/* Responsive */
@media(min-width:575px){:root{--edu-px:24px}}
@media(min-width:850px){:root{--edu-px:36px}}
@media(min-width:992px){:root{--edu-px:48px}}
@media(min-width:1200px){:root{--edu-px:72px}}

@media(max-width:991px){
  .edu-home.edu-home-background{
    min-height:590px!important;
    height:590px!important
  }
  .edu-home-background-image{
    width:68%;
    right:-8%
  }
  .edu-home-overlay{
    background:linear-gradient(
      90deg,
      #fff 0%,
      rgba(255,255,255,.98) 45%,
      rgba(255,255,255,.80) 65%,
      rgba(255,255,255,.15) 100%
    )
  }
  .edu-home-background .edu-home-left{width:60%}
  .edu-home-background .edu-main-heading{font-size:46px!important}
  .formation-summary-grid-v61{grid-template-columns:repeat(2,1fr)}
  .formation-summary-item-v61:nth-child(2){border-right:0}
  .formation-summary-item-v61:nth-child(-n+2){border-bottom:1px solid #d9dde7}
  .formation-content-grid-v61{grid-template-columns:1fr}
  .formation-content-nav-v61{max-width:650px}
  .formation-actions-v61{position:static;grid-template-columns:1fr 1fr}
  .article-layout-v61{grid-template-columns:1fr}
  .article-back-v61,.article-side-v61{position:static}
  .article-back-v61{display:flex;align-items:center;justify-content:space-between}
  .article-related-list-v61{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:0}
  .article-related-list-v61 a{padding:16px;border:1px solid #dfe3eb;border-radius:8px}
}

@media(max-width:640px){
  .edu-home.edu-home-background{
    min-height:610px!important;
    height:610px!important
  }
  .edu-home-background-image{
    width:100%;
    right:0;
    opacity:.72
  }
  .edu-home-overlay{
    background:rgba(255,255,255,.83)
  }
  .edu-home-background .edu-home-left{
    width:100%;
    max-width:520px;
    justify-content:flex-end;
    padding:0 0 76px!important
  }
  .edu-home-background .edu-main-heading{
    max-width:500px;
    font-size:38px!important;
    line-height:1.08!important;
    margin-bottom:18px!important
  }
  .edu-home-background .edu-home-text{
    max-width:480px;
    font-size:13px;
    line-height:1.6;
    margin-bottom:20px!important
  }
  .edu-home-background .edu-home-btn-group{
    flex-wrap:nowrap;
    align-items:stretch
  }
  .edu-home-background .edu-btn{
    padding:15px 19px!important;
    font-size:11px!important
  }
  .edu-home-background .edu-hero-controls{
    bottom:16px!important
  }
  .edu-footer-grid{padding-top:175px!important}
  .edu-newsletter-form{max-width:100%}
  .formation-summary-grid-v61{grid-template-columns:1fr}
  .formation-summary-item-v61{
    min-height:88px;
    border-right:0!important;
    border-bottom:1px solid #d9dde7!important
  }
  .formation-summary-item-v61:last-child{border-bottom:0!important}
  .formation-actions-v61{grid-template-columns:1fr}
  .formation-related-grid-v61{grid-template-columns:1fr}
  .formation-related-head-v61{align-items:flex-start;flex-direction:column}
  .formation-related-head-v61 h2{font-size:30px}
  .article-meta-grid-v61{grid-template-columns:1fr}
  .article-meta-grid-v61>div{
    padding:13px 0;
    border-right:0;
    border-bottom:1px solid #d9dde7
  }
  .article-meta-grid-v61>div:last-child{border-bottom:0}
  .article-lead-v61{font-size:19px!important}
  .article-related-list-v61{grid-template-columns:1fr}
}

/* ==========================================================================
   ISIPA V6.2 — alignement, hero bleu, footer logo, Vie étudiante
   ========================================================================== */

/* Une seule ligne d'alignement horizontale pour toutes les pages intérieures */
.section-space{
  padding-top:var(--edu-py)!important;
  padding-bottom:var(--edu-py)!important;
  padding-left:0!important;
  padding-right:0!important
}
.site-main .max-w-container,
.page-hero-inner{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--edu-px)!important;
  padding-right:var(--edu-px)!important
}

/* Hero accueil : la zone gauche devient le bleu principal */
.edu-home-background .edu-home-overlay{
  background:linear-gradient(
    90deg,
    var(--edu-blue) 0%,
    var(--edu-blue) 43%,
    rgba(0,98,255,.97) 50%,
    rgba(0,98,255,.70) 62%,
    rgba(0,98,255,.20) 79%,
    rgba(0,98,255,.03) 100%
  )!important
}
.edu-home-background .edu-home-background-image{
  width:63%!important;
  right:0!important
}
.edu-home-background .edu-section-subtitle{
  color:#d7e6ff!important
}
.edu-home-background .edu-main-heading{
  max-width:560px!important;
  color:#fff!important;
  font-size:52px!important
}
.edu-home-background .edu-home-text{
  max-width:510px!important;
  color:rgba(255,255,255,.82)!important
}
.edu-home-background .edu-btn-primary{
  background:#fff!important;
  color:var(--edu-blue)!important
}
.edu-home-background .edu-btn-primary .edu-btn-square{
  background:var(--edu-dark)!important
}
.edu-home-background .edu-btn-secondary{
  background:var(--edu-dark)!important;
  color:#fff!important
}

/* Footer : logo toujours visible */
.edu-footer-logo{
  width:max-content
}
.edu-footer-logo-mark{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  flex:0 0 56px;
  padding:5px;
  border-radius:8px;
  background:#fff
}
.edu-footer-logo-mark img{
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
  visibility:visible!important
}

/* Vie étudiante */
.student-life-intro-v62{
  background:#fff
}
.student-life-intro-grid-v62{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.7fr);
  gap:clamp(3rem,7vw,7rem);
  align-items:end
}
.student-life-intro-grid-v62 h2{
  margin:0;
  max-width:780px;
  color:var(--edu-dark);
  font-size:clamp(2.5rem,4.2vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:800
}
.student-life-intro-grid-v62>p{
  margin:0;
  color:#697181;
  font:14px/1.8 "Roboto",sans-serif
}
.student-life-activities-v62{
  background:var(--edu-cultured)
}
.student-life-heading-v62{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:clamp(3rem,7vw,7rem);
  align-items:end;
  margin-bottom:38px
}
.student-life-heading-v62 h2{
  margin:0;
  max-width:800px;
  color:var(--edu-dark);
  font-size:clamp(2.4rem,4vw,4rem);
  line-height:1.03;
  letter-spacing:-.04em;
  font-weight:800
}
.student-life-heading-v62>p{
  margin:0;
  color:#6c7382;
  font:13px/1.8 "Roboto",sans-serif
}
.student-life-grid-v62{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px
}
.student-life-card-v62{
  overflow:hidden;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 42px rgba(5,14,56,.08);
  transition:transform .25s ease,box-shadow .25s ease
}
.student-life-card-v62:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 50px rgba(5,14,56,.13)
}
.student-life-card-media-v62{
  height:245px;
  overflow:hidden;
  background:#e7ebf3
}
.student-life-card-media-v62 img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease
}
.student-life-card-v62:hover img{
  transform:scale(1.035)
}
.student-life-card-body-v62{
  padding:24px
}
.student-life-card-meta-v62{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:15px
}
.student-life-card-meta-v62 span{
  color:#a0a7b5;
  font-size:10px;
  font-weight:800
}
.student-life-card-meta-v62 strong{
  color:var(--edu-blue);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em
}
.student-life-card-v62 h3{
  margin:0 0 12px;
  color:var(--edu-dark);
  font-size:21px;
  line-height:1.28;
  font-weight:750
}
.student-life-card-v62 p{
  margin:0;
  color:#697181;
  font:12.5px/1.75 "Roboto",sans-serif
}

/* Responsive */
@media(max-width:991px){
  .edu-home-background .edu-home-background-image{
    width:70%!important;
    right:-10%!important
  }
  .edu-home-background .edu-home-overlay{
    background:linear-gradient(
      90deg,
      var(--edu-blue) 0%,
      rgba(0,98,255,.98) 50%,
      rgba(0,98,255,.72) 69%,
      rgba(0,98,255,.18) 100%
    )!important
  }
  .edu-home-background .edu-main-heading{
    font-size:44px!important
  }
  .student-life-intro-grid-v62,
  .student-life-heading-v62{
    grid-template-columns:1fr;
    gap:1.8rem
  }
  .student-life-grid-v62{
    grid-template-columns:1fr 1fr
  }
  .student-life-card-v62:last-child{
    grid-column:1/-1
  }
}
@media(max-width:640px){
  .edu-home-background .edu-home-background-image{
    width:100%!important;
    right:0!important;
    opacity:1!important
  }
  .edu-home-background .edu-home-overlay{
    background:rgba(0,98,255,.84)!important
  }
  .edu-home-background .edu-main-heading{
    font-size:36px!important
  }
  .edu-home-background .edu-home-text{
    color:rgba(255,255,255,.88)!important
  }
  .student-life-grid-v62{
    grid-template-columns:1fr
  }
  .student-life-card-v62:last-child{
    grid-column:auto
  }
  .student-life-card-media-v62{
    height:220px
  }
}

/* ==========================================================================
   ISIPA V6.3 — titres réduits + héritage + Pourquoi ISIPA en fond plein
   ========================================================================== */

/* Titres principaux de sections : plus contenus */
.edu-section-title{
  font-size:clamp(2rem,3.2vw,2.85rem)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important
}
.edu-about .edu-section-title,
.edu-features .edu-section-title{
  max-width:620px;
  font-size:clamp(2.35rem,3.6vw,3.25rem)!important;
  line-height:1.08!important
}
.about-section-head h2,
.about-milestones-head h2,
.about-pdg-copy h2,
.about-heritage-copy h2,
.about-departments-head h2,
.student-life-intro-grid-v62 h2,
.student-life-heading-v62 h2,
.section-heading-v5 h2{
  font-size:clamp(2rem,3.3vw,3rem)!important;
  line-height:1.12!important
}

/* Pourquoi ISIPA : image de fond sur toute la section */
.edu-features.edu-features-background{
  position:relative;
  min-height:690px;
  display:block!important;
  padding:0!important;
  overflow:hidden;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important
}
.edu-features-background-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    90deg,
    rgba(5,14,56,.95) 0%,
    rgba(5,14,56,.91) 39%,
    rgba(5,14,56,.70) 60%,
    rgba(5,14,56,.33) 82%,
    rgba(5,14,56,.18) 100%
  )
}
.edu-features-background .edu-features-content{
  position:relative;
  z-index:2;
  width:min(690px,58%);
  min-height:690px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:var(--edu-py) var(--edu-px)!important
}
.edu-features-background .edu-section-subtitle{
  color:#a9c5ff!important
}
.edu-features-background .edu-section-title{
  margin-bottom:34px!important;
  color:#fff!important
}
.edu-features-background .edu-feature-item{
  max-width:620px;
  padding:15px 0;
  border-top:1px solid rgba(255,255,255,.12)
}
.edu-features-background .edu-feature-item:last-child{
  border-bottom:1px solid rgba(255,255,255,.12)
}
.edu-features-background .edu-feature-icon{
  background:var(--edu-blue)!important
}
.edu-features-background .edu-feature-item h3{
  font-size:20px!important
}
.edu-features-background .edu-feature-item p{
  max-width:520px
}

@media(max-width:991px){
  .edu-features.edu-features-background{
    min-height:640px
  }
  .edu-features-background .edu-features-content{
    width:72%;
    min-height:640px
  }
}
@media(max-width:640px){
  .edu-section-title{
    font-size:clamp(1.9rem,8vw,2.55rem)!important
  }
  .edu-about .edu-section-title,
  .edu-features .edu-section-title{
    font-size:clamp(2.15rem,9.5vw,2.85rem)!important
  }
  .edu-features.edu-features-background{
    min-height:700px;
    background-position:center center!important
  }
  .edu-features-background-shade{
    background:rgba(5,14,56,.86)
  }
  .edu-features-background .edu-features-content{
    width:100%;
    min-height:700px
  }
}

/* ==========================================================================
   ISIPA V6.4 — lisibilité, hero responsive et Organisation académique
   ========================================================================== */

/* Descriptions : taille plus confortable sur l'ensemble du site */
.edu-section-text{
  font-size:16px!important;
  line-height:1.75!important
}
.about-section-head > p,
.about-copy-block p,
.about-pdg-copy p,
.about-heritage-copy p,
.principle-grid p,
.leader-description,
.department-list p,
.partners-head-v5 > p,
.student-life-intro-grid-v62 > p,
.student-life-heading-v62 > p,
.student-life-card-v62 p,
.catalog-card-body-v5 > div,
.news-card-body-v5 > div,
.contact-lead-v5,
.contact-info-item-v5 strong,
.formation-content-nav-v61 > p:last-child,
.formation-action-card-v61 > p:not(.edu-section-subtitle),
.article-body-v61{
  font-size:14.5px!important;
  line-height:1.75!important
}
.edu-category-item small,
.edu-course-meta,
.edu-footer-text,
.edu-feature-item p,
.edu-testimonials-left .edu-section-text{
  font-size:14px!important
}
.about-copy-block h3,
.principle-grid h3,
.department-list h3{
  font-size:20px!important
}

/* Heritage : le nom devient le repère visuel, sans titre dupliqué */
.about-heritage-copy .section-label{
  font-size:15px!important;
  letter-spacing:.04em!important;
  color:#a9c5ff!important
}
.about-heritage-copy blockquote{
  margin-top:18px!important
}
.about-heritage-copy .heritage-second-line{
  margin-top:22px!important;
  color:#fff!important;
  font-family:"Jost",sans-serif!important;
  font-size:18px!important;
  line-height:1.5!important;
  font-weight:600!important
}

/* Organisation académique : même background que Pourquoi l'ISIPA */
.about-departments.about-departments-background{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important
}
.about-departments-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(
    90deg,
    rgba(5,14,56,.96) 0%,
    rgba(5,14,56,.90) 44%,
    rgba(0,98,255,.60) 100%
  )
}
.about-departments-background > .max-w-container{
  position:relative;
  z-index:2
}
.about-departments-background .department-list article{
  background:rgba(5,14,56,.40)!important;
  border-color:rgba(255,255,255,.18)!important
}
.about-departments-background .department-list h3{
  color:#fff!important
}
.about-departments-background .department-list p{
  color:rgba(255,255,255,.76)!important
}
.about-departments-background .department-list article > span{
  color:#a9c5ff!important
}

/* HERO desktop : gradient avec les deux bleus ISIPA */
.edu-home-background .edu-home-overlay{
  background:linear-gradient(
    90deg,
    #050e38 0%,
    #050e38 20%,
    #0062ff 45%,
    rgba(0,98,255,.88) 55%,
    rgba(0,98,255,.45) 70%,
    rgba(0,98,255,.10) 100%
  )!important
}
.edu-home-background .edu-home-left{
  width:min(590px,47%)!important
}
.edu-home-background .edu-main-heading{
  font-size:48px!important;
  line-height:1.05!important
}
.edu-home-background .edu-home-text{
  font-size:16px!important
}

/* Tablette */
@media(max-width:991px){
  .edu-home.edu-home-background{
    min-height:610px!important;
    height:610px!important
  }
  .edu-home-background .edu-home-overlay{
    background:linear-gradient(
      90deg,
      rgba(5,14,56,.98) 0%,
      rgba(5,14,56,.96) 28%,
      rgba(0,98,255,.88) 54%,
      rgba(0,98,255,.38) 82%,
      rgba(0,98,255,.12) 100%
    )!important
  }
  .edu-home-background .edu-home-left{
    width:62%!important
  }
  .edu-home-background .edu-main-heading{
    font-size:42px!important
  }
}

/* Mobile : composition plus propre, texte et CTA dans la zone basse */
@media(max-width:640px){
  .edu-home.edu-home-background{
    min-height:650px!important;
    height:650px!important;
    background:#050e38!important
  }
  .edu-home-background .edu-home-slide{
    padding:0!important
  }
  .edu-home-background .edu-home-background-image{
    top:0!important;
    right:0!important;
    width:100%!important;
    height:100%!important;
    object-position:center center!important;
    opacity:1!important
  }
  .edu-home-background .edu-home-overlay{
    background:linear-gradient(
      180deg,
      rgba(5,14,56,.14) 0%,
      rgba(5,14,56,.28) 35%,
      rgba(0,98,255,.72) 61%,
      rgba(5,14,56,.97) 100%
    )!important
  }
  .edu-home-background .edu-home-left{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    justify-content:flex-end!important;
    padding:0 18px 32px!important;
    box-sizing:border-box!important
  }
  .edu-home-background .edu-section-subtitle{
    margin:0 0 10px!important;
    color:#d9e7ff!important;
    font-size:10.5px!important;
    line-height:1.35!important;
    letter-spacing:.035em!important
  }
  .edu-home-background .edu-main-heading{
    max-width:330px!important;
    margin:0 0 12px!important;
    color:#fff!important;
    font-size:32px!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important
  }
  .edu-home-background .edu-home-text{
    max-width:345px!important;
    margin:0 0 18px!important;
    color:rgba(255,255,255,.84)!important;
    font-size:13px!important;
    line-height:1.55!important
  }
  .edu-home-background .edu-home-btn-group{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important
  }
  .edu-home-background .edu-btn{
    width:100%!important;
    min-height:48px!important;
    padding:0 16px!important;
    justify-content:center!important;
    border-radius:8px!important;
    font-size:11.5px!important;
    letter-spacing:.025em!important
  }
  .edu-home-background .edu-btn-square{
    display:none!important
  }
  .edu-home-background .edu-btn-primary{
    background:#fff!important;
    color:#050e38!important
  }
  .edu-home-background .edu-btn-secondary{
    border:1px solid rgba(255,255,255,.58)!important;
    background:rgba(5,14,56,.58)!important;
    color:#fff!important
  }
  .edu-home-background .edu-btn:hover{
    transform:none!important
  }
  .edu-home-background .edu-hero-controls{
    display:none!important
  }

  .about-heritage-copy .heritage-second-line{
    font-size:16px!important
  }
  .about-section-head > p,
  .about-copy-block p,
  .about-pdg-copy p,
  .principle-grid p,
  .department-list p,
  .student-life-card-v62 p{
    font-size:14px!important
  }
}


/* ==========================================================================
   ISIPA V6.5 — header moderne, hero modernisé, boutons repensés, images formations
   ========================================================================== */
:root{
  --edu-blue-2:#2a84ff;
  --edu-blue-soft:#8fc0ff;
}
body{background:#eef2f8!important}
.site-main{
  padding-top:118px!important;
  max-width:1480px!important;
  background:transparent!important;
}
.edu-page-shell,
.page-formations-v5,
.formation-detail-v61,
.page-actualites-v5,
.page-a-propos-v5,
.page-contact-v5,
.edu-student-life-v62{
  background:#fff;
  border-radius:28px 28px 0 0;
  overflow:hidden;
}

/* Buttons: modern pill system */
.edu-btn,
.btn-primary,
.btn-primary-light,
.hero-primary-action,
.header-cta,
.light-button{
  padding:12px 14px 12px 22px!important;
  min-height:54px!important;
  border-radius:999px!important;
  font-family:"Jost",sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  gap:14px!important;
  box-shadow:0 10px 30px rgba(5,14,56,.14)!important;
}
.edu-btn-primary,
.btn-primary,
.hero-primary-action,
.header-cta,
.light-button{
  background:linear-gradient(135deg,#0062ff 0%,#2a84ff 100%)!important;
  color:#fff!important;
}
.edu-btn-secondary,
.btn-primary-light{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
.catalog-filter-v5 .btn-primary{
  background:linear-gradient(135deg,#050e38 0%,#0e2d75 100%)!important;
}
.edu-btn-square{
  width:34px!important;
  height:34px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-shrink:0!important;
  transform:none!important;
}
.edu-btn-square::before{
  content:'→';
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:700;
}
.edu-btn-secondary .edu-btn-square{
  background:rgba(255,255,255,.12)!important;
}
.edu-btn-secondary .edu-btn-square::before{color:#fff}
.catalog-filter-v5 .btn-primary::after{content:'→';margin-left:10px}
.edu-btn:hover,.btn-primary:hover,.btn-primary-light:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 34px rgba(5,14,56,.18)!important;
}

/* Modern floating header */
.edu-site-header{
  position:fixed!important;
  top:18px!important;
  left:20px!important;
  right:20px!important;
  z-index:999!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(5,14,56,.06)!important;
  border-radius:22px!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  box-shadow:0 18px 50px rgba(5,14,56,.10)!important;
}
.edu-navbar{
  max-width:1380px!important;
  margin:0 auto!important;
  padding:16px 24px!important;
  min-height:78px!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}
.edu-navbar-brand{
  gap:12px!important;
  margin-right:auto!important;
}
.edu-navbar-brand img{
  width:46px!important;
  height:46px!important;
}
.edu-navbar-brand span{
  font-size:20px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
.edu-navbar-nav{
  gap:8px!important;
  background:rgba(5,14,56,.035)!important;
  border:1px solid rgba(5,14,56,.05)!important;
  border-radius:999px!important;
  padding:8px!important;
}
.edu-nav-item a{
  padding:11px 16px!important;
  border-radius:999px!important;
  font-weight:700!important;
  color:#233252!important;
  transition:all .22s ease!important;
}
.edu-nav-item a:hover,
.edu-nav-item a.is-active{
  background:#fff!important;
  color:#050e38!important;
  box-shadow:0 8px 22px rgba(5,14,56,.08)!important;
}
.edu-header-btn{
  padding-left:18px!important;
  min-height:52px!important;
}
.edu-nav-toggle{
  width:52px!important;
  height:52px!important;
  border-radius:16px!important;
  border:1px solid rgba(5,14,56,.08)!important;
  background:linear-gradient(135deg,#0062ff 0%,#2a84ff 100%)!important;
  box-shadow:0 12px 28px rgba(0,98,255,.24)!important;
}
.edu-nav-toggle span{background:#fff!important}

/* Modern home hero */
.edu-home.edu-home-background{
  min-height:760px!important;
  height:760px!important;
  background:#050e38!important;
}
.edu-home-background .edu-home-slide{
  padding:0!important;
}
.edu-home-background .edu-home-background-image{
  object-position:center center!important;
  transform:scale(1.02)!important;
}
.edu-home-background .edu-home-overlay{
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 26%),
    linear-gradient(120deg, rgba(5,14,56,.96) 0%, rgba(5,14,56,.92) 24%, rgba(0,98,255,.84) 58%, rgba(0,98,255,.20) 100%)!important;
}
.edu-home-background .edu-home-left{
  width:min(620px,48%)!important;
  margin-left:clamp(22px,3.5vw,54px)!important;
  padding:42px!important;
  border-radius:28px!important;
  background:linear-gradient(155deg, rgba(5,14,56,.55) 0%, rgba(0,98,255,.24) 100%)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 26px 60px rgba(5,14,56,.22)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.edu-home-background .edu-section-subtitle{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 16px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;
  color:#d7e7ff!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
}
.edu-home-background .edu-main-heading{
  margin:0 0 18px!important;
  font-size:56px!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
.edu-home-background .edu-home-text{
  margin:0 0 24px!important;
  max-width:520px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:17px!important;
  line-height:1.72!important;
}
.edu-home-background .edu-home-btn-group{
  justify-content:flex-start!important;
  gap:12px!important;
}
.edu-home-background .edu-btn-secondary{
  background:rgba(255,255,255,.10)!important;
}
.edu-home-background .edu-hero-controls{
  bottom:32px!important;
  right:32px!important;
  gap:10px!important;
}
.edu-home-background .edu-hero-controls button{
  width:52px!important;
  height:52px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.12)!important;
  backdrop-filter:blur(10px)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.edu-home-background .edu-hero-controls button:hover{background:rgba(255,255,255,.18)!important}

/* Formation catalogue cards modernized */
.catalog-card-v5{
  border-radius:20px!important;
  overflow:hidden!important;
  border:1px solid rgba(5,14,56,.06)!important;
  box-shadow:0 16px 40px rgba(5,14,56,.07)!important;
}
.catalog-card-media-v5{
  position:relative!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
}
.catalog-card-media-v5::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(5,14,56,0) 42%, rgba(5,14,56,.52) 100%);
  pointer-events:none;
}
.catalog-card-media-v5 img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .45s ease!important;
}
.catalog-card-v5:hover .catalog-card-media-v5 img{transform:scale(1.04)}
.catalog-level-v5{
  position:absolute!important;
  left:16px!important;
  top:16px!important;
  z-index:2!important;
  border:none!important;
  background:rgba(255,255,255,.9)!important;
  color:#050e38!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-weight:700!important;
  box-shadow:0 8px 18px rgba(5,14,56,.10)!important;
}

/* About: departments title must be white */
.about-departments-background .about-departments-head h2,
.about-departments-background .about-departments-head p,
.about-departments-background .department-list h3{
  color:#fff!important;
}
.about-departments-background .about-departments-head h2{
  max-width:720px!important;
}
.about-departments-background .about-departments-head > p:last-child,
.about-departments-background .department-list p{
  color:rgba(255,255,255,.78)!important;
}

/* Footer logo: remove white card */
.edu-footer-logo{
  align-items:center!important;
  gap:12px!important;
}
.edu-footer-logo-mark{
  width:auto!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.edu-footer-logo-mark img{
  width:44px!important;
  height:44px!important;
  object-fit:contain!important;
}
.edu-footer-logo strong{
  font-size:22px!important;
  letter-spacing:-.02em!important;
}

/* Mobile refinements */
@media(max-width:1199px){
  .edu-site-header{left:14px!important;right:14px!important;top:14px!important}
  .site-main{padding-top:106px!important}
  .edu-navbar{padding:14px 16px!important;min-height:72px!important}
  .edu-home.edu-home-background{min-height:700px!important;height:700px!important}
  .edu-home-background .edu-home-left{width:56%!important;padding:34px!important;margin-left:22px!important}
  .edu-home-background .edu-main-heading{font-size:48px!important}
}
@media(max-width:991px){
  .edu-navbar-nav{
    position:absolute!important;
    top:calc(100% + 12px)!important;
    left:0!important;
    right:0!important;
    margin:0 4px!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    padding:14px!important;
    background:rgba(255,255,255,.96)!important;
    border-radius:22px!important;
    box-shadow:0 24px 60px rgba(5,14,56,.16)!important;
    backdrop-filter:blur(18px)!important;
  }
  .edu-navbar-nav.active{display:flex!important}
  .edu-nav-item a{display:block!important;padding:14px 16px!important}
  .edu-header-btn{display:none!important}
  .edu-home.edu-home-background{min-height:660px!important;height:660px!important}
  .edu-home-background .edu-home-left{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin:0 16px 24px!important;
    padding:28px!important;
    align-self:end!important;
  }
  .edu-home-background .edu-main-heading{font-size:40px!important}
  .edu-home-background .edu-home-text{font-size:15px!important;max-width:none!important}
}
@media(max-width:640px){
  .site-main{padding-top:94px!important}
  .edu-page-shell,.page-formations-v5,.formation-detail-v61,.page-actualites-v5,.page-a-propos-v5,.page-contact-v5,.edu-student-life-v62{border-radius:22px 22px 0 0}
  .edu-site-header{left:10px!important;right:10px!important;top:10px!important;border-radius:18px!important}
  .edu-navbar{padding:12px 14px!important;min-height:64px!important}
  .edu-navbar-brand img{width:38px!important;height:38px!important}
  .edu-navbar-brand span{font-size:18px!important}
  .edu-nav-toggle{width:46px!important;height:46px!important;border-radius:14px!important}
  .edu-home.edu-home-background{min-height:650px!important;height:650px!important}
  .edu-home-background .edu-home-overlay{
    background:
      radial-gradient(circle at 50% 0%, rgba(255,255,255,.08) 0, rgba(255,255,255,0) 24%),
      linear-gradient(180deg, rgba(5,14,56,.10) 0%, rgba(5,14,56,.28) 32%, rgba(0,98,255,.64) 62%, rgba(5,14,56,.95) 100%)!important;
  }
  .edu-home-background .edu-home-left{
    width:calc(100% - 24px)!important;
    margin:0 12px 16px!important;
    padding:22px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg, rgba(5,14,56,.48) 0%, rgba(5,14,56,.72) 100%)!important;
  }
  .edu-home-background .edu-section-subtitle{font-size:10.5px!important;padding:7px 12px!important}
  .edu-home-background .edu-main-heading{font-size:32px!important;margin-bottom:12px!important}
  .edu-home-background .edu-home-text{font-size:13px!important;line-height:1.6!important;margin-bottom:18px!important}
  .edu-home-background .edu-home-btn-group{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .edu-home-background .edu-btn{width:100%!important;min-height:48px!important;padding:10px 12px 10px 18px!important;font-size:14px!important}
  .edu-home-background .edu-btn-square{width:30px!important;height:30px!important}
  .edu-home-background .edu-hero-controls{display:none!important}
}

/* ==========================================================================
   ISIPA V6.6 — Header & Hero inspirés des grandes universités
   Références de logique : Stanford / Harvard / MIT / Oxford
   ========================================================================== */

body{
  background:#fff!important;
}
.site-main{
  max-width:none!important;
  margin:0!important;
  padding-top:116px!important;
  background:#fff!important;
  overflow:visible!important;
}
.edu-page-shell,
.page-formations-v5,
.formation-detail-v61,
.page-actualites-v5,
.page-a-propos-v5,
.page-contact-v5,
.edu-student-life-v62{
  border-radius:0!important;
}

/* ---------- Header universitaire ---------- */
.univ-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1200;
  width:100%;
  background:#fff;
  box-shadow:0 1px 0 rgba(5,14,56,.08);
}
.univ-header-inner{
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding-left:var(--edu-px);
  padding-right:var(--edu-px);
}
.univ-utility-bar{
  height:32px;
  background:#050e38;
  color:#fff;
}
.univ-utility-inner{
  height:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.univ-utility-inner p{
  margin:0;
  color:rgba(255,255,255,.72);
  font:500 10.5px/1 "Roboto",sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.univ-utility-inner nav{
  display:flex;
  align-items:center;
  gap:22px;
}
.univ-utility-inner nav a{
  color:rgba(255,255,255,.76);
  font:500 10.5px/1 "Roboto",sans-serif;
  transition:color .18s ease;
}
.univ-utility-inner nav a:hover{color:#fff}

.univ-mainbar{
  height:84px;
  background:#fff;
}
.univ-mainbar-inner{
  height:84px;
  display:flex;
  align-items:center;
  gap:28px;
}
.univ-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:245px;
  color:#050e38;
}
.univ-brand img{
  width:46px;
  height:52px;
  object-fit:contain;
}
.univ-brand span{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.univ-brand strong{
  color:#050e38;
  font-size:23px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.03em;
}
.univ-brand small{
  max-width:205px;
  color:#7a8190;
  font:500 8.5px/1.25 "Roboto",sans-serif;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.univ-primary-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:2px;
}
.univ-primary-nav a{
  position:relative;
  padding:32px 11px 29px;
  color:#2e3445;
  font-size:12.5px;
  line-height:1;
  font-weight:650;
  transition:color .18s ease;
}
.univ-primary-nav a::after{
  content:'';
  position:absolute;
  left:11px;
  right:11px;
  bottom:19px;
  height:2px;
  transform:scaleX(0);
  transform-origin:left;
  background:#0062ff;
  transition:transform .2s ease;
}
.univ-primary-nav a:hover,
.univ-primary-nav a.is-active{color:#0062ff}
.univ-primary-nav a:hover::after,
.univ-primary-nav a.is-active::after{transform:scaleX(1)}

.univ-header-apply{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:0 9px 0 17px;
  border-radius:8px;
  background:#0062ff;
  color:#fff;
  font-size:12px;
  font-weight:700;
  transition:background .18s ease, transform .18s ease;
}
.univ-header-apply b{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:#fff;
  color:#050e38;
  font-size:13px;
}
.univ-header-apply:hover{
  background:#050e38;
  transform:translateY(-1px);
}
.univ-menu-toggle{
  display:none;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  background:#050e38;
  border-radius:8px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}
.univ-menu-toggle span{
  width:21px;
  height:2px;
  background:#fff;
  transition:transform .18s ease, opacity .18s ease;
}
.univ-menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.univ-menu-toggle.active span:nth-child(2){opacity:0}
.univ-menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero universitaire ---------- */
.univ-hero{
  position:relative;
  width:100%;
  min-height:650px;
  height:min(780px, calc(100svh - 116px));
  overflow:hidden;
  background:#050e38;
}
.univ-hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transition:opacity .55s ease;
}
.univ-hero-slide.active{
  opacity:1;
  pointer-events:auto;
}
.univ-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
}
.univ-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(5,14,56,.92) 0%, rgba(5,14,56,.82) 34%, rgba(5,14,56,.50) 56%, rgba(5,14,56,.10) 82%),
    linear-gradient(180deg, rgba(5,14,56,.06) 0%, rgba(5,14,56,.12) 60%, rgba(5,14,56,.50) 100%);
}
.univ-hero-inner{
  position:relative;
  z-index:3;
  width:100%;
  max-width:1440px;
  height:100%;
  margin:0 auto;
  padding:0 var(--edu-px) 154px;
  display:flex;
  align-items:flex-end;
}
.univ-hero-copy{
  max-width:760px;
  padding-bottom:34px;
}
.univ-hero-kicker{
  margin:0 0 15px;
  color:#b8d0ff;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.univ-hero-kicker::before{
  content:'';
  display:inline-block;
  width:34px;
  height:2px;
  margin-right:11px;
  vertical-align:middle;
  background:#2a84ff;
}
.univ-hero-copy h1{
  margin:0;
  max-width:740px;
  color:#fff;
  font-family:"Jost",sans-serif;
  font-size:clamp(3.1rem,5vw,4.8rem);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:800;
}
.univ-hero-lead{
  max-width:660px;
  margin:20px 0 0;
  color:rgba(255,255,255,.82);
  font:400 15px/1.72 "Roboto",sans-serif;
}
.univ-hero-actions{
  margin-top:28px;
  display:flex;
  align-items:center;
  gap:24px;
}
.univ-hero-primary{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:0 10px 0 18px;
  border-radius:7px;
  background:#fff;
  color:#050e38;
  font-size:12.5px;
  font-weight:750;
  transition:transform .18s ease, background .18s ease;
}
.univ-hero-primary span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:5px;
  background:#0062ff;
  color:#fff;
}
.univ-hero-primary:hover{
  transform:translateY(-2px);
  background:#f5f7fb;
}
.univ-hero-secondary{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:50px;
  color:#fff;
  font-size:12.5px;
  font-weight:700;
  border-bottom:1px solid rgba(255,255,255,.45);
}
.univ-hero-secondary span{transition:transform .18s ease}
.univ-hero-secondary:hover span{transform:translateX(3px)}

.univ-hero-bottom{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:100%;
  max-width:1440px;
  padding:0 var(--edu-px) 18px;
}
.univ-hero-quicklinks{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:rgba(5,14,56,.93);
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.univ-hero-quicklink{
  min-height:112px;
  display:grid;
  grid-template-columns:30px 1fr auto;
  align-items:center;
  gap:15px;
  padding:20px 24px;
  color:#fff;
  border-right:1px solid rgba(255,255,255,.13);
  transition:background .18s ease;
}
.univ-hero-quicklink:last-child{border-right:0}
.univ-hero-quicklink:hover{background:#0062ff}
.univ-hero-quick-index{
  color:#86b4ff;
  font-size:10px;
  font-weight:800;
}
.univ-hero-quick-copy strong{
  display:block;
  color:#fff;
  font-size:14px;
  line-height:1.2;
  font-weight:750;
}
.univ-hero-quick-copy small{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.62);
  font:400 10.5px/1.4 "Roboto",sans-serif;
}
.univ-hero-quicklink:hover .univ-hero-quick-copy small,
.univ-hero-quicklink:hover .univ-hero-quick-index{color:#fff}
.univ-hero-quicklink b{
  color:#fff;
  font-size:16px;
  font-weight:500;
}
.univ-hero-controls{
  position:absolute;
  right:var(--edu-px);
  bottom:144px;
  display:flex;
  gap:7px;
}
.univ-hero-controls button{
  width:43px;
  height:43px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:6px;
  background:rgba(5,14,56,.68);
  color:#fff;
  cursor:pointer;
  transition:background .18s ease, color .18s ease;
}
.univ-hero-controls button:hover{
  background:#fff;
  color:#050e38;
}

@media(max-width:1180px){
  .univ-brand small{display:none}
  .univ-brand{min-width:145px}
  .univ-mainbar-inner{gap:18px}
  .univ-primary-nav a{padding-left:8px;padding-right:8px;font-size:12px}
}

@media(max-width:991px){
  .site-main{padding-top:74px!important}
  .univ-utility-bar{display:none}
  .univ-mainbar,.univ-mainbar-inner{height:74px}
  .univ-header-inner{padding-left:18px;padding-right:18px}
  .univ-brand img{width:40px;height:45px}
  .univ-brand strong{font-size:21px}
  .univ-header-apply{display:none}
  .univ-menu-toggle{display:flex;margin-left:auto}
  .univ-primary-nav{
    position:absolute;
    top:74px;
    left:0;
    right:0;
    margin:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px 18px 18px;
    background:#fff;
    border-top:1px solid #edf0f5;
    box-shadow:0 22px 40px rgba(5,14,56,.10);
  }
  .univ-primary-nav.active{display:flex}
  .univ-primary-nav a{
    padding:16px 2px;
    border-bottom:1px solid #edf0f5;
    font-size:14px;
  }
  .univ-primary-nav a::after{display:none}

  .univ-hero{
    min-height:640px;
    height:calc(100svh - 74px);
    max-height:760px;
  }
  .univ-hero-inner{
    padding-left:24px;
    padding-right:24px;
    padding-bottom:142px;
  }
  .univ-hero-copy{max-width:640px;padding-bottom:28px}
  .univ-hero-copy h1{font-size:clamp(2.8rem,7vw,4rem)}
  .univ-hero-lead{max-width:580px;font-size:14px}
  .univ-hero-bottom{padding:0 24px 14px}
  .univ-hero-quicklink{padding:17px 18px;min-height:98px}
  .univ-hero-controls{right:24px;bottom:125px}
}

@media(max-width:640px){
  .univ-header-inner{padding-left:14px;padding-right:14px}
  .univ-brand span small{display:none}
  .univ-brand strong{font-size:19px}
  .univ-brand img{width:37px;height:42px}
  .univ-menu-toggle{width:44px;height:44px;border-radius:7px}

  .univ-hero{
    min-height:650px;
    height:650px;
  }
  .univ-hero-image{object-position:center center}
  .univ-hero-shade{
    background:linear-gradient(180deg, rgba(5,14,56,.10) 0%, rgba(5,14,56,.30) 34%, rgba(5,14,56,.80) 68%, rgba(5,14,56,.97) 100%);
  }
  .univ-hero-inner{
    padding:0 18px 126px;
    align-items:flex-end;
  }
  .univ-hero-copy{
    max-width:none;
    width:100%;
    padding-bottom:20px;
  }
  .univ-hero-kicker{margin-bottom:10px;font-size:10px;letter-spacing:.08em}
  .univ-hero-kicker::before{width:24px;margin-right:8px}
  .univ-hero-copy h1{
    max-width:350px;
    font-size:35px;
    line-height:1.04;
  }
  .univ-hero-lead{
    max-width:350px;
    margin-top:12px;
    font-size:13px;
    line-height:1.55;
  }
  .univ-hero-actions{
    margin-top:18px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .univ-hero-primary{
    min-height:47px;
    width:100%;
    justify-content:space-between;
    padding-left:16px;
    font-size:12px;
  }
  .univ-hero-secondary{
    min-height:42px;
    width:max-content;
    font-size:12px;
  }
  .univ-hero-bottom{
    padding:0 0 10px;
  }
  .univ-hero-quicklinks{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    background:rgba(5,14,56,.96);
  }
  .univ-hero-quicklinks::-webkit-scrollbar{display:none}
  .univ-hero-quicklink{
    min-width:78vw;
    min-height:92px;
    scroll-snap-align:start;
    border-right:1px solid rgba(255,255,255,.13);
    padding:15px 18px;
  }
  .univ-hero-controls{display:none}
}

/* ==========================================================================
   ISIPA V6.7 — badge formation + coordonnées header
   ========================================================================== */
.univ-utility-contact{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.univ-utility-contact a{
  position:relative;
  color:rgba(255,255,255,.82);
  font:500 10.5px/1 "Roboto",sans-serif;
  letter-spacing:.015em;
  white-space:nowrap;
}
.univ-utility-contact a + a::before{
  content:'';
  position:absolute;
  left:-10px;
  top:50%;
  width:2px;
  height:2px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
  transform:translateY(-50%);
}
.univ-utility-contact a:hover{color:#fff}

.catalog-card-media-v5 .catalog-level-v5{
  position:absolute!important;
  top:14px!important;
  left:14px!important;
  right:auto!important;
  bottom:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 11px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.66)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:#050e38!important;
  box-shadow:0 8px 22px rgba(5,14,56,.13)!important;
  font:800 10px/1 "Jost",sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  writing-mode:horizontal-tb!important;
  white-space:nowrap!important;
  transform:none!important;
  overflow:visible!important;
  z-index:4!important;
}
@media(max-width:640px){
  .catalog-card-media-v5 .catalog-level-v5{
    top:12px!important;
    left:12px!important;
    padding:6px 10px!important;
    font-size:9.5px!important;
  }
}


/* ==========================================================================
   ISIPA V6.8 — brand/header mobile, CTA accueil, favicon
   ========================================================================== */

/* Brand: only ISIPA, primary blue */
.univ-brand{
  min-width:auto!important;
  gap:12px!important;
}
.univ-brand span{
  display:flex!important;
  align-items:center!important;
}
.univ-brand strong{
  color:#0062ff!important;
  font-size:27px!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
}
.univ-brand small{display:none!important}

/* Restore the hamburger language from the supplied template */
.univ-template-toggle{
  width:50px!important;
  height:50px!important;
  border:0!important;
  border-radius:8px!important;
  display:none!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px!important;
  padding:0!important;
  background:#0062ff!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.univ-template-toggle span{
  width:29px!important;
  height:2px!important;
  display:block!important;
  background:#fff!important;
  border-radius:2px!important;
  transition:.25s ease!important;
}
.univ-template-toggle.active .one{
  transform:rotate(45deg) translate(3px,3px)!important;
}
.univ-template-toggle.active .two{display:none!important}
.univ-template-toggle.active .three{
  transform:rotate(-45deg) translate(3px,-3px)!important;
}

/* Home CTAs: cleaner than the oversized pill buttons */
.edu-about .edu-btn-primary,
.edu-course .edu-course-all{
  min-height:50px!important;
  width:max-content!important;
  padding:7px 8px 7px 18px!important;
  border-radius:10px!important;
  gap:14px!important;
  background:#0062ff!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(0,98,255,.18)!important;
  font-family:"Jost",sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease!important;
}
.edu-about .edu-btn-primary .edu-btn-square,
.edu-course .edu-course-all .edu-btn-square{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  transform:none!important;
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  background:#050e38!important;
  overflow:hidden!important;
}
.edu-about .edu-btn-primary .edu-btn-square::before,
.edu-course .edu-course-all .edu-btn-square::before{
  content:'→'!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
}
.edu-about .edu-btn-primary:hover,
.edu-course .edu-course-all:hover{
  transform:translateY(-2px)!important;
  background:#0b6cff!important;
  box-shadow:0 16px 32px rgba(0,98,255,.24)!important;
}
.edu-about .edu-btn-primary:hover .edu-btn-square,
.edu-course .edu-course-all:hover .edu-btn-square{
  width:36px!important;
  height:36px!important;
  right:auto!important;
  background:#050e38!important;
}

@media(max-width:991px){
  .univ-template-toggle{display:flex!important;margin-left:auto!important}
  .univ-brand strong{font-size:23px!important}
}
@media(max-width:640px){
  .univ-template-toggle{
    width:46px!important;
    height:46px!important;
    border-radius:8px!important;
  }
  .univ-template-toggle span{width:27px!important}
  .univ-brand strong{font-size:21px!important}
  .edu-about .edu-btn-primary,
  .edu-course .edu-course-all{
    min-height:48px!important;
    padding:6px 7px 6px 16px!important;
    font-size:13.5px!important;
  }
}

/* =========================================================
   V6.9 — Articles historiques importés depuis WordPress
   ========================================================= */
.article-rich-content{
  color:#3f4655;
  font-size:16px;
  line-height:1.85;
  overflow-wrap:anywhere;
}
.article-rich-content p{margin:0 0 1.35rem}
.article-rich-content h2,
.article-rich-content h3,
.article-rich-content h4,
.article-rich-content h5{
  color:#050e38;
  font-weight:700;
  line-height:1.25;
}
.article-rich-content h2{margin:2.4rem 0 1rem;font-size:clamp(1.65rem,2.5vw,2rem)}
.article-rich-content h3{margin:2rem 0 .85rem;font-size:clamp(1.35rem,2vw,1.55rem)}
.article-rich-content h4,
.article-rich-content h5{margin:1.6rem 0 .75rem;font-size:1.12rem}
.article-rich-content ul,
.article-rich-content ol{margin:1.2rem 0 1.5rem;padding-left:1.5rem}
.article-rich-content li{margin-bottom:.55rem}
.article-rich-content img{
  display:block;
  max-width:100%;
  width:auto;
  height:auto;
  margin:2rem auto;
  border-radius:8px;
}
.article-rich-content figure{margin:2rem 0}
.article-rich-content figure img{width:100%;margin:0}
.article-rich-content figcaption{margin-top:.6rem;color:#747b89;font-size:13px;line-height:1.5}
.article-rich-content blockquote{
  margin:2rem 0;
  padding:1.25rem 1.5rem;
  border-left:4px solid #0062ff;
  background:#f2f3f7;
  color:#050e38;
}
.article-rich-content a{color:#0062ff;text-decoration:underline;text-underline-offset:2px}
.article-rich-content hr{margin:2.2rem 0;border:0;border-top:1px solid #e2e6ef}
.article-rich-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;display:block;overflow-x:auto}
.article-rich-content th,
.article-rich-content td{padding:.75rem;border:1px solid #dfe4ee;text-align:left;vertical-align:top}
@media(max-width:640px){
  .article-rich-content{font-size:15.5px;line-height:1.78}
  .article-rich-content img{margin:1.5rem auto}
}

/* =========================================================
   ISIPA V7.0 — Montserrat, boutons unifiés, partenaires
   ========================================================= */
:root{
  --isipa-font:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
html,body,
button,input,textarea,select,
.edu-section-text,
.edu-btn,.btn-primary,.btn-primary-light,
.univ-header,.page-hero-editorial{
  font-family:var(--isipa-font)!important;
}
h1,h2,h3,h4,h5,h6,
.edu-section-title,.edu-card-title,
.univ-brand,.univ-primary-nav,
.section-label,.tech-kicker{
  font-family:var(--isipa-font)!important;
}

/* One button language across the public site. The dark plate grows on hover,
   while the arrow remains optically centred in its own control. */
.isipa-btn,
.edu-btn.isipa-btn,
.edu-btn.edu-btn-primary,
.edu-btn.edu-btn-secondary{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  min-height:52px!important;
  width:max-content!important;
  padding:7px 8px 7px 20px!important;
  border:0!important;
  border-radius:9px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  font-family:var(--isipa-font)!important;
  font-size:14px!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.edu-btn.edu-btn-primary,
.isipa-btn.edu-btn-primary{
  background:var(--edu-blue)!important;
  color:#fff!important;
}
.edu-btn.edu-btn-secondary,
.isipa-btn.edu-btn-secondary{
  background:#fff!important;
  color:var(--edu-dark)!important;
  border:1px solid rgba(255,255,255,.42)!important;
}
.isipa-btn::before,
.edu-btn.edu-btn-primary::before,
.edu-btn.edu-btn-secondary::before{
  content:''!important;
  position:absolute!important;
  z-index:1!important;
  top:50%!important;
  right:8px!important;
  width:36px!important;
  height:36px!important;
  transform:translateY(-50%)!important;
  border-radius:7px!important;
  background:var(--edu-dark)!important;
  transition:right .28s ease,width .28s ease,height .28s ease,border-radius .28s ease!important;
  pointer-events:none!important;
}
.edu-btn.edu-btn-secondary::before,
.isipa-btn.edu-btn-secondary::before{background:var(--edu-blue)!important}
.isipa-btn:hover::before,
.edu-btn.edu-btn-primary:hover::before,
.edu-btn.edu-btn-secondary:hover::before{
  right:-2px!important;
  width:calc(100% + 4px)!important;
  height:calc(100% + 4px)!important;
  border-radius:9px!important;
}
.isipa-btn:hover,
.edu-btn.edu-btn-primary:hover,
.edu-btn.edu-btn-secondary:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 24px rgba(5,14,56,.15)!important;
}
.isipa-btn .edu-btn-text,
.edu-btn .edu-btn-text{
  position:relative!important;
  z-index:3!important;
  white-space:nowrap;
}
.isipa-btn .edu-btn-square,
.edu-btn .edu-btn-square{
  position:relative!important;
  z-index:4!important;
  top:auto!important;
  right:auto!important;
  transform:none!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:7px!important;
  background:transparent!important;
  overflow:visible!important;
  transition:none!important;
}
.isipa-btn .edu-btn-square::before,
.edu-btn .edu-btn-square::before{
  content:'↗'!important;
  display:block!important;
  color:#fff!important;
  font-family:Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:700!important;
  transform:translateY(-.5px)!important;
}
.edu-btn.edu-btn-secondary .edu-btn-square::before{color:#fff!important}

/* Header CTA follows the same system without changing the mobile nav logic. */
.univ-header-apply.edu-btn{
  min-height:46px!important;
  padding:5px 7px 5px 17px!important;
  gap:12px!important;
}
.univ-header-apply.edu-btn::before{width:32px!important;height:32px!important;right:7px!important}
.univ-header-apply.edu-btn .edu-btn-square{width:32px!important;height:32px!important;flex-basis:32px!important}
.univ-header-apply.edu-btn:hover::before{width:calc(100% + 4px)!important;height:calc(100% + 4px)!important;right:-2px!important}

/* Hero actions: same button construction, contrast variants only. */
.univ-hero-actions .edu-btn{margin:0!important}
.univ-hero-primary.edu-btn{background:#0062ff!important;color:#fff!important}
.univ-hero-secondary.edu-btn{background:#fff!important;color:#050e38!important;border:0!important}
.univ-hero-secondary.edu-btn::before{background:#0062ff!important}

/* Partner component — exactly the same card wherever a partner is referenced. */
.isipa-partner-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.isipa-partner-card{
  min-width:0;
  min-height:124px;
  padding:20px 16px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:#fff;
  border:1px solid #e5e9f1;
  border-radius:8px;
  color:#050e38;
  text-decoration:none;
  box-shadow:none;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.isipa-partner-card:hover{
  border-color:#b8cdfb;
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(5,14,56,.08);
}
.isipa-partner-logo{
  min-height:52px;
  width:100%;
  display:grid;
  place-items:center;
}
.isipa-partner-logo img{
  display:block;
  width:auto;
  max-width:132px;
  max-height:48px;
  object-fit:contain;
  filter:none!important;
  opacity:1!important;
}
.isipa-partner-logo strong{
  max-width:150px;
  text-align:center;
  font-size:15px;
  line-height:1.25;
}
.isipa-partner-name{
  color:#687083;
  font-size:11px;
  line-height:1.35;
  font-weight:650;
  text-align:center;
}
.edu-partners{padding-bottom:90px!important}
.edu-partners .isipa-partner-grid{max-width:1180px;margin-left:auto;margin-right:auto}
.edu-partners-more,.about-partners-more{display:flex;justify-content:center;margin-top:26px}

/* Partners page */
.page-partners-v70,.page-certifications-v70{background:#fff}
.partner-page-intro-grid-v70,
.certification-intro-grid-v70{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:72px;
  align-items:start;
}
.partner-page-intro-grid-v70 h2,
.certification-intro-grid-v70 h2{
  margin:8px 0 0;
  color:#050e38;
  font-size:clamp(30px,3.7vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:800;
}
.partner-page-intro-grid-v70>p,
.certification-intro-grid-v70>p{
  margin:30px 0 0;
  color:#667085;
  font-size:15px;
  line-height:1.85;
}
.partner-page-grid-section-v70{background:#f6f8fb}
.isipa-partner-grid-page{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:34px}
.partner-empty-v70{padding:28px 0;color:#697386}
.partner-page-cta-v70{background:#050e38;padding:58px 0}
.partner-page-cta-inner-v70{display:flex;align-items:center;justify-content:space-between;gap:40px}
.partner-page-cta-inner-v70 h2{margin:7px 0 0;color:#fff;font-size:clamp(28px,3vw,42px);line-height:1.12;font-weight:800;max-width:760px}

/* Certifications page */
.certification-offers-v70{padding:0 0 88px;background:#fff}
.certification-grid-v70{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.certification-card-v70{position:relative;min-height:430px;padding:42px;border:1px solid #e2e7ef;border-radius:10px;background:#f6f8fb;overflow:hidden}
.certification-card-dark-v70{background:#050e38;color:#fff;border-color:#050e38}
.certification-brand-v70{display:inline-flex;min-height:38px;align-items:center;padding:0 13px;margin-bottom:54px;background:#fff;border:1px solid #e1e6ef;border-radius:6px;color:#050e38;font-size:12px;font-weight:800;letter-spacing:.08em}
.certification-card-dark-v70 .certification-brand-v70{background:#fff;color:#050e38;border-color:#fff}
.certification-card-v70 h2{margin:10px 0 16px;color:#050e38;font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.03em;font-weight:800;max-width:610px}
.certification-card-dark-v70 h2{color:#fff}
.certification-card-v70>p:not(.section-label){margin:0;color:#626b7c;font-size:15px;line-height:1.78;max-width:610px}
.certification-card-dark-v70>p:not(.section-label){color:rgba(255,255,255,.72)}
.certification-note-v70{margin-top:30px;padding-top:18px;border-top:1px solid #dce2ec;color:#667085;font-size:12px;line-height:1.65;font-weight:600}
.certification-card-dark-v70 .certification-note-v70{border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.58)}
.certification-process-v70 .edu-btn{margin-top:28px}

@media(max-width:1100px){
  .isipa-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .isipa-partner-grid-page{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .partner-page-intro-grid-v70,.certification-intro-grid-v70{grid-template-columns:1fr;gap:18px}
  .partner-page-intro-grid-v70>p,.certification-intro-grid-v70>p{margin-top:0}
  .certification-grid-v70{grid-template-columns:1fr}
  .partner-page-cta-inner-v70{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .isipa-partner-grid,.isipa-partner-grid-page{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .isipa-partner-card{min-height:110px;padding:16px 10px 12px}
  .isipa-partner-logo img{max-width:104px;max-height:42px}
  .certification-card-v70{min-height:0;padding:28px 22px}
  .certification-brand-v70{margin-bottom:34px}
  .isipa-btn,.edu-btn.isipa-btn,.edu-btn.edu-btn-primary,.edu-btn.edu-btn-secondary{max-width:100%;min-height:50px!important;padding-left:16px!important;gap:12px!important;font-size:13.5px!important}
}
body *:not(ion-icon){font-family:var(--isipa-font)!important}
.edu-btn.isipa-btn .edu-btn-square{
  position:relative!important;top:auto!important;right:auto!important;transform:none!important;
  width:36px!important;height:36px!important;flex:0 0 36px!important;
  border-radius:7px!important;background:transparent!important;transition:none!important;
}
.edu-btn.isipa-btn:hover .edu-btn-square{width:36px!important;height:36px!important;right:auto!important;background:transparent!important}
.edu-btn.edu-btn-secondary:hover{color:#fff!important}


/* =========================================================
   V7.1 — réparation visuelle : médias + boutons
   ========================================================= */
.catalog-card-media-v5,
.news-card-media-v5,
.edu-course-banner,
.edu-event-image{
  position:relative;
  overflow:hidden;
}
.catalog-card-placeholder-v5,
.news-card-placeholder-v5,
.edu-course-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:6px;
  padding:18px;
  background:linear-gradient(145deg,#0a1a4b 0%,#0062ff 100%);
  color:#fff;
}
.catalog-card-placeholder-v5 span,
.news-card-placeholder-v5 span,
.edu-course-placeholder{
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.catalog-card-placeholder-v5 strong,
.news-card-placeholder-v5 strong{
  font-size:22px;
  line-height:1.1;
  max-width:14ch;
}
.news-card-placeholder-v5.is-featured{
  align-items:flex-start;
  justify-content:flex-end;
  min-height:100%;
}
.catalog-card-media-v5 img,
.news-card-media-v5 img,
.edu-course-banner img,
.edu-event-image img{position:relative;z-index:2}
.catalog-card-media-v5.media-fallback-active img,
.news-card-media-v5.media-fallback-active img,
.edu-course-banner.media-fallback-active img,
.edu-event-image.media-fallback-active img{display:none!important}
.catalog-card-media-v5.media-fallback-active .catalog-card-placeholder-v5,
.news-card-media-v5.media-fallback-active .news-card-placeholder-v5,
.edu-course-banner.media-fallback-active .edu-course-placeholder,
.edu-event-image.media-fallback-active .news-card-placeholder-v5{display:flex!important}
.catalog-card-media-v5.has-image .catalog-card-placeholder-v5,
.news-card-media-v5.has-image .news-card-placeholder-v5,
.edu-course-banner.has-image .edu-course-placeholder,
.edu-event-image.has-image .news-card-placeholder-v5{display:none}

.news-card-body-v5>span,
.catalog-card-body-v5>span,
.edu-course-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
.news-card-body-v5>span b,
.catalog-card-body-v5>span b,
.edu-course-link span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:2px!important;
}

.edu-course{display:flex;flex-direction:column}
.edu-course-all{
  align-self:center!important;
  margin:36px auto 0!important;
}
.edu-contact-card .edu-btn,
.edu-about .edu-btn-primary,
.edu-course .edu-course-all,
.univ-hero-actions .edu-btn{
  justify-content:space-between!important;
}
.univ-hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
}
.univ-hero-actions .edu-btn{
  min-width:280px!important;
  max-width:100%!important;
  padding-right:8px!important;
}
.univ-hero-actions .edu-btn .edu-btn-text,
.edu-contact-card .edu-btn .edu-btn-text,
.edu-course .edu-course-all .edu-btn-text,
.edu-about .edu-btn-primary .edu-btn-text{
  white-space:normal!important;
  line-height:1.2!important;
  text-align:left!important;
}
.edu-contact-card .edu-btn,
.edu-about .edu-btn-primary,
.edu-course .edu-course-all{
  width:auto!important;
  max-width:100%!important;
}
@media(max-width:640px){
  .univ-hero-actions{display:grid!important;grid-template-columns:1fr!important}
  .univ-hero-actions .edu-btn,
  .edu-contact-card .edu-btn,
  .edu-course .edu-course-all,
  .edu-about .edu-btn-primary{
    width:100%!important;
    min-width:0!important;
  }
}
