/* ==========================================================================
   ESICIM — pages Alternance (alternance.php / trouver-mon-alternance.php)
   Même ADN que le site : bleu #125195 / #003366, orange #f15a29, Poppins.
   Tout est préfixé .alt pour ne rien écraser ailleurs.
   ========================================================================== */
.alt{--b:#125195;--bd:#003366;--bs:#edf3ff;--o:#f15a29;--od:#d94a1c;--ink:#172033;--mu:#5b6578;--ln:#dce3ef;--bg:#f6f8fc;--ok:#0f8a5f;--r:22px;--sh:0 18px 50px rgba(0,51,102,.13);
  font-family:'Poppins',Arial,sans-serif;color:var(--ink);line-height:1.6;background:#fff;overflow-x:hidden}
.alt *,.alt *::before,.alt *::after{box-sizing:border-box}
.alt :where(h1,h2,h3,h4,p,ul,ol){margin:0;padding:0;list-style:none}
.alt img{max-width:100%;display:block}
.alt a{color:inherit;text-decoration:none}
.alt .wrap{width:min(calc(100% - 32px),1180px);margin-inline:auto}
.alt section{padding:84px 0;position:relative}
.alt .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--o)}
.alt .eyebrow::before{content:"";width:28px;height:3px;border-radius:3px;background:var(--o)}
.alt h2.t{font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.18;font-weight:800;color:var(--bd);margin:14px 0 14px;letter-spacing:-.01em}
.alt h2.t em{font-style:normal;background:linear-gradient(90deg,var(--o),#ff8a4c);-webkit-background-clip:text;background-clip:text;color:transparent}
.alt .lead{color:var(--mu);font-size:1.05rem;max-width:760px}
.alt .center{text-align:center}.alt .center .lead{margin-inline:auto}.alt .center .eyebrow{justify-content:center}

/* Boutons */
.alt .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:14px;padding:14px 24px;font-weight:700;font-size:.98rem;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-family:inherit}
.alt .btn:hover{transform:translateY(-2px)}
.alt .btn-o{background:var(--o);color:#fff;box-shadow:0 12px 28px rgba(241,90,41,.32)}.alt .btn-o:hover{background:var(--od);box-shadow:0 16px 34px rgba(241,90,41,.42)}
.alt .btn-b{background:var(--b);color:#fff;box-shadow:0 12px 28px rgba(18,81,149,.28)}
.alt .btn-g{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.45);backdrop-filter:blur(6px)}.alt .btn-g:hover{background:rgba(255,255,255,.22)}
.alt .btn-l{background:#fff;color:var(--b);border:1.5px solid var(--b)}

/* Reveal */
.alt .rv{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.alt-js .alt .rv{opacity:0;transform:translateY(26px)}
.alt-js .alt .rv.in{opacity:1;transform:none}

/* HERO */
.alt .hero{padding:0;background:radial-gradient(1100px 520px at 85% -10%,rgba(241,90,41,.35),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(79,140,220,.45),transparent 60%),linear-gradient(135deg,#003366 0%,#0d4687 55%,#125195 100%);color:#fff;overflow:hidden}
.alt .hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(180deg,#000 0%,transparent 85%)}
.alt .hero .wrap{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center;padding:78px 0 96px}
.alt .pill{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);font-weight:600;font-size:.88rem;backdrop-filter:blur(8px)}
.alt .pill i{color:#ffb37f}
.alt .pill .dot{width:9px;height:9px;border-radius:50%;background:#5bf0a6;box-shadow:0 0 0 0 rgba(91,240,166,.7);animation:altpulse 1.8s infinite}
@keyframes altpulse{70%{box-shadow:0 0 0 12px rgba(91,240,166,0)}100%{box-shadow:0 0 0 0 rgba(91,240,166,0)}}
.alt .hero h1{font-size:clamp(2.2rem,5.2vw,3.9rem);line-height:1.05;font-weight:800;letter-spacing:-.025em;margin:22px 0 20px}
.alt .hero h1 .hl{background:linear-gradient(90deg,#ffb37f,#ff7a3d);-webkit-background-clip:text;background-clip:text;color:transparent}
.alt .hero p.sub{font-size:1.12rem;color:rgba(255,255,255,.88);max-width:560px}
.alt .hero p.sub strong{color:#fff;background:rgba(241,90,41,.9);padding:1px 9px;border-radius:8px;white-space:nowrap}
.alt .hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0 18px}
.alt .hero .note{font-size:.8rem;color:rgba(255,255,255,.7);max-width:520px}
.alt .visual{position:relative}
.alt .visual .photo{border-radius:30px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.4);border:6px solid rgba(255,255,255,.14);transform:rotate(1.6deg);aspect-ratio:4/4.6;background:#0d4687}
.alt .visual .photo img{width:100%;height:100%;object-fit:cover}
.alt .float{position:absolute;background:#fff;color:var(--ink);border-radius:18px;padding:13px 18px;box-shadow:0 18px 40px rgba(0,0,0,.28);display:flex;align-items:center;gap:12px;font-weight:700;font-size:.88rem;animation:altfloat 6s ease-in-out infinite}
.alt .float i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--bs);color:var(--b);font-size:1rem}
.alt .float small{display:block;font-weight:500;color:var(--mu);font-size:.74rem}
.alt .float.f1{left:-30px;top:38px}.alt .float.f2{right:-14px;bottom:60px;animation-delay:-2.5s}.alt .float.f2 i{background:#fff0e9;color:var(--o)}
@keyframes altfloat{50%{transform:translateY(-12px)}}
.alt .hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:60px;background:#fff;clip-path:ellipse(75% 100% at 50% 100%)}

/* Bande de chiffres */
.alt .stats{margin-top:-46px;padding:0 0 10px;z-index:3;position:relative}
.alt .stats .row{background:#fff;border-radius:26px;box-shadow:var(--sh);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--ln)}
.alt .stats .it{padding:26px 22px;text-align:center;border-right:1px solid var(--ln)}.alt .stats .it:last-child{border:0}
.alt .stats b{display:block;font-size:1.9rem;font-weight:800;color:var(--b);line-height:1.1}
.alt .stats b span{color:var(--o)}
.alt .stats small{color:var(--mu);font-size:.86rem}

/* Cartes */
.alt .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.alt .card{background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:30px 26px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}
.alt .card::after{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--o),#ff9a63);transition:width .35s}
.alt .card:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:transparent}.alt .card:hover::after{width:100%}
.alt .ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--bs),#fff);color:var(--b);font-size:1.3rem;margin-bottom:18px;border:1px solid var(--ln)}
.alt .card h3{font-size:1.1rem;font-weight:700;color:var(--bd);margin-bottom:8px}
.alt .card p{color:var(--mu);font-size:.95rem}
.alt .soft{background:var(--bg)}

/* Financement comparatif */
.alt .cmp{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px}
.alt .plan{border-radius:28px;padding:38px 34px;position:relative;overflow:hidden}
.alt .plan.a{background:linear-gradient(145deg,#003366,#125195);color:#fff;box-shadow:var(--sh)}
.alt .plan.a::before{content:"Recommandé";position:absolute;top:22px;right:-38px;background:var(--o);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 46px;transform:rotate(38deg)}
.alt .plan.i{background:#fff;border:1.5px solid var(--ln)}
.alt .plan .tag{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.alt .plan .price{font-size:3.4rem;font-weight:800;line-height:1.05;margin:12px 0 2px}
.alt .plan.a .price{color:#ffb37f}.alt .plan.i .price{color:var(--bd)}
.alt .plan .per{opacity:.8;font-size:.9rem;margin-bottom:16px}
.alt .plan p{font-size:.95rem;opacity:.92;margin-bottom:18px}
.alt .plan li{display:flex;gap:10px;padding:7px 0;font-size:.95rem}.alt .plan li i{color:#5bf0a6;margin-top:5px}.alt .plan.i li i{color:var(--ok)}
.alt .fine{font-size:.8rem;color:var(--mu);margin-top:18px}

/* Rémunération */
.alt .pay{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.alt .pay .p{border-radius:22px;padding:28px;background:#fff;border:1px solid var(--ln);text-align:center}
.alt .pay .p small{display:block;color:var(--mu);font-weight:600}
.alt .pay .p b{display:block;font-size:2.2rem;color:var(--b);font-weight:800;margin:6px 0}
.alt .pay .p span{font-size:.85rem;color:var(--mu)}
.alt .sim{margin-top:34px;display:grid;grid-template-columns:1.1fr .9fr;border-radius:28px;overflow:hidden;box-shadow:var(--sh);border:1px solid var(--ln);background:#fff}
.alt .sim .in{padding:34px}
.alt .sim h3{font-size:1.25rem;color:var(--bd);font-weight:800;margin-bottom:4px}
.alt .sim .lab{font-weight:700;font-size:.86rem;margin:20px 0 10px;display:block;color:var(--bd)}
.alt .seg{display:flex;flex-wrap:wrap;gap:10px}
.alt .seg button{flex:1;min-width:96px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--ln);background:#fff;font-family:inherit;font-weight:600;cursor:pointer;color:var(--ink);transition:.2s}
.alt .seg button:hover{border-color:var(--b)}
.alt .seg button.on{background:var(--b);color:#fff;border-color:var(--b);box-shadow:0 8px 18px rgba(18,81,149,.3)}
.alt .sim .out{background:linear-gradient(160deg,#003366,#125195);color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.alt .sim .out small{opacity:.8}
.alt .sim .out b{font-size:3rem;font-weight:800;color:#ffb37f;line-height:1.1;margin:8px 0}
.alt .sim .out .bar{height:10px;border-radius:10px;background:rgba(255,255,255,.18);margin:18px 0 8px;overflow:hidden}
.alt .sim .out .bar i{display:block;height:100%;width:43%;background:linear-gradient(90deg,#ff7a3d,#ffb37f);border-radius:10px;transition:width .5s}
.alt .tw{overflow-x:auto;margin-top:34px;border-radius:20px;border:1px solid var(--ln);background:#fff}
.alt table{border-collapse:collapse;width:100%;min-width:640px;font-size:.93rem}
.alt th{background:var(--bd);color:#fff;font-weight:600;padding:14px 16px;text-align:center}.alt th:first-child{text-align:left}
.alt td{padding:14px 16px;text-align:center;border-top:1px solid var(--ln)}.alt td:first-child{text-align:left;font-weight:700;color:var(--bd)}
.alt td b{display:block;color:var(--b)}.alt td span{color:var(--mu);font-size:.82rem}
.alt tbody tr:nth-child(even){background:#f8fafd}
.alt .callout{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--ln);border-left:5px solid var(--o);border-radius:18px;padding:20px 22px;margin-top:22px;box-shadow:0 8px 24px rgba(0,51,102,.06)}
.alt .callout i{color:var(--o);font-size:1.2rem;margin-top:3px}.alt .callout p{color:var(--mu);font-size:.93rem}.alt .callout strong{color:var(--bd)}

/* Timeline */
.alt .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;counter-reset:s}
.alt .step{background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:30px 26px 26px;position:relative;counter-increment:s}
.alt .step::before{content:counter(s,decimal-leading-zero);position:absolute;right:20px;top:8px;font-size:3.6rem;font-weight:800;color:var(--bs);line-height:1;z-index:0}
.alt .step>*{position:relative;z-index:1}
.alt .step h3{font-size:1.05rem;color:var(--bd);font-weight:700;margin:14px 0 6px}.alt .step p{color:var(--mu);font-size:.93rem}
.alt .step .ico{margin:0}
.alt .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;position:relative}
.alt .flow::before{content:"";position:absolute;left:12%;right:12%;top:34px;height:3px;background:repeating-linear-gradient(90deg,var(--o) 0 10px,transparent 10px 18px)}
.alt .flow .f{text-align:center;padding:0 14px;position:relative}
.alt .flow .n{width:68px;height:68px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,var(--o),#ff8a4c);color:#fff;font-weight:800;font-size:1.4rem;display:grid;place-items:center;box-shadow:0 12px 26px rgba(241,90,41,.35);border:5px solid #fff}
.alt .flow h3{font-size:1.02rem;color:var(--bd);font-weight:700}.alt .flow p{color:var(--mu);font-size:.9rem;margin-top:6px}

/* Bandeau CTA */
.alt .band{background:linear-gradient(120deg,#003366,#125195 60%,#1c63ad);color:#fff;border-radius:32px;padding:54px 48px;display:grid;grid-template-columns:1.3fr auto;gap:30px;align-items:center;position:relative;overflow:hidden}
.alt .band::after{content:"";position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(241,90,41,.55),transparent 70%)}
.alt .band h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;line-height:1.2}
.alt .band p{opacity:.9;margin-top:10px}
.alt .band .cta{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}

/* Double colonne (page B) */
.alt .two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.alt .checks{margin-top:26px;display:grid;gap:16px}
.alt .checks li{display:flex;gap:16px;background:#fff;border:1px solid var(--ln);border-radius:18px;padding:18px 20px;transition:.25s}
.alt .checks li:hover{transform:translateX(6px);border-color:var(--o);box-shadow:var(--sh)}
.alt .checks li>i{flex:none;width:42px;height:42px;border-radius:12px;background:#fff0e9;color:var(--o);display:grid;place-items:center}
.alt .checks b{display:block;color:var(--bd)}.alt .checks span{color:var(--mu);font-size:.92rem}
.alt .imgcard{position:relative;border-radius:30px;overflow:hidden;box-shadow:var(--sh)}
.alt .imgcard img{width:100%;aspect-ratio:4/4.4;object-fit:cover}
.alt .imgcard .cap{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.94);border-radius:18px;padding:16px 18px;backdrop-filter:blur(8px);font-size:.9rem;color:var(--mu)}
.alt .imgcard .cap b{color:var(--bd);display:block}
.alt .duo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:40px;border-radius:24px;overflow:hidden;border:1px solid var(--ln);background:#fff}
.alt .duo .h{padding:16px 24px;font-weight:700;color:#fff}.alt .duo .h.a{background:var(--b)}.alt .duo .h.b{background:var(--o)}
.alt .duo .c{padding:16px 24px;border-top:1px solid var(--ln);color:var(--mu);font-size:.94rem}.alt .duo .c:nth-child(4n+3),.alt .duo .c:nth-child(4n+4){background:#f8fafd}
.alt .duo .c strong{color:var(--bd)}

/* FAQ */
.alt .faq{max-width:860px;margin:40px auto 0;display:grid;gap:12px}
.alt details{background:#fff;border:1px solid var(--ln);border-radius:16px;transition:.25s}
.alt details[open]{border-color:var(--o);box-shadow:0 10px 28px rgba(0,51,102,.09)}
.alt summary{cursor:pointer;padding:18px 22px;font-weight:700;color:var(--bd);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.alt summary::-webkit-details-marker{display:none}
.alt summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--o);transition:transform .25s}
.alt details[open] summary::after{transform:rotate(45deg)}
.alt details p{padding:0 22px 20px;color:var(--mu);font-size:.95rem}

/* Modal CV */
.alt-modal{position:fixed;inset:0;z-index:2000;background:rgba(0,28,56,.6);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:16px;font-family:'Poppins',Arial,sans-serif}
.alt-modal.open{display:flex}
.alt-modal .box{background:#fff;border-radius:26px;width:min(100%,720px);max-height:92vh;overflow:auto;padding:34px;position:relative;box-shadow:0 40px 90px rgba(0,0,0,.4);animation:altpop .3s ease}
@keyframes altpop{from{transform:translateY(20px) scale(.97);opacity:0}}
.alt-modal .x{position:absolute;right:16px;top:14px;width:40px;height:40px;border-radius:50%;border:0;background:#eef2f9;font-size:1.4rem;cursor:pointer;color:#003366}
.alt-modal .k{color:#f15a29;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.alt-modal h2{color:#003366;font-size:1.6rem;margin:6px 0;font-weight:800}
.alt-modal p.s{color:#5b6578;font-size:.93rem;margin-bottom:18px}
.alt-modal .g{display:grid;grid-template-columns:1fr 1fr;gap:14px}.alt-modal .g .full{grid-column:1/-1}
.alt-modal label{display:block;font-weight:600;font-size:.84rem;color:#003366;margin-bottom:5px}
.alt-modal input:not([type=checkbox]),.alt-modal select,.alt-modal textarea{width:100%;padding:12px 14px;border:1.5px solid #dce3ef;border-radius:12px;font:inherit;font-size:.95rem;background:#fff}
.alt-modal input:focus,.alt-modal select:focus,.alt-modal textarea:focus{outline:none;border-color:#125195;box-shadow:0 0 0 4px rgba(18,81,149,.12)}
.alt-modal .chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.84rem;color:#5b6578}.alt-modal .chk input{margin-top:4px}
.alt-modal .go{width:100%;background:#f15a29;color:#fff;border:0;border-radius:14px;padding:15px;font-weight:700;font-size:1rem;cursor:pointer;font-family:inherit}
.alt-modal .go:hover{background:#d94a1c}.alt-modal .go:disabled{opacity:.6}
.alt-modal .legal{font-size:.78rem;color:#667085;margin-top:12px}
.alt-modal .msg{display:none;margin-top:14px;padding:14px 16px;border-radius:12px;font-size:.92rem}
.alt-modal .msg.ok{display:block;background:#e8f7f0;color:#0b6b4a}.alt-modal .msg.ko{display:block;background:#fdeceb;color:#a12a1d}
.alt-modal .hp{position:absolute;left:-9999px;opacity:0}

/* CTA flottant mobile */
.alt-sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:900;display:none}
.alt-sticky button{width:100%;background:#f15a29;color:#fff;border:0;border-radius:16px;padding:15px;font-weight:700;font-family:'Poppins',sans-serif;font-size:1rem;box-shadow:0 14px 34px rgba(241,90,41,.5)}

@media (max-width:980px){
  .alt section{padding:64px 0}
  .alt .hero .wrap{grid-template-columns:1fr;padding:54px 0 84px}.alt .visual{max-width:440px;margin:0 auto}
  .alt .float.f1{left:-6px}.alt .float.f2{right:-6px}
  .alt .grid3,.alt .steps,.alt .pay{grid-template-columns:1fr 1fr}
  .alt .cmp,.alt .sim,.alt .two,.alt .band{grid-template-columns:1fr}
  .alt .flow{grid-template-columns:1fr 1fr;row-gap:34px}.alt .flow::before{display:none}
  .alt .stats .row{grid-template-columns:1fr 1fr}.alt .stats .it:nth-child(2){border-right:0}.alt .stats .it:nth-child(-n+2){border-bottom:1px solid var(--ln)}
}
@media (max-width:640px){
  .alt .grid3,.alt .steps,.alt .pay,.alt .flow{grid-template-columns:1fr}
  .alt .band{padding:38px 24px}.alt .plan{padding:30px 24px}.alt .plan .price{font-size:2.8rem}
  .alt .duo{grid-template-columns:1fr}.alt-modal .g{grid-template-columns:1fr}.alt-modal .box{padding:26px 20px}
  .alt-sticky{display:block}.alt .hero .cta .btn{width:100%}
  .alt .float{display:none}
}
@media (prefers-reduced-motion:reduce){.alt *,.alt-modal *{animation:none!important;transition:none!important}.alt-js .alt .rv{opacity:1;transform:none}}
