@charset "UTF-8";
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
:root{
  --navy:#0B1F3A;
  --navy-mid:#122847;
  --navy-light:#1A3A5C;
  --gold:#866413;
  --gold-light:#E8B84B;
  --gold-pale:#FDF3DC;
  --white:#FFFFFF;
  --off-white:#F8F9FC;
  --gray-50:#F4F6FA;
  --gray-100:#E8ECF4;
  --gray-300:#B0BAD0;
  --gray-400:#61708A;
  --gray-500:#5C6B82;
  --gray-700:#374263;
  --text:#0B1F3A;
  --w:1200px;
  --pad:clamp(1.5rem,4vw,3rem);
}
.ifce-page-wrap *,html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:1200px;margin:0 auto}
.nav-logo{display:flex;align-items:center;gap:12px}
.nav-logo-mark{width:38px;height:38px;background:var(--navy);border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.nav-logo-mark::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold)}
.nav-logo-mark span{font-size:0.85rem;font-weight:800;color:var(--white);letter-spacing:-0.02em}
.nav-logo-name{display:flex;flex-direction:column;line-height:1.1}
.nav-logo-name strong{font-size:1rem;font-weight:700;color:var(--navy);letter-spacing:-0.01em}
.nav-logo-name small{font-size:0.6rem;font-weight:500;color:var(--gray-500);letter-spacing:0.08em;text-transform:uppercase}
.nav-links{display:flex;gap:0.25rem}
.nav-links a{text-decoration:none;font-size:0.82rem;font-weight:500;color:var(--gray-700);padding:0.45rem 0.85rem;border-radius:6px;transition:all 0.18s}
.nav-links a:hover{color:var(--navy);background:var(--gray-50)}
.nav-right{display:flex;align-items:center;gap:0.75rem}
.nav-btn-ghost{font-size:0.82rem;font-weight:600;color:var(--navy);padding:0.5rem 1rem;border-radius:7px;border:1.5px solid var(--gray-100);background:transparent;cursor:pointer;transition:all 0.18s;text-decoration:none}
.nav-btn-ghost:hover{border-color:var(--gray-400)}
.nav-btn-cta{font-size:0.82rem;font-weight:600;color:var(--white);background:var(--navy);padding:0.5rem 1.25rem;border-radius:7px;border:none;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-flex;align-items:center;gap:0.35rem}
.nav-btn-cta:hover{background:var(--navy-light)}
.hero{background:var(--navy);min-height:92vh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding:6rem 0 5rem}
.hero-geo{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-geo-circle{position:absolute;border-radius:50%;border:1px solid rgba(196,149,42,0.15)}
.c1{width:700px;height:700px;top:-200px;right:-150px}
.c2{width:400px;height:400px;top:-50px;right:100px;border-color:rgba(196,149,42,0.08)}
.c3{width:900px;height:900px;bottom:-400px;right:-300px;border-color:rgba(255,255,255,0.03)}
.hero-gold-line{position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent)}
.hero-content{position:relative;z-index:2;max-width:var(--w);margin:0 auto;width:100%;padding:0 var(--pad);display:grid;grid-template-columns:1fr 420px;gap:5rem;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:0.6rem;background:rgba(196,149,42,0.15);border:1px solid rgba(196,149,42,0.35);border-radius:100px;padding:0.3rem 1rem 0.3rem 0.5rem;margin-bottom:2.5rem}
.badge-dot{width:8px;height:8px;background:var(--gold-light);border-radius:50%;animation:blink 2.5s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
.badge-text{font-size:0.72rem;font-weight:600;color:var(--gold-light);letter-spacing:0.05em;text-transform:uppercase}
.hero h1{font-size:clamp(2.8rem,4.5vw,4.2rem);font-weight:800;line-height:1.05;letter-spacing:-0.03em;color:var(--white);margin-bottom:1.5rem}
h1 .gold{color:var(--gold-light)}
.hero-desc{font-size:1.05rem;font-weight:400;line-height:1.75;color:rgba(255,255,255,0.8);max-width:48ch;margin-bottom:2.5rem}
.hero-desc strong{color:rgba(255,255,255,0.9);font-weight:600}
.hero-btns{display:flex;gap:0.85rem;flex-wrap:wrap;margin-bottom:3.5rem}
.btn-gold{background:var(--gold);color:var(--white);padding:0.85rem 1.8rem;border-radius:8px;font-size:0.88rem;font-weight:700;border:none;cursor:pointer;transition:all 0.2s;letter-spacing:-0.01em;display:inline-flex;align-items:center;gap:0.4rem}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px)}
.btn-white-ghost{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.85);padding:0.85rem 1.8rem;border-radius:8px;font-size:0.88rem;font-weight:600;border:1px solid rgba(255,255,255,0.12);cursor:pointer;transition:all 0.2s}
.btn-white-ghost:hover{background:rgba(255,255,255,0.11);border-color:rgba(255,255,255,0.6)}
.hero-kpis{display:flex;gap:2.5rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,0.08)}
.kpi{display:flex;flex-direction:column;gap:0.15rem}
.kpi-num{font-size:1.9rem;font-weight:800;color:var(--white);letter-spacing:-0.03em;line-height:1}
.kpi-num sup{font-size:1rem;color:var(--gold-light)}
.kpi-label{font-size:0.68rem;font-weight:500;color:rgba(255,255,255,0.75);text-transform:uppercase;letter-spacing:0.08em}
.hero-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:20px;overflow:hidden;backdrop-filter:blur(12px)}
.hero-card-header{background:var(--gold);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between}
.hero-card-header span{font-size:0.72rem;font-weight:700;color:rgba(255,255,255,0.8);text-transform:uppercase;letter-spacing:0.1em}
.hch-badge{background:rgba(255,255,255,0.2);padding:0.2rem 0.6rem;border-radius:100px;font-size:0.65rem;font-weight:700;color:var(--white)}
.hcb-item{padding:1.1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:space-between;transition:background 0.18s;cursor:pointer}
.hcb-item:last-child{border-bottom:none}
.hcb-item:hover{background:rgba(255,255,255,0.04)}
.hcb-title{font-size:0.86rem;font-weight:600;color:var(--white)}
.hcb-sub{font-size:0.72rem;color:rgba(255,255,255,0.75);font-weight:400;margin-top:0.15rem}
.hcb-tag{font-size:0.63rem;font-weight:700;padding:0.2rem 0.55rem;border-radius:4px;white-space:nowrap}
.tag-open{background:rgba(72,199,142,0.2);color:#6EE7B7}
.tag-places{background:rgba(196,149,42,0.2);color:var(--gold-light)}
.hero-card-footer{padding:1.25rem 1.5rem;background:rgba(255,255,255,0.02);border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:space-between}
.hcf-text{font-size:0.75rem;color:rgba(255,255,255,0.75)}
.hcf-link{font-size:0.78rem;font-weight:600;color:var(--gold-light);text-decoration:none}
.ticker-wrap{background:var(--gold);overflow:hidden;padding:0.75rem 0}
.ticker-track{display:inline-flex;animation:tick 28s linear infinite;white-space:nowrap}
.ticker-track span{font-size:0.75rem;font-weight:700;color:rgba(255,255,255,0.95);padding:0 2rem;text-transform:uppercase;letter-spacing:0.07em}
.ticker-track span::after{content:'\00B7';margin-left:2rem;opacity:0.5}
.ticker-track a{color:rgba(255,255,255,0.95);text-decoration:none;font-weight:700;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.07em;padding:0 2rem;white-space:nowrap}
.ticker-track a:hover{color:var(--white);text-decoration:underline}
.ticker-track a::after{content:'\00B7';margin-left:2rem;opacity:0.5}
@keyframes tick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.formations{padding:6rem 0;background:var(--off-white)}
.container{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:0.72rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:0.15em;margin-bottom:0.75rem}
.section-h2{font-size:clamp(1.9rem,3vw,2.8rem);font-weight:800;color:var(--navy);letter-spacing:-0.025em;line-height:1.1;margin-bottom:0.75rem}
.section-h2 .muted{color:var(--gray-400)}
.section-lead{font-size:0.95rem;color:var(--gray-500);line-height:1.65;max-width:50ch;margin-bottom:3rem;font-weight:400}
.formations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-100);border-radius:16px;overflow:hidden;border:1px solid var(--gray-100)}
.f-card{background:var(--white);padding:2rem;position:relative;transition:all 0.22s;cursor:pointer;display:flex;flex-direction:column}
.f-card:hover{background:var(--navy);z-index:1}
.f-card:hover .f-level{color:var(--gold-light)}
.f-card:hover .f-name{color:var(--white)}
.f-card:hover .f-desc{color:rgba(255,255,255,0.5)}
.f-card:hover .f-meta{border-color:rgba(255,255,255,0.08)}
.f-card:hover .f-meta-val{color:var(--white)}
.f-card:hover .f-meta-label{color:rgba(255,255,255,0.75)}
.f-card:hover .f-arrow{opacity:1}
.f-card.primo{background:var(--navy);grid-column:span 2}
.f-card.primo .f-level{color:var(--gold)}
.f-card.primo .f-name{color:var(--white);font-size:1.35rem}
.f-card.primo .f-desc{color:rgba(255,255,255,0.55)}
.f-card.primo .f-meta{border-color:rgba(255,255,255,0.08)}
.f-card.primo .f-meta-val{color:var(--white)}
.f-card.primo .f-meta-label{color:rgba(255,255,255,0.75)}
.f-card.primo .f-arrow{color:var(--gold);opacity:1;top:auto;bottom:2rem;right:2rem}
.f-card.special{background:var(--gold-pale)}
.f-card.special:hover{background:var(--gold)}
.f-card.special:hover .f-level{color:rgba(255,255,255,0.7)}
.f-card.special:hover .f-name{color:var(--white)}
.f-card.special:hover .f-desc{color:rgba(255,255,255,0.65)}
.f-num{position:absolute;top:1.5rem;right:1.5rem;font-size:2.2rem;font-weight:800;opacity:0.05;color:var(--navy);line-height:1;letter-spacing:-0.04em}
.f-card.primo .f-num,.f-card:hover .f-num{color:var(--white);opacity:0.06}
.f-level{font-size:0.65rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.75rem}
.f-name{font-size:1.05rem;font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:0.65rem;letter-spacing:-0.01em}
.f-desc{font-size:0.8rem;color:var(--gray-500);line-height:1.6;margin-bottom:1.25rem;flex:1}
.f-meta{display:flex;gap:1.5rem;padding-top:1.1rem;border-top:1px solid var(--gray-100);margin-top:auto}
.f-meta-item{display:flex;flex-direction:column;gap:0.12rem}
.f-meta-val{font-size:0.85rem;font-weight:700;color:var(--navy);letter-spacing:-0.01em}
.f-meta-label{font-size:0.62rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:0.08em}
.f-arrow{position:absolute;top:1.5rem;right:1.5rem;font-size:1.1rem;color:var(--gray-400);opacity:0;transition:opacity 0.2s}
.chiffres{padding:5rem 0;background:var(--navy)}
.chiffres-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.chiffre-cell:hover{background:var(--navy-light)}
.ch-num{font-size:2.8rem;font-weight:800;color:var(--white);letter-spacing:-0.04em;line-height:1}
.ch-num em{font-style:normal;color:var(--gold-light);font-size:1.6rem}
.ch-label{font-size:0.72rem;font-weight:500;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.1em;line-height:1.4}
.ch-desc{font-size:0.78rem;color:rgba(255,255,255,0.6);margin-top:0.2rem;line-height:1.5}
.atouts{padding:6rem 0;background:var(--white)}
.atouts-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;max-width:1200px;margin:3rem auto 0}
.atouts-left{display:flex;flex-direction:column;gap:1rem}
.atout-card{padding:1.5rem;border-radius:12px;border:1.5px solid var(--gray-100);display:flex;gap:1rem;align-items:flex-start;transition:all 0.22s}
.atout-card:hover{border-color:var(--gold);background:var(--gold-pale)}
.atout-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--gray-50);font-size:1.3rem}
.atout-content h4{font-size:0.9rem;font-weight:700;color:var(--navy);margin-bottom:0.3rem;letter-spacing:-0.01em}
.atout-content p{font-size:0.78rem;line-height:1.6;color:var(--gray-500)}
.atouts-right{position:sticky;top:100px}
.quote-block{background:var(--navy);border-radius:16px;padding:2.5rem;margin-bottom:1rem}
.quote-text{font-size:1.15rem;font-weight:600;color:var(--white);line-height:1.55;letter-spacing:-0.01em;margin-bottom:1.5rem}
.quote-text em{color:var(--gold-light);font-style:normal}
.quote-source{font-size:0.72rem;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.1em}
.qualiopi-block{background:var(--gold-pale);border:1.5px solid rgba(196,149,42,0.2);border-radius:12px;padding:1.5rem;display:flex;gap:1rem;align-items:center}
.qualiopi-badge{width:48px;height:48px;background:var(--gold);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.3rem}
.qualiopi-label h4{font-size:0.85rem;font-weight:700;color:var(--navy);margin-bottom:0.2rem}
.qualiopi-label p{font-size:0.75rem;color:var(--gray-500);line-height:1.5}
.cta-section{padding:6rem 0;background:var(--off-white)}
.cta-block{background:var(--navy);border-radius:24px;padding:4rem;display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;position:relative;overflow:hidden}
.cta-deco{position:absolute;top:-80px;right:-80px;width:320px;height:320px;border-radius:50%;border:1px solid rgba(196,149,42,0.15)}
.cta-deco2{position:absolute;top:60px;right:80px;width:160px;height:160px;border-radius:50%;border:1px solid rgba(196,149,42,0.08)}
.cta-left-content h2{font-size:clamp(1.8rem,2.8vw,2.5rem);font-weight:800;color:var(--white);letter-spacing:-0.025em;line-height:1.1;margin-bottom:1rem}
.cta-left-content h2 em{font-style:normal;color:var(--gold-light)}
.cta-left-content p{font-size:0.88rem;line-height:1.7;color:rgba(255,255,255,0.55);margin-bottom:1.75rem}
.cta-checkmarks{display:flex;flex-direction:column;gap:0.5rem}
.cta-check{display:flex;align-items:center;gap:0.6rem;font-size:0.82rem;color:rgba(255,255,255,0.7)}
.check-icon{width:18px;height:18px;background:rgba(196,149,42,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0.6rem;color:var(--gold-light)}
.cta-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}
a.cta-c{text-decoration:none;color:inherit;display:block}
a.cta-c:hover{text-decoration:none;color:inherit}
.cta-c{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all 0.22s;display:flex;flex-direction:column;gap:0.6rem}
.cta-c:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.18);transform:translateY(-2px)}
.cta-c.gold-c{background:var(--gold);border-color:transparent}
.cta-c.gold-c:hover{background:var(--gold-light)}
.cta-c.gold-c h4,.cta-c.gold-c p,.cta-c.gold-c .cta-c-arrow{color:var(--white)}
.cta-c-icon{font-size:1.3rem;display:block}
.cta-c h4{font-size:0.85rem;font-weight:700;color:var(--white);letter-spacing:-0.01em}
.cta-c p{font-size:0.72rem;color:rgba(255,255,255,0.65);line-height:1.4}
.cta-c-arrow{font-size:0.78rem;color:rgba(255,255,255,0.65);font-weight:600;margin-top:auto}
.site-footer{background:var(--navy-mid);border-top:1px solid rgba(255,255,255,0.05)}
.footer-main{max-width:var(--w);margin:0 auto;padding:3rem var(--pad);display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1fr;gap:2.5rem}
.footer-brand strong{font-size:1.05rem;font-weight:800;color:var(--white);display:block;margin-bottom:0.3rem}
.footer-brand small{font-size:0.65rem;font-weight:500;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.1em}
.footer-brand p{font-size:0.78rem;color:rgba(255,255,255,0.65);line-height:1.6;margin-top:0.6rem}
.footer-brand a{color:var(--gold-light);text-decoration:none}
.footer-col h5{font-size:0.65rem;font-weight:700;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.9rem}
.footer-col a{display:block;font-size:0.8rem;color:rgba(255,255,255,0.55);text-decoration:none;margin-bottom:0.45rem;transition:color 0.18s}
.footer-col a:hover{color:var(--gold-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.05);padding:1.25rem var(--pad);max-width:var(--w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem}
.footer-bottom p{font-size:0.72rem;color:rgba(255,255,255,0.6)}
.reveal{opacity:1;transform:none}
.reveal.on{opacity:1;transform:none}
.delay-1{transition-delay:0.1s}
.delay-2{transition-delay:0.2s}
.h-inner{width:100%;max-width:var(--w);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;box-sizing:border-box}
.topbar-strip{background:var(--navy-mid);border-bottom:1px solid rgba(255,255,255,.06)}
.topbar-strip .h-inner{height:36px;justify-content:space-between}
.topbar-qualiopi{font-size:.72rem;color:#4ade80;display:flex;align-items:center;gap:5px}
.topbar-qualiopi a{color:#4ade80;text-decoration:none}
.topbar-qualiopi strong{font-weight:600}
.topbar-intranet{font-size:.72rem;color:#A8B6CC;text-decoration:none;display:flex;align-items:center;gap:4px;transition:color .18s}
.topbar-intranet:hover{color:var(--white)}
.main-nav{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--gray-100);position:relative;z-index:200}
.main-nav .h-inner{height:68px;gap:0}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;margin-right:2rem}
.nav-logo img{height:42px;width:auto;display:block}
.nav-menu{display:flex;align-items:center;list-style:none;margin:0;padding:0;flex:1;gap:0}
.nav-item-btn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--gray-700);padding:.45rem .85rem;border-radius:6px;display:flex;align-items:center;gap:.3rem;white-space:nowrap;transition:all .18s}
.nav-item-btn:hover,.has-dropdown:hover .nav-item-btn{color:var(--navy);background:var(--gray-50)}
.nav-item-link{text-decoration:none;font-size:.82rem;font-weight:600;color:var(--gray-700);padding:.45rem .85rem;border-radius:6px;display:flex;align-items:center;white-space:nowrap;transition:all .18s}
.nav-item-link:hover{color:var(--navy);background:var(--gray-50)}
.nav-item-link--bold{color:var(--navy)}
.nav-chevron{font-size:.55rem;opacity:.4;margin-left:2px;transition:transform .2s}
.has-dropdown:hover .nav-chevron{transform:rotate(180deg)}
.nav-end{margin-left:auto;flex-shrink:0;padding-left:1rem;display:flex;align-items:center}
.nav-btn-candidat{font-size:.8rem;font-weight:700;color:var(--white);background:var(--navy);padding:.5rem 1.2rem;border-radius:7px;text-decoration:none;display:inline-block;transition:background .18s;white-space:nowrap}
.nav-btn-candidat:hover{background:var(--navy-light)}
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-left:.35rem;flex-shrink:0;min-height:44px;min-width:44px}
.nav-search-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto;
  color:var(--navy);align-items:center;justify-content:center;min-width:44px;min-height:44px}
