.brand-logo{width:245px!important;max-height:68px}
.hero-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;color:#d3e0e1;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.hero-proof span{display:flex;align-items:center;gap:8px}.hero-proof span:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange)}
.expertise-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px}
.expertise-facts article{background:#fff;padding:30px}.expertise-facts strong{display:block;font:34px var(--serif);color:var(--deep)}.expertise-facts span{display:block;margin-top:9px;font-size:10px;line-height:1.5;color:var(--muted)}
.catalogue-link{display:flex;justify-content:center;margin-top:38px}.catalogue-link .button{background:var(--deep);color:#fff}
.feature-card:after{content:'INTRA'!important}
.program small{margin-top:18px;font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.quality-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.quality-badges span{padding:10px 13px;border:1px solid #082c3540;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.form select{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 0 13px;margin-bottom:25px;outline:none}
.footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.expertise-facts{grid-template-columns:1fr}.brand-logo{width:190px!important}.hero-proof{gap:12px}}

/* Références : deux lectures complémentaires, sans dépendance React. */
.references{padding:38px 0 42px}
.reference-group+.reference-group{margin-top:22px}
.reference-group-title{margin:0 0 9px;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.logo-viewport{border:0;background:transparent;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.logo-track{gap:0;animation:logoMarquee 38s linear infinite}
.logo-track.reverse{animation-direction:reverse;animation-duration:44s}
.logo-sequence{display:flex;flex:none}
.logo-sequence .logo-item{width:245px;min-height:108px;margin-right:12px;padding:22px 30px;border:1px solid var(--line);background:#fff}
.logo-sequence .logo-item img,.logo-sequence .logo-item svg{max-width:170px;max-height:58px;width:auto;height:auto;object-fit:contain}
.logo-sequence .logo-item.gendarmerie img{max-height:72px}
.logo-sequence .logo-item.academie img{max-height:66px}
.logo-sequence .logo-item.infa svg{width:130px;height:58px}

/* Aperçus catalogue inspirés de la carte mise en lumière. */
.program-list{gap:20px}
.program{position:relative;overflow:hidden;min-height:390px;padding:34px;border:0;background:var(--aqua)}
.program:before{content:none}
.program:nth-child(3n+2){background:#fff}
.program:nth-child(3n){background:var(--deep);color:#fff}
.program:nth-child(3n) p,.program:nth-child(3n) small{color:#c6d4d5}
.program:hover{padding:34px;transform:translateY(-7px);box-shadow:0 24px 60px #082c3520}
.program h3{position:relative;z-index:1;margin:45px 0 18px;font-size:38px}
.program p{position:relative;z-index:1}
.program .arrow{position:relative;z-index:1;width:auto;height:auto;margin-top:auto;border:0;border-radius:0;font-size:0;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.program .arrow:before{content:'En savoir plus  ↗';font-size:9px;border-bottom:1px solid currentColor;padding-bottom:5px}
.catalogue-link .button{background:var(--deep);color:#fff}

.proof-points{display:grid;gap:0;margin:36px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.proof-points li{padding:18px 0;border-bottom:1px solid var(--line);font:23px var(--serif)}

/* Formulaire progressif. */
.step-form{min-height:500px;display:flex;flex-direction:column}
.step-status{display:flex;align-items:center;gap:16px;margin-bottom:50px}
.step-status b{font-size:9px;letter-spacing:.12em;color:var(--muted)}
.step-bar{height:2px;flex:1;background:var(--line);overflow:hidden}.step-bar i{display:block;width:20%;height:100%;background:var(--orange);transition:width .35s ease}
.form-step{display:none;min-width:0;margin:0;padding:0;border:0}.form-step.active{display:block;animation:stepIn .35s ease both}
.form-step legend{width:100%;margin:0 0 42px;font:40px/1.08 var(--serif);letter-spacing:-.03em}
.form-step select,.form-step input,.form-step textarea{width:100%;margin:0 0 32px;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:transparent;outline:none;font-size:16px}
.form-step textarea{min-height:145px;resize:vertical}
.step-actions{display:flex;gap:12px;margin-top:12px}.step-actions button,.form-step>.step-next{width:auto;min-width:160px;padding-inline:25px}
.step-actions .step-back{background:transparent;border:1px solid var(--line)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes stepIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}

@media(max-width:620px){
  .logo-sequence .logo-item{width:210px;min-height:94px;padding:18px 24px}
  .program{min-height:350px;padding:28px}.program:hover{padding:28px}.program h3{font-size:34px}
  .step-form{min-height:440px}.form-step legend{font-size:32px}.step-actions{flex-direction:column-reverse}.step-actions button,.form-step>.step-next{width:100%}
}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none}.logo-sequence[aria-hidden=true]{display:none}.form-step.active{animation:none}}

/* Footer définitif. */
.footer{padding:72px 0 24px;background:#041b21;color:#9db0b2;font-size:11px}
.footer-main{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:54px;padding-bottom:58px}
.footer-brand img{display:block;width:210px;height:auto;margin-bottom:24px}.footer-brand p{max-width:330px;margin:0;font-size:13px;line-height:1.8;color:#b7c6c7}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-column strong{margin-bottom:8px;color:#fff;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.footer-column a{color:#b7c6c7;text-decoration:none}.footer-column a:hover{color:var(--aqua)}.footer-column span{color:#71898c}
.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;padding-top:22px;border-top:1px solid #ffffff1c;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.footer-bottom span:nth-child(2){text-align:center}.footer-bottom a{justify-self:end;color:#fff;text-decoration:none}
@media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{grid-template-columns:1fr}.footer-bottom span:nth-child(2){text-align:left}.footer-bottom a{justify-self:start}}
@media(max-width:560px){.footer{padding-top:54px}.footer-main{grid-template-columns:1fr;gap:34px}.footer-brand{grid-column:auto}.footer-bottom{gap:12px}}
