/* V9 responsive improvements — THIERRY INFO */
.hero-title-brand{display:block;white-space:nowrap;font-size:clamp(34px,5.7vw,67px);line-height:1.07;letter-spacing:-1.7px;font-weight:800;background:linear-gradient(110deg,#092f75 0%,#1a74d8 54%,#62c0ff 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-title-sub{display:block;margin:12px auto 0;font-size:clamp(17px,2.1vw,25px);line-height:1.35;letter-spacing:-.5px;font-weight:700;color:#234b78}
.improved-footer{background:linear-gradient(140deg,#091d3d 0%,#0e3263 55%,#125da2 100%);color:#fff;border-top:1px solid #1b5687}
.footer-premium{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px;padding:38px 0 22px}
.footer-wordmark{font-size:22px;font-weight:800;letter-spacing:-.6px}.footer-wordmark span{color:#78caff}
.footer-about p,.footer-local p{font-size:13px;line-height:1.75;color:#d4e7f9}.footer-navigation{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px}.footer-navigation strong,.footer-local strong{font-size:15px;margin-bottom:8px}.footer-navigation a,.footer-local a{color:#d8ebff;text-decoration:none;font-size:13px}.footer-navigation a:hover,.footer-local a:hover{text-decoration:underline;color:white}.footer-call{display:inline-flex;margin-top:10px;padding:12px 16px;border-radius:13px;background:#1977df;color:white;font-weight:800;font-size:15px}.footer-bottom-premium{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:16px 0 22px;border-top:1px solid #ffffff26;color:#dceaff;font-size:12px;line-height:1.6}
.mobile-tel-bar{display:none}
.formation-programme-v9{margin:40px auto 65px;scroll-margin-top:100px}.programme-heading{text-align:center;margin-bottom:24px}.programme-heading h2{font-size:clamp(24px,3vw,35px);color:#143767}.programme-heading p{color:#596e8a}.formation-programme-v9 .modules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.formation-programme-v9 .module-card{background:white;border:1px solid #dce8f6;border-radius:20px;box-shadow:0 12px 30px #193e7512;padding:22px;color:#243e5d}.formation-programme-v9 .module-card .icon{font-size:28px;display:block;margin-bottom:7px}.formation-programme-v9 .module-card h3{color:#1359a8;font-size:18px;margin:5px 0 12px}.formation-programme-v9 .module-card ul{padding-left:19px;margin:0}.formation-programme-v9 .module-card li{font-size:14px;line-height:1.7;margin-bottom:4px}.service-page .services-section .service-card .icon span{font-size:28px}
.legal-layout{padding-top:45px;padding-bottom:60px}.legal-title{text-align:center;margin:0 auto 26px}.legal-title h1{font-size:clamp(32px,4vw,48px);letter-spacing:-1px;margin:10px 0}.legal-title p{color:#536880}.legal-note{background:#eaf4ff;border-left:4px solid #287ee6;padding:16px;border-radius:9px;font-size:13px;line-height:1.65;margin-bottom:26px}.legal-page .legal-section,.legal-page .prestations-content{background:white;border:1px solid #dfeaf6;border-radius:18px;padding:26px;box-shadow:0 10px 30px #123e6710;margin-bottom:18px}.legal-page .legal-section h2,.legal-page .prestations-section h2{color:#144f95;font-size:21px}.legal-page .legal-section p,.legal-page .prestations-section p,.legal-page li{line-height:1.8;font-size:14px;color:#3e536e}.legal-page a:not(.brand):not(.call-btn):not(.mobile-tel-bar):not(.footer-wordmark){overflow-wrap:anywhere}.legal-page .legal-content,.legal-page .prestations-wrapper{background:transparent;padding:0}.legal-page .contact-legal{background:#f3f8fe;border-radius:12px;padding:15px}.legal-page .highlight-presta,.legal-page .legal-highlight{background:#ecf5ff;padding:16px;border-left:4px solid #2181e1;border-radius:10px}.legal-page .highlight-presta.warning{background:#fff1f0;border-left-color:#da3e3e}
@media(max-width:850px){.footer-premium{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}
@media(max-width:680px){
 body{padding-bottom:68px}
 .intro h1{letter-spacing:0!important;line-height:1.25}
 .hero-title-brand{font-size:clamp(35px,9.3vw,54px);letter-spacing:-.7px;white-space:nowrap}
 .hero-title-sub{font-size:clamp(16px,4.5vw,20px);line-height:1.4;margin-top:13px}
 .brand-text{font-size:16px;white-space:nowrap}
 .brand-text small{font-size:9px}
 .site-header .header-inner{gap:8px}
 .call-btn{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:0!important;padding:9px 12px!important}
 .call-btn::before{content:'☎';font-size:20px!important}
 .mobile-tel-bar{display:flex;position:fixed;z-index:99998;left:0;right:0;bottom:0;align-items:center;justify-content:center;min-height:56px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(100deg,#064a9a,#1885ea);box-shadow:0 -8px 25px #10294b35;color:#fff;font-size:16px;font-weight:800;text-decoration:none}
 .footer-premium{grid-template-columns:1fr;gap:24px;padding:32px 0 20px}.footer-about{grid-column:auto}.footer-bottom-premium{flex-direction:column;gap:5px;font-size:11px}
 .formation-programme-v9 .modules-grid{grid-template-columns:1fr}.formation-programme-v9 .module-card{padding:18px}.legal-page .legal-section,.legal-page .prestations-content{padding:19px}.legal-layout{padding-top:30px}
}
@media(prefers-reduced-motion:reduce){.mobile-tel-bar{transition:none}}


/* V10 — en-tête et pied de page affinés */
.brand{
  gap:10px;
}
.brand-logo{
  box-shadow:0 8px 20px rgba(15,78,170,.10);
}
.brand-text{
  display:block;
  font-weight:900;
  letter-spacing:-.7px;
  line-height:1.02;
  font-size:20px;
  background:linear-gradient(110deg,#07356e 0%,#0753a8 42%,#2179c9 76%,#06448e 100%);
  background-size:220% 220%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:brandFlow 9s ease-in-out infinite;
}
.brand-text b{
  color:inherit;
}
.brand-text small{
  display:block;
  margin-top:4px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22px;
  color:#6f86a6;
  -webkit-text-fill-color:#6f86a6;
}
.footer-wordmark{
  display:inline-block;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.55px;
  background:linear-gradient(110deg,#bcdcff 0%,#67b1ed 45%,#348ad4 70%,#a5d2fa 100%);
  background-size:220% 220%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:brandFlow 10s ease-in-out infinite;
}
.footer-wordmark span{color:inherit}
.improved-footer{
  background:linear-gradient(140deg,#091d3d 0%,#0e3263 55%,#125da2 100%);
}
.footer-premium{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:24px;
  padding:28px 0 16px;
}
.footer-about p,.footer-local p{
  font-size:12px;
  line-height:1.65;
  color:#d4e7f9;
  margin:8px 0 0;
}
.footer-navigation{
  gap:8px;
  font-size:12px;
}
.footer-navigation strong,.footer-local strong{
  font-size:14px;
  margin-bottom:6px;
}
.footer-navigation a,.footer-local a{
  color:#d8ebff;
  text-decoration:none;
  font-size:12px;
}
.footer-call{
  display:inline-flex;
  margin-top:10px;
  padding:10px 14px;
  border-radius:12px;
  background:#1977df;
  color:white;
  font-weight:800;
  font-size:14px;
}
.footer-bottom-premium{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;
  padding:12px 0 16px;
  border-top:1px solid #ffffff26;
  color:#dceaff;
  font-size:11px;
  line-height:1.5;
}
@keyframes brandFlow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

@media(max-width:850px){
  .footer-premium{grid-template-columns:1fr 1fr;gap:22px;padding:24px 0 14px}
  .footer-about{grid-column:1/-1}
}
@media(max-width:680px){
  .brand{gap:8px}
  .brand-text{
    font-size:16px;
    white-space:nowrap;
    letter-spacing:-.45px;
  }
  .brand-text small{
    font-size:8.8px;
    text-align:left;
  }
  .footer-premium{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 0 14px;
    text-align:center;
    justify-items:center;
  }
  .footer-about,.footer-navigation,.footer-local{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .footer-navigation{
    gap:7px;
  }
  .footer-about p,.footer-local p,
  .footer-navigation a,.footer-local a{
    text-align:center;
  }
  .footer-bottom-premium{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:4px;
    font-size:10.5px;
    padding:10px 0 14px;
  }
}
@media(prefers-reduced-motion:reduce){
  .brand-text,.footer-wordmark{animation:none}
}

/* V11 : footer encore plus compact, mobile centré conservé */
.footer-premium{padding-top:19px;padding-bottom:10px;gap:18px}
.footer-about p,.footer-local p{font-size:11.5px;line-height:1.45;margin-top:5px}
.footer-navigation{gap:5px}
.footer-navigation strong,.footer-local strong{margin-bottom:3px}
.footer-call{margin-top:7px;padding:8px 12px;font-size:13px}
.footer-bottom-premium{padding-top:9px;padding-bottom:11px;font-size:10.5px}
@media(max-width:850px){.footer-premium{padding-top:18px;padding-bottom:10px;gap:14px}}
@media(max-width:680px){
 .footer-premium{gap:13px;padding-top:18px;padding-bottom:10px;text-align:center;justify-items:center}
 .footer-about,.footer-navigation,.footer-local{align-items:center;text-align:center}
 .footer-bottom-premium{padding:8px 0 11px;text-align:center;align-items:center;gap:3px}
}