.search-pop{position:fixed;inset:0;z-index:9500;display:flex;align-items:flex-start;justify-content:center}
.search-pop[hidden]{display:none}
.search-pop-backdrop{position:absolute;inset:0;background:rgba(10,16,28,.55)}
.search-pop-box{position:relative;width:100%;max-width:560px;margin:0 .75rem;margin-top:4.5rem;
  background:var(--white);border-radius:14px;box-shadow:0 18px 50px rgba(11,31,58,.32);
  padding:1rem 1rem .9rem;animation:searchPopIn .22s cubic-bezier(.16,1,.3,1)}
@keyframes searchPopIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.search-pop-box{animation:none}}
.search-pop-form{display:flex;align-items:center;gap:.5rem;
  border:1.5px solid var(--gray-100);border-radius:10px;padding:.15rem .15rem .15rem .7rem;background:var(--gray-50)}
.search-pop-form:focus-within{border-color:var(--gold);background:var(--white)}
.search-pop-icon{color:var(--gray-500);flex-shrink:0}
.search-pop-form input[type=search]{flex:1;min-width:0;border:none;background:none;outline:none;
  font-family:inherit;font-size:1rem;padding:.7rem 0;color:var(--navy)}
.search-pop-form input[type=search]::placeholder{color:var(--gray-500)}
.search-pop-go{background:var(--navy);color:var(--white);border:none;border-radius:8px;
  padding:.6rem 1rem;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;
  min-height:44px;flex-shrink:0}
.search-pop-go:hover{background:var(--navy-light,#1A3A5C)}
.search-pop-close{position:absolute;top:-3.1rem;right:0;background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.3);color:var(--white);width:40px;height:40px;border-radius:50%;
  cursor:pointer;font-size:1rem;line-height:1}
@media(max-width:960px){
  .nav-search-btn{display:inline-flex}
}
.nav-burger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px}
.has-dropdown{position:relative;display:flex;align-items:center;height:68px}
.dropdown-panel{position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--gray-100);border-radius:0 0 10px 10px;box-shadow:0 12px 40px rgba(11,31,58,.11);padding:.5rem;min-width:260px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:400}
.has-dropdown:hover .dropdown-panel{opacity:1;pointer-events:auto}
.dropdown-panel.simple a{display:block;font-size:.79rem;color:var(--gray-700);text-decoration:none;padding:.48rem .8rem;border-radius:7px;transition:all .15s;line-height:1.4}
.dropdown-panel.simple a:hover{color:var(--navy);background:var(--gray-50)}
li.mega{position:static}
.dropdown-panel.mega-panel{position:absolute;top:68px;left:0;right:0;background:var(--white);border:1px solid var(--gray-100);border-top:none;border-radius:0 0 12px 12px;box-shadow:0 16px 40px rgba(11,31,58,.1);padding:1.5rem var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .2s,transform .2s;z-index:400}
.has-dropdown.mega:hover .dropdown-panel.mega-panel{opacity:1;pointer-events:auto;transform:translateY(0)}
.mega-col{display:flex;flex-direction:column;gap:.05rem}
.mega-level{font-size:.63rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;padding:0 .8rem .5rem;border-bottom:1px solid var(--gray-100);margin-bottom:.35rem}
.mega-col a{display:block;font-size:.79rem;color:var(--gray-700);text-decoration:none;padding:.42rem .8rem;border-radius:7px;transition:all .15s;line-height:1.3}
.mega-col a:hover{color:var(--navy);background:var(--gray-50)}
.mobile-drawer{display:none;position:fixed;inset:0;z-index:9998}
.mobile-drawer.open{display:block}
.drawer-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.drawer-panel{position:absolute;top:0;left:0;bottom:0;width:min(320px,88vw);background:var(--white);display:flex;flex-direction:column;overflow:hidden;transform:translateX(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.mobile-drawer.open .drawer-panel{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;border-bottom:1px solid var(--gray-100);flex-shrink:0}
.drawer-head img{height:34px;width:auto}
.drawer-close{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--navy);padding:4px;line-height:1;display:flex;align-items:center;border-radius:6px;transition:background .15s}
.drawer-close:hover{background:var(--gray-50)}
.drawer-content{flex:1;overflow-y:auto;padding-bottom:1.5rem}
.drawer-item{border-bottom:1px solid var(--gray-100)}
.drawer-btn{width:100%;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:600;color:var(--navy);padding:.9rem 1.25rem;display:flex;align-items:center;justify-content:space-between;text-align:left}
.drawer-btn:hover{background:var(--gray-50)}
.drawer-chevron{font-size:.6rem;opacity:.4;transition:transform .2s;flex-shrink:0}
.drawer-item.open .drawer-chevron{transform:rotate(180deg)}
.drawer-link{display:block;font-size:.92rem;font-weight:600;color:var(--navy);text-decoration:none;padding:.9rem 1.25rem}
.drawer-link:hover{background:var(--gray-50)}
.drawer-link--bold{font-weight:700}
.drawer-sub{display:none;background:var(--gray-50)}
.drawer-item.open .drawer-sub{display:block}
.drawer-sub a{display:block;font-size:.84rem;color:var(--gray-700);text-decoration:none;padding:.7rem 1.25rem .7rem 2rem;border-bottom:1px solid rgba(0,0,0,.05)}
.drawer-sub a:last-child{border-bottom:none}
.drawer-sub a:hover{background:var(--gray-100);color:var(--navy)}
.drawer-sub-level{font-size:.62rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;padding:.7rem 1.25rem .4rem 2rem;display:block}
.drawer-foot{padding:1rem 1.25rem;flex-shrink:0;border-top:1px solid var(--gray-100)}
.drawer-cta{display:block;background:var(--navy);color:var(--white);text-align:center;padding:.85rem;border-radius:10px;font-size:.9rem;font-weight:700;text-decoration:none}
.drawer-cta:hover{background:var(--navy-light)}
.hcard-domain{padding:.85rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:.85rem;transition:background .15s;text-decoration:none;cursor:pointer}
.hcard-domain:last-of-type{border-bottom:none}
.hcard-domain:hover{background:rgba(255,255,255,.06);border-left-color:var(--gold)}
.hcard-domain.active{background:rgba(196,149,42,.12);border-left-color:var(--gold-light)}
.hcard-domain-icon{font-size:1.1rem;flex-shrink:0;width:32px;text-align:center}
.hcard-domain-text{flex:1;min-width:0}
.hcard-domain-title{font-size:.85rem;font-weight:600;color:var(--white)}
.hcard-domain-sub{font-size:.7rem;color:rgba(255,255,255,.65);margin-top:.1rem}
.hcard-domain-count--all{background:rgba(255,255,255,.1);color:rgba(255,255,255,.6)}
.hcard-domain-count{font-size:.63rem;font-weight:700;padding:.18rem .5rem;border-radius:4px;background:rgba(196,149,42,.2);color:var(--gold-light);white-space:nowrap;flex-shrink:0}
.domain-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.df-btn{padding:.42rem 1rem;border-radius:100px;font-size:.78rem;font-weight:600;border:1.5px solid var(--gray-100);background:var(--white);color:var(--gray-500);cursor:pointer;transition:all .18s;font-family:inherit}
.df-btn.active{background:var(--navy);color:var(--white);border-color:var(--navy)}
.df-btn:hover:not(.active){border-color:var(--gray-400);color:var(--navy)}
.f-level-block{margin-bottom:2.5rem}
.f-level-block.hidden{display:none}
.f-level-label{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.f-level-pill{background:var(--navy);color:var(--white);font-size:.7rem;font-weight:800;padding:.28rem .8rem;border-radius:100px;letter-spacing:.04em;white-space:nowrap}
.f-level-line{flex:1;height:1px;background:var(--gray-100)}
.f-grid{display:grid;gap:1px;background:var(--gray-100);border-radius:14px;overflow:hidden;border:1px solid var(--gray-100)}
.f-grid.cols-2{grid-template-columns:1fr 1fr}
.f-grid.cols-3{grid-template-columns:1fr 1fr 1fr}
.f-card{background:var(--white);padding:1.75rem;position:relative;transition:all .22s;display:flex;flex-direction:column;text-decoration:none}
.f-card.hidden{display:none}
.f-card:hover{background:var(--navy);z-index:1}
.f-card:hover .fc-domain{color:var(--gold-light)}
.f-card:hover .fc-title{color:var(--white)}
.f-card:hover .fc-desc{color:rgba(255,255,255,.65)}
.f-card:hover .fc-meta{border-color:rgba(255,255,255,.08)}
.f-card:hover .fc-meta-val{color:var(--white)}
.f-card:hover .fc-meta-lbl{color:rgba(255,255,255,.6)}
.f-card:hover .fc-arrow{opacity:1;color:var(--gold-light)}
.f-card.featured{background:var(--navy)}
.f-card.featured .fc-domain{color:var(--gold)}
.f-card.featured .fc-title{color:var(--white)}
.f-card.featured .fc-desc{color:rgba(255,255,255,.5)}
.f-card.featured .fc-meta{border-color:rgba(255,255,255,.08)}
.f-card.featured .fc-meta-val{color:var(--white)}
.f-card.featured .fc-meta-lbl{color:rgba(255,255,255,.6)}
.f-card.featured .fc-arrow{opacity:1;color:var(--gold)}
.fc-domain{font-size:.62rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.65rem}
.fc-title{font-size:1rem;font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:.55rem;letter-spacing:-.01em}
.fc-desc{font-size:.78rem;color:var(--gray-500);line-height:1.58;flex:1;margin-bottom:1.1rem}
.fc-meta{display:flex;gap:1.25rem;padding-top:1rem;border-top:1px solid var(--gray-100);margin-top:auto}
.fc-meta-val{font-size:.83rem;font-weight:700;color:var(--navy);letter-spacing:-.01em;display:block}
.fc-meta-lbl{font-size:.6rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;display:block;margin-top:.1rem}
.fc-arrow{position:absolute;top:1.4rem;right:1.4rem;font-size:1rem;opacity:0;transition:opacity .2s}
.mobilite-section{background:var(--navy);padding:5rem 0}
.mobilite-intro{margin:2rem 0 2.5rem}
.mobilite-intro p{font-size:.92rem;line-height:1.75;color:rgba(255,255,255,.55);max-width:70ch}
.mobilite-intro strong{color:var(--gold-light);font-weight:600}
.mobilite-dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem}
.dest-featured{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1.25rem;transition:background .2s}
.dest-featured:hover{background:rgba(255,255,255,.07)}
.dest-flag-big{font-size:2.5rem;line-height:1}
.dest-info{display:flex;flex-direction:column;gap:.4rem}
.dest-level-badge{display:inline-block;background:rgba(196,149,42,.2);color:var(--gold-light);font-size:.65rem;font-weight:700;padding:.2rem .65rem;border-radius:100px;letter-spacing:.06em;width:fit-content}
.dest-city{font-size:1.3rem;font-weight:800;color:var(--white);letter-spacing:-.02em;line-height:1}
.dest-country{font-size:.75rem;color:rgba(255,255,255,.6);font-weight:500;margin-top:.1rem}
.dest-text{font-size:.8rem;line-height:1.6;color:rgba(255,255,255,.5);margin-top:.5rem}
.mobilite-contact{background:rgba(196,149,42,.1);border:1px solid rgba(196,149,42,.25);border-radius:14px;padding:1.5rem;display:flex;align-items:center;gap:1.25rem}
.mobilite-contact-icon{font-size:1.75rem;flex-shrink:0}
.mobilite-contact-title{font-size:.7rem;font-weight:700;color:var(--gold-light);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.3rem}
.mobilite-contact-text{font-size:.85rem;color:rgba(255,255,255,.7)}
.mobilite-contact-text strong{color:var(--white);font-weight:600}
.mobilite-contact-email{display:block;font-size:.82rem;color:var(--gold-light);text-decoration:none;margin-top:.3rem;word-break:break-all}
.mobilite-contact-email:hover{text-decoration:underline}
.popup-overlay{position:fixed;inset:0;background:rgba(10,10,20,.55);z-index:9000;display:flex;align-items:center;justify-content:center;animation:fadeOverlay .3s ease}
@keyframes fadeOverlay{from{opacity:0}to{opacity:1}}
.popup-box{background:var(--white);border-radius:20px;max-width:520px;width:90%;overflow:hidden;animation:slideUp .4s cubic-bezier(.16,1,.3,1)}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.popup-header{background:#7B2D9E;padding:2rem 2rem 1.5rem;position:relative}
.popup-close{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.15);border:none;color:var(--white);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .18s}
.popup-close:hover{background:rgba(255,255,255,.25)}
.popup-tag{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.5rem}
.popup-title{font-size:1.5rem;font-weight:800;color:var(--white);letter-spacing:-.02em;line-height:1.15}
.popup-title em{font-style:normal;color:#FFE000}
.popup-inner{padding:1.75rem 2rem}
.popup-inner p{font-size:.88rem;line-height:1.7;color:var(--gray-500);margin-bottom:1.5rem}
.popup-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.popup-btn-primary{background:#7B2D9E;color:var(--white);padding:.7rem 1.4rem;border-radius:8px;font-size:.83rem;font-weight:700;text-decoration:none;transition:background .18s}
.popup-btn-primary:hover{background:#6a2489}
.popup-btn-ghost{background:var(--gray-50);color:var(--navy);padding:.7rem 1.4rem;border-radius:8px;font-size:.83rem;font-weight:600;text-decoration:none;border:1.5px solid var(--gray-100);transition:border-color .18s}
.popup-btn-ghost:hover{border-color:var(--gray-400)}
.popup-footer{padding:.75rem 2rem 1.25rem;font-size:.72rem;color:var(--gray-400);text-align:center;cursor:pointer}
.popup-footer:hover{color:var(--gray-500)}
@media(max-width:960px){
  :root{--pad:1.5rem}
  .chiffres-grid{border-radius:0;margin:1rem 0 0}
  .cta-block{border-radius:12px;padding:2rem}
  .nav-menu{display:none}
  .nav-end{display:none}
  .nav-burger{display:flex;margin-left:auto}
  .hero{padding:4rem 0 3rem}
  .hero-content{grid-template-columns:1fr;padding:0 var(--pad)}
  .hero-card{display:none}
  .hero-kpis{flex-wrap:wrap;gap:1.5rem}
  .formations,.chiffres,.atouts,.cta-section,.mobilite-section{padding:3.5rem 0}
  .f-grid.cols-2,.f-grid.cols-3{grid-template-columns:1fr}
  .chiffres-grid{grid-template-columns:1fr 1fr}
  .atouts-grid{grid-template-columns:1fr}
  .atouts-right{position:static}
  .mobilite-dest-grid{grid-template-columns:1fr}
  .mobilite-contact{flex-direction:column;text-align:center}
  .cta-block{grid-template-columns:1fr;gap:1.75rem;padding:1.75rem}
  .footer-main{grid-template-columns:1fr 1fr;gap:1.5rem}
  .footer-bottom{flex-direction:column;text-align:center}
}
.placement-section{background:var(--off-white);padding:5rem 0}
.placement-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:3rem}
.placement-left
.placement-lead{font-size:1rem;line-height:1.75;color:var(--gray-500);margin-bottom:2rem}
.placement-lead strong{color:var(--navy);font-weight:600}
.placement-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}
.placement-stat{background:var(--white);border:1px solid var(--gray-100);border-radius:12px;padding:1.25rem;text-align:center}
.placement-stat-num{font-size:2rem;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1}
.placement-stat-num em{font-style:normal;color:var(--gold)}
.placement-stat-label{font-size:.72rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;margin-top:.3rem}
.placement-services{display:flex;flex-direction:column;gap:.75rem}
.placement-service{background:var(--white);border:1.5px solid var(--gray-100);border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem;transition:border-color .2s}
.placement-service:hover{border-color:var(--gold)}
.ps-icon{width:40px;height:40px;background:var(--gold-pale);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}
.ps-content h4{font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:.25rem}
.ps-content p{font-size:.78rem;line-height:1.55;color:var(--gray-500)}
.placement-diplomes{margin-top:2rem;background:var(--navy);border-radius:16px;padding:2rem}
.placement-diplomes h4{font-size:.7rem;font-weight:700;color:var(--gold-light);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1rem}
.diplome-list{display:flex;flex-direction:column;gap:.6rem}
.diplome-item{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid rgba(255,255,255,.07)}
.diplome-item-name{font-size:.82rem;font-weight:600;color:var(--white)}
.diplome-item-tag{font-size:.65rem;font-weight:700;padding:.2rem .6rem;border-radius:4px;white-space:nowrap}
.tag-top{background:rgba(196,149,42,.2);color:var(--gold-light)}
.tag-recommande{background:rgba(72,199,142,.15);color:#6EE7B7}
@media(max-width:960px){
  .placement-grid{grid-template-columns:1fr}
  .placement-stats{grid-template-columns:1fr 1fr}
}
.dest-flag-big{flex-shrink:0;margin-bottom:.75rem;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.25);width:60px;height:40px}
.dest-flag-big span{font-size:.85rem;font-weight:800;letter-spacing:.05em;color:var(--white)}
.dest-flag-ca{background:linear-gradient(135deg,#D52B1E,#D52B1E 40%,var(--white) 40%,var(--white) 60%,#D52B1E 60%)}
.dest-flag-us{background:linear-gradient(135deg,#3C3B6E,#3C3B6E 45%,#B22234 45%)}
.dest-flag-jp{background:var(--white)}.dest-flag-jp span{color:#BC002D}
.page-hero{background:var(--navy);padding:3.5rem 0 2.5rem;position:relative;overflow:hidden}
.page-hero-deco{position:absolute;border-radius:50%;border:1px solid rgba(196,149,42,.12);pointer-events:none}
.page-hero-deco.d1{width:500px;height:500px;top:-200px;right:-80px}
.page-hero-deco.d2{width:280px;height:280px;top:0;right:180px;border-color:rgba(196,149,42,.06)}
.page-hero-inner{max-width:var(--w);margin:0 auto;padding:0 var(--pad);position:relative;z-index:2}
.page-hero h1{font-size:clamp(1.6rem,3vw,2.6rem);font-weight:800;color:var(--white);letter-spacing:-.025em;line-height:1.15;margin-bottom:.35rem}
.page-hero-sub{font-size:.82rem;color:rgba(255,255,255,.65)}
.ifce-breadcrumb{background:var(--gray-50);border-bottom:1px solid var(--gray-100);padding:.6rem 0}
.ifce-breadcrumb-inner{max-width:var(--w);margin:0 auto;padding:0 var(--pad);font-size:.76rem;color:var(--gray-500)}
.ifce-breadcrumb a{color:var(--gray-500);text-decoration:none}
.ifce-breadcrumb a:hover{color:var(--navy)}
.ifce-breadcrumb span{margin:0 .35rem;opacity:.35}
.page-layout{max-width:var(--w);margin:0 auto;padding:2.5rem var(--pad);display:grid;grid-template-columns:1fr 280px;gap:2.5rem;align-items:start}
.page-sidebar{position:sticky;top:90px}
.content-card{background:var(--white);border-radius:14px;margin-bottom:1.5rem}
.content-card h2{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.85rem;display:flex;align-items:center;gap:.5rem}
.content-card h3{font-size:1rem;font-weight:600;color:var(--navy);margin:1.1rem 0 .4rem}
.content-card p,.content-card li{font-size:.88rem;line-height:1.75;color:var(--gray-700)}
.content-card ul,.content-card ol{padding-left:1.4rem;margin-bottom:.65rem}
.content-card li{margin-bottom:.2rem}
.content-card hr{border:none;border-top:1px solid var(--gray-100);margin:1.75rem 0}
.content-card a{color:var(--gold);font-weight:500}
.content-card a:hover{text-decoration:underline}
.points-cles{background:var(--gold-pale);border:1.5px solid rgba(196,149,42,.25);border-radius:12px;padding:1.35rem 1.5rem;margin-bottom:1.5rem}
.points-cles h2{font-size:.88rem;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem;border:none;padding:0}
.taux-card{background:var(--white);border:1.5px solid #bbf7d0;border-left:4px solid #22c55e;border-radius:0 12px 12px 0;padding:1.1rem 1.35rem;margin-bottom:1.5rem}
.taux-card h3{font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:.4rem}
.taux-card ul{padding-left:1.25rem;margin:.4rem 0}
.taux-card li{font-size:.84rem;color:var(--gray-700);margin-bottom:.15rem}
.taux-card a{color:var(--gold);font-weight:600;font-size:.8rem;text-decoration:none;display:inline-block;margin-top:.4rem}
.alerte-inscription{background:var(--gold-pale);border:1.5px solid rgba(196,149,42,.3);border-radius:12px;padding:1.1rem 1.35rem;margin-bottom:1.5rem;font-size:.85rem;color:var(--navy);line-height:1.6}
.alerte-inscription a{color:var(--gold);font-weight:600;text-decoration:none}
.alerte-mobilite{background:var(--navy);border-radius:12px;padding:1.35rem 1.5rem;margin-bottom:1.5rem;font-size:.84rem;color:rgba(255,255,255,.7);line-height:1.7}
.alerte-mobilite strong{color:var(--gold-light)}
.alerte-mobilite a{color:var(--gold-light);font-weight:600;text-decoration:none}
.alerte-mobilite-title{font-size:.9rem;font-weight:700;color:var(--gold-light);margin-bottom:.6rem;display:block}
.inscrire-steps{background:var(--off-white);border-radius:14px;padding:1.75rem;margin-bottom:1.5rem}
.inscrire-steps h2{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:1.1rem}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.step{background:var(--white);border-radius:10px;padding:1.1rem;border:1px solid var(--gray-100)}
.step-num{font-size:1.35rem;font-weight:800;color:var(--gold);line-height:1;margin-bottom:.35rem}
.step h4{font-size:.83rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.step p{font-size:.78rem;line-height:1.6;color:var(--gray-500)}
.step a{color:var(--gold);font-weight:600}
.info-parcoursup{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.info-parcoursup-card{background:var(--white);border:1px solid var(--gray-100);border-radius:12px;padding:1.25rem}
.info-parcoursup-card img{width:100%;height:auto;border-radius:8px;margin-bottom:.65rem;display:block}
.info-parcoursup-card h3{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.info-parcoursup-card h3 a{color:inherit;text-decoration:none}
.info-parcoursup-card p{font-size:.78rem;color:var(--gray-500);line-height:1.6}
.sidebar-section{background:var(--white);border:1px solid var(--gray-100);border-radius:14px;padding:1.35rem;margin-bottom:1.1rem}
.sidebar-section h3{font-size:.67rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.8rem;padding-bottom:.55rem;border-bottom:1px solid var(--gray-100)}
.sidebar-btn{display:block;width:100%;padding:.58rem 1rem;border-radius:8px;font-size:.79rem;font-weight:600;text-decoration:none;text-align:center;margin-bottom:.5rem;transition:all .18s;border:none;cursor:pointer;font-family:inherit;box-sizing:border-box}
.sidebar-btn:last-child{margin-bottom:0}
.sidebar-btn-primary{background:var(--navy);color:var(--white)}
.sidebar-btn-primary:hover{background:var(--navy-light);color:var(--white)}
.sidebar-btn-gold{background:var(--gold);color:var(--white)}
.sidebar-btn-gold:hover{background:var(--gold-light);color:var(--white)}
.sidebar-btn-outline{background:var(--white);color:var(--navy);border:1.5px solid var(--gray-100)}
.sidebar-btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.sidebar-tag{display:inline-block;padding:.26rem .55rem;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:100px;font-size:.71rem;color:var(--gray-700);text-decoration:none;margin:0 .18rem .32rem 0;transition:all .18s}
.sidebar-tag:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.sidebar-plus{list-style:none;padding:0;margin:0}
.sidebar-plus li{font-size:.81rem;color:var(--gray-700);line-height:1.55;padding:.35rem 0;border-bottom:1px solid var(--gray-100)}
.sidebar-plus li:last-child{border-bottom:none}
.sidebar-plus b{color:var(--navy)}
.sidebar-plus a{color:var(--gold);text-decoration:none;font-weight:600}
.sidebar-classement a{display:block;margin-bottom:.6rem;border-radius:8px;overflow:hidden}
.sidebar-classement img{width:100%;height:auto;display:block}
.offres-header{background:var(--navy);padding:3rem 0;position:relative;overflow:hidden}
.offres-header-deco{position:absolute;border-radius:50%;border:1px solid rgba(196,149,42,.1);pointer-events:none}
.offres-header-deco.d1{width:400px;height:400px;top:-150px;right:-50px}
.offres-header-inner{max-width:var(--w);margin:0 auto;padding:0 var(--pad);position:relative;z-index:2}
.offres-header h1{font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:800;color:var(--white);letter-spacing:-.02em}
.offres-layout{max-width:var(--w);margin:2rem auto 0;padding:0 var(--pad);display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:start}
.offres-main
.offres-sidebar{position:sticky;top:90px}
.offres-filter{margin-bottom:1.25rem}
.offres-filter select{width:100%;padding:.65rem 1rem;border:1.5px solid var(--gray-100);border-radius:10px;font-family:inherit;font-size:.85rem;color:var(--navy);background:var(--white);cursor:pointer;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7A99' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.offres-count{font-size:.82rem;color:var(--gray-500);margin-bottom:1rem}
.job-card-v2{position:relative;background:var(--white);border:1.5px solid var(--gray-100);border-radius:14px;padding:1.35rem 1.5rem;margin-bottom:.85rem;transition:all .2s}
.job-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.job-card-title::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}
.job-card-chevron{flex:0 0 auto;color:var(--gray-400);font-size:1.1rem;line-height:1.2;transition:color .15s,transform .15s}
.job-card-v2:hover .job-card-chevron{color:var(--gold);transform:translateX(2px)}
.job-card-v2:hover{border-color:var(--gold);box-shadow:0 4px 18px rgba(11,31,58,.07);transform:translateY(-1px)}
.job-card-title{font-size:.98rem;font-weight:700;color:var(--navy);text-decoration:none;display:block;margin-bottom:.45rem;transition:color .15s}
.job-card-title:hover{color:var(--gold)}
.job-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}
.job-badge-v2{display:inline-flex;align-items:center;gap:.28rem;font-size:.7rem;color:var(--gray-500);background:var(--gray-50);border:1px solid var(--gray-100);padding:.18rem .55rem;border-radius:100px}
.job-badge-v2 i{color:var(--gold);font-size:.62rem}
.job-card-footer{position:relative;z-index:1;border-top:1px solid var(--gray-100);padding-top:.75rem;display:flex;justify-content:flex-end;align-items:center;gap:.5rem;flex-wrap:wrap}
.job-btn{display:inline-block;padding:.42rem .9rem;border-radius:7px;font-size:.76rem;font-weight:600;text-decoration:none;transition:all .18s}
.job-btn-outline{border:1.5px solid var(--gray-100);color:var(--navy)}
.job-btn-outline:hover{border-color:var(--navy)}
.job-btn-primary{background:var(--navy);color:var(--white)}
.job-btn-primary:hover{background:var(--navy-light);color:var(--white)}
.job-detail-card{background:var(--white);border:1px solid var(--gray-100);border-radius:14px;padding:2rem;margin-bottom:1.5rem}
.job-detail-card h2{font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:.85rem}
.job-detail-card .job-desc{font-size:.88rem;line-height:1.75;color:var(--gray-700)}
.job-detail-card .job-desc h4{font-size:.78rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin:1.25rem 0 .5rem;border-bottom:2px solid var(--gold);display:inline-block;padding-bottom:.15rem}
.job-desc .of-section,
.job-desc h2,.job-desc h3,.job-desc h5{font-size:1rem;font-weight:700;color:var(--navy);
  margin:1.75rem 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid var(--gray-100);
  letter-spacing:normal;line-height:1.35}
.job-desc > :first-child .of-section,.job-desc .of-section:first-child{margin-top:0}
.job-desc .of-groupe{margin:1.15rem 0 .35rem;font-weight:700;color:var(--navy);font-size:.86rem}
.job-desc .of-intro{margin:1rem 0 .35rem}
.job-desc ul{margin:.25rem 0 .9rem;padding-left:1.15rem}
.job-desc li{margin:0 0 .3rem;line-height:1.55}
.job-desc li::marker{color:var(--gold)}
.job-desc p{margin:0 0 .8rem}
.job-desc li.of-modalite{list-style:none;margin-left:-1.15rem;padding:.45rem 0;
  border-bottom:1px dashed var(--gray-100);display:grid;grid-template-columns:9rem 1fr;
  gap:.15rem .75rem;align-items:baseline}
.job-desc li.of-modalite:last-child{border-bottom:0}
.job-desc .of-modalite-cle{font-size:.72rem;font-weight:700;
  color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;line-height:1.6}
@media (max-width:700px){
  .job-desc li.of-modalite{grid-template-columns:1fr;gap:.1rem}
}
.of-barre-action{display:none}
@media (max-width:700px){
  .of-barre-action{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:var(--white);border-top:1px solid var(--gray-100);
    box-shadow:0 -2px 14px rgba(11,31,58,.10);
    padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom))}
  .of-barre-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;
    min-height:48px;background:var(--navy);color:var(--white);border-radius:9px;
    font-size:.9rem;font-weight:700;text-decoration:none}
  .of-barre-btn:hover,.of-barre-btn:focus-visible{background:var(--navy-light);color:var(--white)}
  body:has(.of-barre-action) .offres-layout{padding-bottom:5.5rem}
  body:has(.of-barre-action) #ck-fab,
  body:has(.of-barre-action) button[style*="position: fixed"]{bottom:92px !important}
}
.job-info-sidebar{background:var(--white);border:1.5px solid var(--gray-100);border-radius:14px;padding:1.35rem;position:sticky;top:90px}
.job-info-item{padding:.65rem 0;border-bottom:1px solid var(--gray-100)}
.job-info-item:last-of-type{border-bottom:none}
.job-info-label{font-size:.62rem;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:.18rem}
.job-info-value{font-size:.84rem;font-weight:600;color:var(--navy)}
.job-share{margin-top:1rem;text-align:center;padding-top:.75rem;border-top:1px solid var(--gray-100)}
.job-share p{font-size:.7rem;color:var(--gray-400);margin-bottom:.4rem}
.job-share-links{display:flex;justify-content:center;gap:.65rem}
.job-share-links a{color:var(--gray-500);font-size:1.05rem;transition:color .15s}
.job-share-links a:hover{color:var(--navy)}
.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--gold);text-decoration:none;margin-bottom:1rem}
.back-link:hover{text-decoration:underline}
.no-offers{background:var(--white);border:1px solid var(--gray-100);border-radius:14px;padding:3rem;text-align:center;color:var(--gray-500)}
.no-offers h2{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:.75rem}
.no-offers p{font-size:.88rem;line-height:1.65;margin-bottom:.5rem}
.no-offers a{color:var(--gold);font-weight:600}
.more-infos{background:var(--off-white);border-radius:12px;padding:1.5rem;margin-top:1.5rem;font-size:.84rem;line-height:1.65;color:var(--gray-700)}
.more-infos h4{font-size:.88rem;font-weight:700;color:var(--navy);margin:.75rem 0 .35rem}
.more-infos a{color:var(--gold);font-weight:600}
.hp-section{padding:4.5rem 0}
.hp-section.bg-off{background:var(--off-white)}
.hp-wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}
.hp-eyebrow{font-size:.7rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.55rem}
.hp-h2{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1.2;margin-bottom:.6rem}
.hp-lead{font-size:.9rem;color:var(--gray-500);line-height:1.65;max-width:55ch;margin-bottom:1.6rem}
.hp-parcours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.75rem}
.hp-parcours-card{background:var(--white);border:1.5px solid var(--gray-100);border-radius:14px;padding:1.4rem;transition:all .2s}
.hp-parcours-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.hp-parcours-icon{width:42px;height:42px;background:var(--gold-pale);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:.8rem}
.hp-parcours-title{font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:.65rem}
.hp-parcours-step{font-size:.79rem;color:var(--gray-500);padding:.26rem 0;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}
.hp-parcours-step:last-child{border-bottom:none}
.hp-parcours-step a{color:var(--navy);text-decoration:none;font-weight:600}
.hp-parcours-step a:hover{color:var(--gold)}
.hp-parcours-level{font-size:.6rem;color:var(--gray-400);font-weight:600;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.hp-classements{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.75rem}
.hp-classements a{display:block;border-radius:12px;overflow:hidden;transition:transform .18s}
.hp-classements a:hover{transform:translateY(-2px)}
.hp-classements img{width:100%;display:block}
.hp-video-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-top:2rem}
.hp-video-wrap{border-radius:14px;overflow:hidden;aspect-ratio:16/9}
.hp-video-wrap iframe{width:100%;height:100%;border:none}
.hp-video-text h3{font-size:1.25rem;font-weight:700;color:var(--navy);letter-spacing:-.02em;margin-bottom:.8rem}
.hp-video-text p{font-size:.86rem;line-height:1.75;color:var(--gray-500);margin-bottom:.65rem}
.hp-video-text a.btn-alt{display:inline-block;background:var(--navy);color:var(--white);padding:.65rem 1.35rem;border-radius:8px;font-size:.82rem;font-weight:700;text-decoration:none;margin-top:.25rem;transition:background .18s}
.hp-video-text a.btn-alt:hover{background:var(--navy-light)}
.hp-cta-strip{background:var(--navy);border-radius:16px;padding:2rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem}
.hp-cta-strip h3{font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:.2rem}
.hp-cta-strip p{font-size:.8rem;color:rgba(255,255,255,.5)}
.hp-cta-strip a.cta-btn{background:var(--gold);color:var(--white);padding:.65rem 1.35rem;border-radius:8px;font-size:.8rem;font-weight:700;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .18s}
.hp-cta-strip a.cta-btn:hover{background:var(--gold-light)}
.hp-cta-strip a.cta-tel{color:var(--gold-light);font-weight:600;text-decoration:none}
@media(max-width:960px){
  .page-layout,.offres-layout{grid-template-columns:1fr}
  .page-sidebar,.offres-sidebar,.job-info-sidebar{position:static}
  .steps-grid,.hp-parcours-grid,.hp-classements,.info-parcoursup{grid-template-columns:1fr}
  .hp-video-grid{grid-template-columns:1fr}
  .hp-cta-strip{flex-direction:column;text-align:center}
}
.chiffre-cell{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2rem 1.75rem;display:flex;flex-direction:column;gap:.5rem;transition:background .2s;position:relative;overflow:hidden}
.chiffre-cell::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transition:opacity .2s}
.chiffre-cell:hover{background:rgba(255,255,255,.07)}
.chiffre-cell:hover::before{opacity:1}
.ch-num{font-size:2.6rem;font-weight:800;color:var(--white);letter-spacing:-.03em;line-height:1}
.ch-num em{font-style:normal;color:var(--gold-light);font-size:1.4rem}
.ch-label{font-size:.68rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem}
.ch-desc{font-size:.78rem;color:rgba(255,255,255,.6);line-height:1.5;margin-top:.1rem}
.ifce-page-wrap{min-height:100vh}
.page-main{min-width:0}
.hero-left{display:flex;flex-direction:column;gap:0}
.hero-right{display:flex;flex-direction:column}
.dim{color:rgba(11,31,58,.55)}
.footer-brand strong{font-size:1.05rem;font-weight:800;color:var(--white);display:block;margin-bottom:0.3rem}
.footer-brand small{font-size:0.65rem;font-weight:500;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.1em}
.footer-brand p{font-size:0.78rem;color:rgba(255,255,255,0.65);line-height:1.6;margin-top:0.6rem}
.footer-brand a{color:var(--gold-light);text-decoration:none}
.footer-col h5{font-size:0.65rem;font-weight:700;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.9rem}
.footer-col a{display:block;font-size:0.8rem;color:rgba(255,255,255,0.55);text-decoration:none;margin-bottom:0.45rem;transition:color 0.18s}
.footer-col a:hover{color:var(--gold-light)}
.sidebar-classement a{display:block;margin-bottom:.6rem;border-radius:8px;overflow:hidden}
.sidebar-classement img{width:100%;height:auto;display:block}
.dropdown-panel.simple a{display:block;font-size:.79rem;color:var(--gray-700);text-decoration:none;padding:.48rem .8rem;border-radius:7px;transition:all .15s;line-height:1.4}
.dropdown-panel.simple a:hover{color:var(--navy);background:var(--gray-50)}
.ps-content h4{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.ps-content p{font-size:.79rem;line-height:1.6;color:var(--gray-500)}
.mobilite-contact-text{flex:1}
.atout-content{flex:1}
.cta-left-content{display:flex;flex-direction:column;gap:1rem}
.qualiopi-label{font-size:.72rem;color:#4ade80}
.btn-gold,
.btn-white-ghost,
.btn-gold:hover,
.btn-white-ghost:hover {
  text-decoration: none !important;
}
.btn-gold {
  display: inline-flex;
  align-items: center;
  background: var(--gold) !important;
  color: var(--white) !important;
  padding: .75rem 1.5rem;
  border-radius: 8px;
  font-size: .88rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: background .18s;
}
.btn-gold:hover { background: var(--gold-light) !important; color: var(--white) !important; }
.btn-white-ghost {
  display: inline-flex;
  align-items: center;
  background: transparent !important;
  color: var(--white) !important;
  padding: .75rem 1.5rem;
  border-radius: 8px;
  font-size: .88rem;
  font-weight: 600;
  border: 1.5px solid rgba(255,255,255,.25) !important;
  cursor: pointer;
  font-family: inherit;
  transition: all .18s;
}
.btn-white-ghost:hover { border-color: rgba(255,255,255,.6) !important; color: var(--white) !important; }
.row{display:flex;flex-wrap:wrap;margin:0 -15px}
.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12,.col-xl-12{padding:0 15px;box-sizing:border-box;width:100%}
.col-md-4,.col-sm-4{padding:0 15px;box-sizing:border-box;width:100%}
.col-md-8,.col-sm-8{padding:0 15px;box-sizing:border-box;width:100%}
.col-md-6,.col-sm-6{padding:0 15px;box-sizing:border-box;width:100%}
.col-md-9,.col-sm-9{padding:0 15px;box-sizing:border-box;width:100%}
.col-md-3,.col-sm-3{padding:0 15px;box-sizing:border-box;width:100%}
@media(min-width:768px){
  .col-sm-4{width:33.333%}
  .col-sm-6{width:50%}
  .col-sm-8{width:66.667%}
  .col-sm-3{width:25%}
  .col-sm-9{width:75%}
}
@media(min-width:992px){
  .col-md-4{width:33.333%}
  .col-md-6{width:50%}
  .col-md-8{width:66.667%}
  .col-md-3{width:25%}
  .col-md-9{width:75%}
  .col-md-12{width:100%}
  .d-lg-none{display:none!important}
  .d-none.d-lg-block{display:block!important}
}
@media(max-width:991px){
  .d-none.d-lg-block{display:none!important}
}
.mb-4{margin-bottom:1.5rem}
.mt-4{margin-top:1.5rem}
.mb-5{margin-bottom:2rem}
.mt-5{margin-top:2rem}
.text-uppercase{text-transform:uppercase}
.table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:1rem}
.table th,.table td{padding:.6rem .85rem;border:1px solid var(--gray-100);text-align:left;vertical-align:top;line-height:1.5}
.table th{background:var(--navy);color:var(--white);font-weight:600;font-size:.78rem}
.table tbody tr:nth-child(even){background:var(--gray-50)}
.table-bordered{border:1px solid var(--gray-100)}
.label{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.72rem;font-weight:600}
.label-info{background:rgba(11,31,58,.1);color:var(--navy)}
.label.rounded{border-radius:100px}
.placement-left{display:flex;flex-direction:column;gap:0}
.offres-main{min-width:0}
.content-card img{max-width:100%;height:auto;border-radius:8px;display:block}
.content-card .row img{margin-bottom:1rem}
.content-card h3{font-size:.95rem;font-weight:700;color:var(--navy);margin:1.25rem 0 .5rem}
.mobile-cta-bar{
  max-width:var(--w);
  margin:1rem auto;
  padding:0 var(--pad);
  display:flex;
  gap:.5rem;
}
.mobile-cta-btn{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  padding:.6rem .5rem;
  border-radius:8px;
  font-size:.78rem;
  font-weight:600;
  text-decoration:none !important;
  text-align:center;
  white-space:nowrap;
  border:1.5px solid transparent;
  font-family:inherit;
  transition:all .18s;
  box-sizing:border-box;
}
.mobile-cta-btn--outline{
  background:var(--white);
  color:var(--navy);
  border-color:var(--gray-100);
}
.mobile-cta-btn--outline:hover{border-color:var(--gold);color:var(--gold)}
.mobile-cta-btn--gold{
  background:var(--gold);
  color:var(--white) !important;
}
.mobile-cta-btn--gold:hover{background:var(--gold-light)}
.mobile-cta-btn--navy{
  background:var(--navy);
  color:var(--white) !important;
}
.mobile-cta-btn--navy:hover{background:var(--navy-light)}
@media(min-width:992px){
  .mobile-cta-bar{display:none}
}
.job-detail-layout{
  display:grid;
  grid-template-columns:1fr 260px;
  gap:2rem;
  align-items:start;
}
@media(max-width:960px){
  .job-detail-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:1rem;
    width:100%;
  }
  .job-detail-layout > div{
    width:100% !important;
    box-sizing:border-box;
  }
  .job-detail-layout > div:last-child{
    order:-1;
  }
  .job-info-sidebar{
    position:static !important;
    width:100% !important;
    box-sizing:border-box;
  }
  .job-info-sidebar .sidebar-btn{
    display:block;
    text-align:center;
    width:100%;
    box-sizing:border-box;
  }
  .job-detail-card{
    width:100%;
    box-sizing:border-box;
  }
  .job-share-links a{font-size:1.4rem}
  .offres-header{padding:2rem 0}
  .offres-layout{grid-template-columns:1fr !important;padding-top:1.5rem}
  .offres-sidebar{display:none}
}
.ir{color:var(--gray-700);font-size:.95rem;line-height:1.7}
.ir-intro{background:var(--navy);border-radius:16px;padding:1.8rem 2rem;margin-bottom:1.5rem}
.ir-intro-tag{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-light);margin-bottom:.5rem}
.ir .ir-intro-title{font-size:1.5rem;font-weight:800;color:#fff !important;margin:0;letter-spacing:-.02em}
.ir .ir-intro-lead{margin:.85rem 0 0;color:#F3ECDD !important;font-size:.95rem;line-height:1.65}
.ir .ir-intro-lead strong{color:#fff !important}
.ir-card{background:var(--white);border:1px solid var(--gray-100);border-radius:16px;
  padding:1.6rem;margin-bottom:1.3rem}
.ir-cles{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.9rem;margin-bottom:1.3rem}
.ir-cle{background:var(--white);border:1px solid var(--gray-100);border-radius:14px;padding:1.15rem 1.25rem}
.ir-cle-fort{border-color:var(--gold);background:var(--gold-pale)}
.ir-cle-val{display:block;font-size:1.9rem;font-weight:800;color:var(--navy);line-height:1.05;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ir-cle-fort .ir-cle-val{color:#6B4E0F}
.ir-cle-lib{display:block;font-size:.86rem;font-weight:700;color:var(--navy);margin-top:.35rem;line-height:1.35}
.ir-cle-det{display:block;font-size:.76rem;color:var(--gray-500);margin-top:.3rem;line-height:1.4}
.ir-barres{display:flex;flex-direction:column;gap:1.15rem;margin:1rem 0 0}
.ir-barre-nom{font-size:.88rem;font-weight:700;margin-bottom:.4rem}
.ir-barre-nom a{color:var(--navy);text-decoration:none}
.ir-barre-nom a:hover{color:var(--gold)}
.ir-barre-ligne{display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem}
.ir-barre-lib{flex:0 0 5.5rem;font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--gray-500)}
.ir-barre-piste{flex:1 1 auto;height:12px;background:var(--gray-50);border:1px solid var(--gray-100);
  border-radius:100px;overflow:hidden;min-width:0}
.ir-barre-jauge{display:block;height:100%;background:var(--gray-400);border-radius:100px}
.ir-barre-nous{background:var(--gold)}
.ir-barre-val{flex:0 0 4.5rem;text-align:right;font-size:.84rem;font-weight:700;color:var(--navy);
  font-variant-numeric:tabular-nums}
.ir-rep{display:block;font-size:.7rem;color:var(--gray-500);font-weight:400;
  font-variant-numeric:normal;margin-top:.1rem;white-space:nowrap}
.ir-rep-plus{color:#1E7A47;font-weight:600}
.ir-card-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;
  color:var(--gold);margin:0 0 1rem}
.ir-card h3{font-size:1rem;font-weight:700;color:var(--navy);margin:1.4rem 0 .5rem}
.ir-card h3:first-of-type{margin-top:0}
.ir-card p{margin:0 0 .9rem}.ir-card p:last-child{margin-bottom:0}
.ir-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ir-table{width:100%;border-collapse:collapse;font-size:.86rem}
.ir-table th,.ir-table td{padding:.6rem .55rem;text-align:left;border-bottom:1px solid var(--gray-100)}
.ir-table thead th{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--gray-500);border-bottom:2px solid var(--gray-100);white-space:nowrap}
.ir-table tbody th{font-weight:700;color:var(--navy)}
.ir-table tbody th a{color:var(--navy);text-decoration:none}
.ir-table tbody th a:hover{color:var(--gold)}
.ir-table td{font-variant-numeric:tabular-nums;white-space:nowrap}
.ir-table tbody th{white-space:normal;min-width:9rem}
.ir-val{display:block;font-weight:700;color:var(--navy)}
.ir-det{display:block;font-size:.72rem;color:var(--gray-500);white-space:normal;
  max-width:12rem;line-height:1.35;margin-top:.1rem;font-variant-numeric:normal}
.ir-table td a{color:var(--gold);font-weight:600;text-decoration:none}
.ir-nd{color:var(--gray-400);font-style:italic;font-variant-numeric:normal}
.ir-note{margin:.9rem 0 0;font-size:.78rem;color:var(--gray-500)}
.ir-liste,.ir-liens{list-style:none;margin:0;padding:0}
.ir-liste li,.ir-liens li{padding:.5rem 0;border-bottom:1px solid var(--gray-100);
  display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline}
.ir-liste li:last-child,.ir-liens li:last-child{border-bottom:0}
.ir-liste a,.ir-liens a{color:var(--navy);font-weight:600;text-decoration:none}
.ir-liste a:hover,.ir-liens a:hover{color:var(--gold)}
.ir-niv{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--gray-500)}
.ir-tx{font-size:.8rem;color:var(--gray-500)}
.ir-source{font-size:.78rem;color:var(--gray-500);margin:1.2rem 0 0}
.ir-source a{color:var(--gold);font-weight:600}
@media (max-width:700px){
  .ir-intro{padding:1.4rem 1.2rem}
  .ir-card{padding:1.15rem}
  .ir-table,.ir-table tbody,.ir-table tr,.ir-table td,.ir-table tbody th{display:block;width:auto}
  .ir-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ir-table tr{border:1px solid var(--gray-100);border-radius:12px;margin:0 0 .8rem;padding:.3rem .2rem}
  .ir-table tbody th{border-bottom:1px solid var(--gray-100);font-size:.95rem}
  .ir-table td{display:flex;justify-content:space-between;gap:1rem;border-bottom:0;white-space:normal}
  .ir-table td::before{content:attr(data-label);font-size:.72rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}
  .ir-table td.ir-cell-reussite{display:block}
  .ir-cle-val{font-size:1.7rem}
  .ir-barre-lib{flex-basis:4.5rem}
  .ir-barre-val{flex-basis:4rem}
  .ir-table td.ir-cell-reussite::before{display:block;margin-bottom:.15rem}
  .ir-cell-reussite .ir-det{max-width:none}
}
.ij-bloc{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--gray-100)}
.ij-titre{font-size:.72rem;font-weight:800;color:var(--gold);text-transform:uppercase;
  letter-spacing:.1em;margin-bottom:.7rem}
.ij-titre .ij-annee{color:var(--gray-500);font-weight:600;letter-spacing:.04em}
.ij-chiffres{display:flex;flex-wrap:wrap;gap:.6rem}
.ij-item{flex:1 1 8.5rem;min-width:8rem;background:var(--gray-50);border:1px solid var(--gray-100);
  border-radius:10px;padding:.6rem .75rem}
.ij-val{display:block;font-size:1.25rem;font-weight:800;color:var(--navy);line-height:1.15}
.ij-lib{display:block;font-size:.74rem;color:var(--gray-500);line-height:1.3;margin-top:.15rem}
.ij-accompagnement{margin:.7rem 0 0;font-size:.78rem;color:var(--gray-700);line-height:1.55;
  background:var(--gold-pale);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:.6rem .8rem}
.ij-accompagnement strong{color:var(--navy)}
.ij-source{margin:.6rem 0 0;font-size:.72rem;color:var(--gray-500)}
.ij-source a{color:var(--gold);font-weight:600}
.of-filtres{margin:0 0 1.1rem}
.of-chip{display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:.35rem .85rem;border:1.5px solid var(--gray-100);
  border-radius:100px;background:var(--white);color:var(--navy);
  font-size:.8rem;font-weight:600;text-decoration:none;white-space:nowrap;
  transition:border-color .15s,background .15s,color .15s}
.of-chip:hover,.of-chip:focus-visible{border-color:var(--navy);color:var(--navy)}
.of-chip.is-active{background:var(--navy);border-color:var(--navy);color:var(--white)}
.of-chip-tout{margin-bottom:.7rem}
.of-niveau{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem}
.of-niveau-label{flex:0 0 auto;font-size:.66rem;font-weight:800;color:var(--gold);
  text-transform:uppercase;letter-spacing:.1em}
.of-niveau-chips{display:flex;flex-wrap:wrap;gap:.4rem;min-width:0}
.of-compteur{margin:0 0 1.1rem;font-size:.85rem;color:var(--gray-500)}
.of-compteur strong{color:var(--navy);font-weight:700}
.of-badge-diplome{display:inline-flex;align-items:center;font-size:.7rem;
  font-weight:700;color:var(--navy);background:var(--gold-pale);
  border:1px solid rgba(134,100,19,.22);padding:.18rem .55rem;border-radius:100px}
@media (max-width:700px){
  .of-niveau{flex-direction:column;align-items:stretch;gap:.3rem;margin-bottom:.75rem}
  .of-niveau-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:2px;padding-right:1.5rem}
  .of-niveau-chips::-webkit-scrollbar{display:none}
  .of-niveau-chips .of-chip{scroll-snap-align:start}
  .of-chip-tout{display:flex;width:100%}
  .job-badge-ref{display:none}
  .job-card-v2{padding:1.1rem 1.15rem}
  .job-card-title{font-size:.94rem;line-height:1.35}
  .of-chip{min-height:44px;padding:.5rem 1rem}
  .job-card-footer .job-btn-primary{flex:1 1 auto;display:inline-flex;align-items:center;
    justify-content:center;min-height:44px;padding:.6rem 1rem;font-size:.82rem}
  .job-detail-card > h2{display:none}
}
.offres-filter-card{
  background:var(--white);
  border:1.5px solid var(--gray-100);
  border-radius:14px;
  padding:1.25rem 1.5rem;
  margin-bottom:1rem;
}
.offres-filter-label{
  font-size:.7rem;
  font-weight:700;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:.65rem;
}
.offres-filter-card select,
.offres-filter-card .select-diplome{
  width:100%;
  padding:.65rem 1rem;
  border:1.5px solid var(--gray-100);
  border-radius:10px;
  font-family:inherit;
  font-size:.88rem;
  color:var(--navy);
  background:var(--white);
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7A99' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
}
.offres-filter-card img[src*="graduation"],
.offres-filter-card .fa-graduation-cap,
.offres-filter-card input[type="submit"],
.offres-filter-card input[type="button"],
.offres-filter-card button:not(.offres-filter-btn){
  display:none !important;
}
.offres-bandeau,
.offres-bandeau > *,
.offres-bandeau div,
.offres-bandeau p,
.offres-bandeau span{
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}
.offres-bandeau{
  background:var(--white) !important;
  border-left:4px solid var(--navy) !important;
  border-radius:0 10px 10px 0 !important;
  padding:.85rem 1.25rem !important;
  margin-bottom:1.25rem !important;
  font-size:.85rem;
  color:var(--navy) !important;
  line-height:1.5;
}
.offres-bandeau:empty{display:none !important}
.offres-bandeau strong,.offres-bandeau b{color:var(--navy) !important;font-weight:700}
.offres-bandeau img,.offres-bandeau .fa,.offres-bandeau i{display:none !important}
.content-card h2 + hr { display: none }
.content-card h2{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.85rem;display:flex;align-items:center;gap:.5rem}
@supports selector(:has(+ hr)) {
  .content-card h2:has(+ hr) { display: none }
}
@media(max-width:767px){
}
@media(max-width:767px){
}
.formation-section-title{
  font-size:1.3rem;
  font-weight:800;
  color:var(--navy);
  letter-spacing:-.01em;
  margin:1.9rem 0 .9rem;
  padding-bottom:.55rem;
  border-bottom:2px solid var(--gray-100);
  display:flex;
  align-items:center;
  gap:.5rem;
  scroll-margin-top:120px;
}
.formation-fab{position:fixed;top:50%;right:0;transform:translateY(-50%);display:flex;align-items:stretch;z-index:600;transition:transform .32s cubic-bezier(.4,0,.2,1)}
.formation-fab.is-collapsed{transform:translate(230px,-50%)}
.formation-fab-tab{flex:0 0 auto;width:42px;border:none;background:var(--navy);color:#fff;cursor:pointer;border-radius:12px 0 0 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:.9rem 0;box-shadow:-4px 0 14px rgba(11,31,58,.18)}
.formation-fab-tab:hover{background:#1A3A5C}
.formation-fab-tab .fab-word{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.formation-fab-tab .fab-chev{transition:transform .3s}
.formation-fab:not(.is-collapsed) .fab-chev{transform:rotate(180deg)}
.formation-fab-panel{flex:0 0 230px;width:230px;max-height:78vh;overflow-y:auto;background:#fff;border:1px solid var(--gray-100);box-shadow:-10px 0 30px rgba(11,31,58,.14);padding:1rem 1.1rem}
.formation-fab-panel h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);font-weight:800;margin:0 0 .65rem}
.formation-fab-panel a{display:block;font-size:.8rem;color:var(--gray-700);text-decoration:none;padding:.32rem .55rem;border-left:2px solid transparent;border-radius:0 6px 6px 0;transition:background .15s,color .15s,border-color .15s;line-height:1.35}
.formation-fab-panel a:hover{background:var(--gold-pale);color:var(--navy)}
.formation-fab-panel a.active{border-left-color:var(--gold);background:var(--gold-pale);color:var(--navy);font-weight:700}
@media(max-width:600px){.formation-fab-panel{flex-basis:78vw;width:78vw}.formation-fab.is-collapsed{transform:translate(78vw,-50%)}}
.formation-section-title:first-child{margin-top:0}
.page-main{--fdp:.92rem}
.page-main p,
.page-main li,
.page-main td,
.page-main th,
.page-main a,
.page-main strong,
.page-main b,
.page-main em,
.page-main label,
.page-main span:not(.ifce-badge),
.page-main div:not(.step-num):not(.row):not([class*="col-"]){
  font-size:var(--fdp) !important;
  line-height:1.65 !important;
}
.page-sidebar{--fdp:.92rem}
.page-sidebar p,
.page-sidebar li,
.page-sidebar strong,
.page-sidebar b,
.page-sidebar em,
.page-sidebar a:not(.sidebar-btn):not(.sidebar-tag),
.page-sidebar span:not(.ifce-badge){
  font-size:var(--fdp) !important;
  line-height:1.55 !important;
}
.formation-hr{
  border:none;
  border-top:1px solid var(--gray-100);
  margin:1.75rem 0;
}
.page-hero-h1{
  font-size:clamp(1.6rem,3vw,2.6rem);
  font-weight:800;
  color:var(--white);
  letter-spacing:-.025em;
  line-height:1.15;
  margin-bottom:.35rem;
}
.points-cles-title{
  font-size:.88rem;
  font-weight:700;
  color:var(--navy);
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:.65rem;
  border:none;
  padding:0;
}
.page-layout-full{
  max-width:var(--w);
  margin:0 auto;
  padding:2.5rem var(--pad);
}
.page-layout-full .content-card img{max-width:100%;height:auto}
.page-layout-full .content-card .full-width{width:100%;display:block;border-radius:12px;margin-bottom:1.5rem}
.page-layout-full .testimonial-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}
.page-layout-full .testimonial-info img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.page-layout-full .testimonial-author{font-size:.9rem;font-weight:600;color:var(--navy)}
.page-layout-full .title-v2{font-size:.72rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin:1.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-100)}
.page-layout-full .item{padding:0 15px;box-sizing:border-box;margin-bottom:1rem}
.page-layout-full blockquote.hero{border-left:4px solid var(--gold);padding:.75rem 1.25rem;margin:1rem 0;background:var(--gold-pale);border-radius:0 8px 8px 0;font-style:italic;color:var(--gray-700)}
.page-layout-full .label-light{background:var(--gray-50);color:var(--navy);border:1px solid var(--gray-100)}
.page-layout-full .label-success{background:rgba(34,197,94,.12);color:#15803d}
.page-layout-full .label-info{background:rgba(11,31,58,.08);color:var(--navy)}
.offres-filter-card select:only-child:not([size]):not([multiple]){
}
.offres-filter-card.is-empty{display:none}
.ifce-badge{
  display:inline-block;
  padding:.2em .65em;
  font-size:.72rem;
  font-weight:700;
  border-radius:20px;
  letter-spacing:.03em;
  vertical-align:middle;
}
.ifce-badge-navy{background:var(--navy);color:var(--white)}
.ifce-badge-blue{background:#E8EFF8;color:var(--navy)}
.ifce-badge-green{background:#E6F4EA;color:#1A6B35}
.ifce-badge-gold{background:var(--gold-pale);color:#7A5A00}
.ifce-table{
  width:100%;
  border-collapse:collapse;
  font-size:.83rem;
  margin:1rem 0;
}
.ifce-table th{
  background:var(--navy);
  color:var(--white);
  padding:.55rem .75rem;
  text-align:left;
  font-weight:600;
  font-size:.78rem;
  letter-spacing:.04em;
}
.ifce-table td{
  padding:.5rem .75rem;
  border-bottom:1px solid var(--gray-100);
  vertical-align:top;
  line-height:1.5;
}
.ifce-table tr:nth-child(even) td{background:#F8F9FC}
.ifce-table tr:hover td{background:var(--gold-pale)}
.ifce-table td[style*="border-left:2px solid red"],
.ifce-table td[style*="border-right:2px solid red"]{
  border-left-color:var(--gold) !important;
  border-right-color:var(--gold) !important;
  border-top-color:var(--gold) !important;
  border-bottom-color:var(--gold) !important;
}
.ifce-table th[colspan],
.ifce-table td[colspan]{
  background:var(--navy-light,#132A4A) !important;
  color:var(--white);
  font-weight:600;
}
.ifce-table td[colspan][style*="gold-pale"],
.ifce-table td[colspan][style*="background-color:#"]{
  background:none !important;
  color:var(--navy) !important;
}
.page-maj{margin-top:2rem;padding-top:1rem;border-top:1px solid #E5E9F0;font-size:.85rem;color:#6b7b93}
@media(max-width:767px){
  .fc-meta-lbl{font-size:.8rem}
  .fc-domain{font-size:.8rem}
  .fc-meta-val{font-size:.9rem}
  .fc-desc{font-size:.9rem}
  .eyebrow{font-size:.82rem}
  .ck-cookie-desc{font-size:.85rem}
  .df-btn,.topbar-intranet,.preuves-lien,.nav-burger{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:767px){
  .ifce-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ifce-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  .ifce-table th,.ifce-table td{
    padding:.4rem .5rem;font-size:.75rem;
    white-space:normal;overflow-wrap:anywhere;word-break:break-word;
  }
  .ifce-table.t-stack{display:block;overflow:visible;border:none;background:none}
  .ifce-table.t-stack thead{display:none}
  .ifce-table.t-stack tbody,
  .ifce-table.t-stack tr,
  .ifce-table.t-stack td{display:block;width:auto}
  .ifce-table.t-stack tr{
    background:var(--white,#fff);
    border:1px solid var(--rule,#E2E8F0);
    border-left:3px solid var(--gold,#866413);
    border-radius:10px;
    padding:.9rem 1rem;
    margin-bottom:.8rem;
  }
  .ifce-table.t-stack tr:last-child{margin-bottom:0}
  .ifce-table.t-stack td{
    border:none;
    border-bottom:1px solid var(--gray-100,#EEF1F6);
    padding:.55rem 0;
    font-size:.86rem;
    line-height:1.5;
    white-space:normal;      
    word-break:break-word;
  }
  .ifce-table.t-stack td:last-child{border-bottom:none;padding-bottom:0}
  .ifce-table.t-stack td::before{
    content:attr(data-label);
    display:block;
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--gray-500,#5C6B82);
    margin-bottom:.15rem;
  }
  .ifce-table.t-stack td:first-child{
    padding-top:0;
    font-size:1rem;
    font-weight:700;
    color:var(--navy,#0B1F3A);
  }
  .ifce-table.t-stack td:first-child::before{display:none}
  .ifce-table.t-stack td:empty{display:none}
  .td_hide_on_mobile{display:none !important}
  .ifce-table td[style*="gold-pale"],
  .ifce-table th[style*="gold-pale"]{color:var(--navy) !important}
  .ifce-table td[style*="gold-pale"] b,
  .ifce-table td[style*="gold-pale"] strong{color:var(--navy) !important}
  .ifce-table.t-scroll{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ifce-table.t-scroll th,
  .ifce-table.t-scroll td{white-space:normal;word-break:break-word;font-size:.72rem;padding:.4rem .45rem}
  .ifce-table.t-scroll td:first-child,
  .ifce-table.t-scroll th:first-child{min-width:9rem}
  .ifce-table.t-scroll td:nth-child(2),
  .ifce-table.t-scroll td:nth-child(3){min-width:2.4rem;text-align:center}
  .ifce-table.t-scroll td:nth-last-child(-n+2),
  .ifce-table.t-scroll th:nth-last-child(-n+2){min-width:3.9rem}
  .ifce-table.t-scroll td:first-child,
  .ifce-table.t-scroll th:first-child{min-width:6.5rem}
  .ifce-table.t-scroll tr:first-child{display:none}
  .t-scroll-hint{
    display:block;font-size:.72rem;color:var(--gray-500,#5C6B82);
    margin:0 0 .35rem;font-style:italic;
  }
}
@media(min-width:768px){ .t-scroll-hint{display:none} }
.formation-section .ifce-table,
.content-card .ifce-table{
  display:block;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.ifce-table td[style*="border-left"]{
  border-color:var(--gold) !important;
}
.ifce-table td[style*="background-color:#f0b6b6"],
.ifce-table td[style*="background-color: #f0b6b6"]{
  background:var(--gold-pale) !important;
  font-weight:600;
}
.content-card a.pagelink,
.page-main a.pagelink{
  color:var(--gold);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--gold-pale);
  transition:border-color .2s;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.content-card a.pagelink:hover,
.page-main a.pagelink:hover{
  border-bottom-color:var(--gold);
}
.ifce-section-with-img{
  display:flex;
  gap:1.5rem;
  align-items:flex-start;
  margin-bottom:.5rem;
}
.ifce-section-img{
  width:160px;
  flex-shrink:0;
  border-radius:12px;
  object-fit:cover;
  aspect-ratio:4/3;
  box-shadow:0 4px 16px rgba(11,31,58,.1);
}
.ifce-section-content{
  flex:1;
  min-width:0;
}
@media(max-width:767px){
  .ifce-section-with-img{
    flex-direction:column;
    gap:1rem;
  }
  .ifce-section-img{
    width:100%;
    max-width:280px;
    margin:0 auto;
    display:block;
  }
}
#ck-overlay{
  position:fixed;inset:0;
  background:rgba(11,31,58,.55);
  backdrop-filter:blur(2px);
  z-index:99998;
  opacity:0;pointer-events:none;
  transition:opacity .25s;
}
#ck-overlay.ck-visible{opacity:1;pointer-events:all}
#ck-panel{
  position:fixed;
  top:0;right:0;bottom:0;
  width:min(420px,100vw);
  background:var(--white);
  z-index:99999;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow:-8px 0 40px rgba(11,31,58,.18);
  font-family:'Plus Jakarta Sans',sans-serif;
}
#ck-panel.ck-visible{transform:translateX(0)}
#ck-header{
  background:var(--navy);
  color:var(--white);
  padding:1.25rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;
  flex-shrink:0;
}
#ck-header h2{
  font-size:1rem;font-weight:700;
  color:var(--white);margin:0;
}
#ck-close{
  background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.7);font-size:1.4rem;
  line-height:1;padding:.25rem;
  transition:color .15s;
}
#ck-close:hover{color:var(--white)}
#ck-body{
  flex:1;overflow-y:auto;
  padding:1.25rem 1.5rem;
}
#ck-body p.ck-intro{
  font-size:.82rem;color:var(--gray-600);
  line-height:1.6;margin-bottom:1.25rem;
}
#ck-body a{color:var(--gold);text-decoration:underline}
.ck-cat{
  border:1.5px solid var(--gray-100);
  border-radius:12px;
  margin-bottom:.85rem;
  overflow:hidden;
}
.ck-cat-header{
  display:flex;align-items:center;gap:.75rem;
  padding:.9rem 1rem;
  background:#F8F9FC;
  cursor:pointer;
  user-select:none;
}
.ck-cat-header:hover{background:#F0F2F8}
.ck-cat-icon{font-size:1.1rem;flex-shrink:0}
.ck-cat-title{
  flex:1;
  font-size:.88rem;font-weight:700;
  color:var(--navy);
}
.ck-cat-badge{
  font-size:.68rem;font-weight:700;
  padding:.2em .65em;border-radius:20px;
  background:var(--gray-100);color:var(--gray-600);
  flex-shrink:0;
}
.ck-cat-badge.always{background:#E6F4EA;color:#1A6B35}
.ck-toggle{
  position:relative;width:42px;height:24px;flex-shrink:0;
}
.ck-toggle input{
  opacity:0;
  position:absolute;
  inset:0;
  width:100%;height:100%;
  cursor:pointer;
  margin:0;z-index:1;
}
.ck-toggle-track{
  position:absolute;inset:0;
  background:var(--gray-200);
  border-radius:24px;
  cursor:pointer;
  transition:background .2s;
}
.ck-toggle input:checked + .ck-toggle-track{background:var(--gold)}
.ck-toggle input:disabled + .ck-toggle-track{background:#A8D5B0;cursor:not-allowed}
.ck-toggle-track::after{
  content:'';
  position:absolute;top:3px;left:3px;
  width:18px;height:18px;
  background:var(--white);
  border-radius:50%;
  transition:transform .2s;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.ck-toggle input:checked + .ck-toggle-track::after{transform:translateX(18px)}
.ck-cat-detail{
  padding:0 1rem;
  max-height:0;overflow:hidden;
  transition:max-height .3s ease, padding .3s;
  font-size:.8rem;color:var(--gray-600);line-height:1.6;
}
.ck-cat-detail.open{max-height:300px;padding:.75rem 1rem}
.ck-cat-cookies{
  margin-top:.5rem;
  display:flex;flex-direction:column;gap:.35rem;
}
.ck-cookie-item{
  display:flex;justify-content:space-between;
  background:#F8F9FC;border-radius:8px;
  padding:.35rem .65rem;font-size:.75rem;
}
.ck-cookie-name{font-weight:600;color:var(--navy)}
.ck-cookie-desc{color:var(--gray-500)}
#ck-footer{
  padding:1rem 1.5rem;
  border-top:1px solid var(--gray-100);
  display:flex;flex-direction:column;gap:.65rem;
  flex-shrink:0;
  background:var(--white);
}
.ck-btn{
  width:100%;padding:.7rem 1rem;
  border-radius:10px;font-size:.85rem;font-weight:700;
  cursor:pointer;border:none;font-family:inherit;
  transition:opacity .15s, background .15s;
  text-align:center;
}
.ck-btn:hover{opacity:.88}
.ck-btn-all{background:var(--navy);color:var(--white)}
.ck-btn-save{background:var(--navy);color:var(--white)}

#ck-fab{
  position:fixed;
  bottom:24px;left:20px;
  z-index:9999;
  background:var(--navy);
  color:var(--white);
  border:2px solid var(--gold);
  border-radius:50%;
  opacity:.45;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:0 4px 16px rgba(11,31,58,.3);
  transition:transform .2s;
  font-family:inherit;
  padding:0;
}
#ck-fab svg{display:block;flex-shrink:0}
#ck-fab:hover,#ck-fab:focus-visible{transform:scale(1.08);opacity:1}
#ck-fab[aria-label]:hover::before{
  content:attr(aria-label);
  position:absolute;
  left:52px;bottom:4px;
  background:var(--navy);color:var(--white);
  font-size:.72rem;font-weight:600;
  padding:.3em .7em;border-radius:6px;
  white-space:nowrap;
  pointer-events:none;
}
#ck-banner{
  position:fixed;bottom:0;left:0;right:0;
  z-index:99997;
  background:var(--navy);color:var(--white);
  padding:.65rem 1.5rem;
  display:flex;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;
  box-shadow:0 -4px 24px rgba(0,0,0,.3);
  font-size:.82rem;line-height:1.5;
  font-family:'Plus Jakarta Sans',sans-serif;
  transform:translateY(0);
  transition:transform .3s;
}
#ck-banner.hidden{transform:translateY(110%)}
#ck-banner p{flex:1;min-width:200px;margin:0;color:rgba(255,255,255,.85)}
#ck-banner a{color:var(--gold-light);text-decoration:underline}
.ck-banner-btns{display:flex;gap:.55rem;flex-shrink:0;flex-wrap:wrap}
.ck-banner-btn{
  min-height:44px;padding:.45rem 1rem;border-radius:8px;
  font-size:.8rem;font-weight:700;line-height:1.2;
  cursor:pointer;border:1.5px solid transparent;font-family:inherit;
  transition:opacity .15s;
}
.ck-banner-btn-accept,.ck-banner-btn-refuse{background:var(--gold-light);color:var(--navy);border-color:var(--gold-light)}
.ck-banner-btn-settings{
  background:transparent;color:rgba(255,255,255,.95);
  border:1.5px solid rgba(255,255,255,.35);
}
@media(max-width:599px){
  #ck-banner{flex-direction:column;align-items:stretch;padding:.45rem .75rem .5rem;gap:.3rem}
  #ck-banner p{min-width:0;font-size:.75rem;line-height:1.35}
  .ck-banner-btns{width:100%;gap:.4rem;flex-wrap:nowrap}
  .ck-banner-btn{flex:1 1 0;min-width:0;padding:.4rem .25rem;font-size:.78rem}
}
.no-js .reveal,
.reveal.on { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal { opacity:1 !important; transform:none !important; }
}
.nav-search{display:flex;align-items:center;gap:0;margin-right:.7rem}
.nav-search input[type=search]{width:138px;padding:.42rem .7rem;font-size:.82rem;font-family:inherit;
  color:var(--navy);background:#f2f4f8;border:1px solid #e0e5ee;border-right:0;border-radius:7px 0 0 7px;min-height:34px}
.nav-search input[type=search]:focus{outline:2px solid var(--gold);outline-offset:-1px;background:var(--white)}
.nav-search input[type=search]::placeholder{color:#95a0b3}
.nav-search button{display:flex;align-items:center;justify-content:center;width:36px;min-height:34px;
  border:1px solid #e0e5ee;border-left:0;border-radius:0 7px 7px 0;background:#f2f4f8;color:var(--navy);cursor:pointer}
.nav-search button:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
@media (max-width:1240px){ .nav-search{display:none} }
@media (max-width: 768px) {
  .fc-meta-lbl, .fc-domain, .diplome-item-tag, .kpi-label,
  .hcard-domain-sub, .eyebrow, .hcard-domain-count, .placement-stat-label,
  .chiffre-cell, .ch-label, .cta-c { font-size: 12px !important; }
  .ticker-track a,
  .ticker-track span,
  .footer-col a,
  .footer-bottom a,
  .footer-brand a,
  .topbar-qualiopi,
  .topbar-intranet { display: inline-block; min-height: 24px; line-height: 24px; }
  .footer-col a,
  .footer-bottom a { padding-top: 4px; padding-bottom: 4px; min-height: 28px; line-height: 20px; }
}
.fp-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;margin:18px 0 14px}
.fp-logo{display:flex;align-items:center;justify-content:center;background:#fff;
  border:1px solid #e5e9f0;border-radius:10px;padding:14px 10px;min-height:78px;
  text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.fp-logo:hover{border-color:#C3CDDD;box-shadow:0 6px 18px rgba(11,31,58,.10);transform:translateY(-2px)}
.fp-logo img{max-width:104px;max-height:44px;width:auto;height:auto;margin:auto;
  filter:grayscale(1);opacity:.75;transition:filter .25s,opacity .25s}
.fp-logo:hover img{filter:none;opacity:1}
.fp-note{font-size:.92rem;color:#5C6B82}
@media (max-width:600px){.fp-logos{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:9px}
  .fp-logo{min-height:66px;padding:10px 8px}.fp-logo img{max-width:88px;max-height:36px}}

/* Zones tactiles >= 44 px (menu, tiroir mobile, pied de page) */
.nav-item-btn,.nav-item-link{min-height:44px}
.drawer-sub a{min-height:44px;display:flex;align-items:center}
.drawer-btn,.drawer-link{min-height:44px}
@media (max-width:1024px),(pointer:coarse){
  .dropdown-panel.simple a,.mega-col a{min-height:44px;display:flex;align-items:center}
}
@media (max-width:900px),(pointer:coarse){
  .footer-col a{display:flex;align-items:center;min-height:44px;margin-bottom:0}
  .footer-brand a{display:inline-flex;align-items:center;min-height:44px}
  .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;padding:0 .2rem}
  .footer-bottom a#popup-reopen{font-size:.78rem!important}
}
/* Coordonnees du pied de page : deux structures distinctes */
.footer-nap{margin-top:.75rem}
.footer-nap strong{color:var(--white)}
.footer-autre{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.18)}
.footer-autre .footer-autre-titre{display:block;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.3rem}
.footer-autre strong{color:var(--white)}
.footer-autre p{margin-top:.35rem}
.footer-brand .footer-nap strong,.footer-brand .footer-autre strong{font-size:.9rem;margin-bottom:.15rem}
.footer-nap strong+br,.footer-autre strong+br{display:none}
/* perf17/10 piste 1 : sections de l accueil sous la ligne de flottaison */
.hero~section{content-visibility:auto;contain-intrinsic-size:auto 800px}
.site-footer{content-visibility:auto;contain-intrinsic-size:auto 560px}
html.cv-all .hero~section,html.cv-all .site-footer{content-visibility:visible}
@media (max-width:768px){.hero~section{contain-intrinsic-size:auto 1500px}.site-footer{contain-intrinsic-size:auto 1690px}}
.job-card-v2{content-visibility:auto;contain-intrinsic-size:auto 170px}
@media (max-width:768px){.job-card-v2{contain-intrinsic-size:auto 230px}}

/* 17/10/2026 affichage mobile : cartes chiffres-cles, etiquettes, grille video inline, titres des pages /dossiers/ */
@media (max-width:768px){
  .ifce-page-wrap .container > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:minmax(0,1fr) !important;gap:1.5rem !important}
  .diplome-item{flex-wrap:wrap;gap:.4rem .6rem}
  .diplome-item-name{flex:1 1 auto;min-width:0}
  .diplome-item-tag{white-space:normal;max-width:100%}
  .placement-stat{padding:1.1rem .7rem;min-width:0}
  .placement-stat-num{font-size:clamp(1.3rem,5.6vw,2rem);overflow-wrap:anywhere}
  .placement-stat-num em{white-space:nowrap}
}
.content-card .ifce-intl h2{display:block}
.content-card .ifce-intl .ix-hero__text{min-width:0}
