:root{
  --paeb-blue:#087cc2;
  --paeb-blue-soft:#eaf6ff;
  --paeb-green:#05b253;
  --paeb-green-soft:#ecfff4;
  --paeb-yellow:#ffc400;
  --paeb-yellow-soft:#fff8de;
  --paeb-red:#d60000;
  --paeb-red-soft:#fff1f1;
  --paeb-navy:#1f2d3d;
  --paeb-ink:#253241;
  --muted:#647283;
  --line:#dce5ee;
  --soft:#f7fafc;
  --white:#ffffff;
  --container:1180px;
  --radius:24px;
  --radius-sm:16px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color:var(--paeb-ink);
  background:var(--white);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.skip-link{position:absolute;left:-999px;top:12px;background:var(--paeb-navy);color:#fff;padding:10px 14px;border-radius:10px;z-index:99}
.skip-link:focus{left:12px}
.container{width:min(100% - 44px, var(--container));margin-inline:auto}
.section-pad{padding:74px 0}
.section-pad-sm{padding:58px 0}

h1,h2,h3,p{margin-top:0}
h1,h2,h3,.stat,.big{
  font-family:'Montserrat', system-ui, sans-serif;
  font-weight:900;
  color:var(--paeb-navy);
  letter-spacing:-.045em;
  line-height:1.02;
}
h1{font-size:clamp(2.15rem, 4.6vw, 4.35rem);margin-bottom:20px}
h2{font-size:clamp(1.8rem, 3vw, 3rem);margin-bottom:18px}
h3{font-size:1.25rem;margin-bottom:10px}
p{color:var(--muted)}
.lead{font-size:1.08rem;max-width:660px;color:#4f5e70}

/* Header */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);z-index:50;backdrop-filter:saturate(160%) blur(12px)}
.color-strip{display:grid;grid-template-columns:repeat(4,1fr);height:7px}
.color-strip .blue{background:var(--paeb-blue)}.color-strip .green{background:var(--paeb-green)}.color-strip .yellow{background:var(--paeb-yellow)}.color-strip .red{background:var(--paeb-red)}
.nav-wrap{height:84px;display:flex;align-items:center;gap:26px;position:relative}
.brand{display:inline-flex;align-items:center;min-width:150px}
.brand img{width:166px;height:auto}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.main-nav a{padding:10px 12px;border-radius:999px;color:#536276;font-weight:800;font-size:.88rem;white-space:nowrap;transition:.2s ease}
.main-nav a:hover,.main-nav a.is-active{color:var(--paeb-blue);background:var(--paeb-blue-soft)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:900;border:1px solid transparent;cursor:pointer;transition:.2s ease;white-space:nowrap}
.nav-cta{background:var(--paeb-navy);color:#fff;padding:11px 17px;font-size:.9rem}
.nav-cta:hover{background:var(--paeb-blue)}
.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:var(--paeb-navy);margin:5px 0;border-radius:9px}

/* UI elements */
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--paeb-blue);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;margin-bottom:14px}
.eyebrow.green{color:var(--paeb-green)}.eyebrow.blue{color:var(--paeb-blue)}
.btn{padding:13px 20px;font-size:.95rem}
.btn.primary{background:var(--paeb-blue);color:#fff;border-color:var(--paeb-blue)}
.btn.primary:hover{background:#006cad;border-color:#006cad}
.btn.clean{background:#fff;color:var(--paeb-navy);border-color:var(--line)}
.btn.clean:hover{border-color:var(--paeb-blue);color:var(--paeb-blue)}
.btn.white{background:#fff;color:var(--paeb-green);border-color:#fff}
.btn.white:hover{background:#f9fffb}
.panel,.news-card,.gallery-item,.service-card,.stats-row article,.contact-cards article,.timeline article,.ecosystem-grid article,.media-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:none;
}

/* Home */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.hero::before{content:"";position:absolute;inset:auto -5% -26% auto;width:520px;height:520px;border:80px solid rgba(8,124,194,.08);border-radius:50%}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}
.mini-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.mini-features span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 14px;font-size:.85rem;font-weight:800;color:#4d5d6e}
.mini-features i{color:var(--paeb-green)}
.hero-visual{position:relative;display:grid;justify-items:end}
.hero-visual img{width:min(100%,430px);height:535px;object-fit:cover;border-radius:32px;border:1px solid var(--line)}
.quote-box{position:absolute;left:4px;bottom:34px;width:260px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--paeb-yellow);border-radius:22px;padding:20px}
.quote-box i{color:var(--paeb-yellow);font-size:22px;margin-bottom:8px}
.quote-box p{margin:0;color:var(--paeb-navy);font-weight:900;font-size:1.05rem;line-height:1.25}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-34px;position:relative;z-index:2}
.stats-row article{padding:24px;background:#fff}
.stat{display:block;font-size:2.65rem;margin-bottom:8px}.green{color:var(--paeb-green)}.yellow{color:var(--paeb-yellow)}.red{color:var(--paeb-red)}.blue{color:var(--paeb-blue)}
.stats-row p{margin:0;font-weight:700;color:#536276}
.intro-block{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start;padding:70px 0 80px;border-bottom:1px solid var(--line)}
.intro-block p:last-child{font-size:1rem;margin:44px 0 0}

/* Page headers */
.page{display:none}.page.is-active{display:block}
.page-hero{padding:66px 0;color:#fff;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-90px;top:-120px;width:320px;height:320px;border:56px solid rgba(255,255,255,.12);border-radius:50%}
.page-hero h1,.page-hero p{color:#fff}.page-hero .eyebrow{color:#fff}.dark-text h1,.dark-text p,.dark-text .eyebrow{color:var(--paeb-navy)}
.blue-bg{background:var(--paeb-blue)}.green-bg{background:var(--paeb-green)}.yellow-bg{background:var(--paeb-yellow)}.navy-bg{background:var(--paeb-navy)}.red-bg{background:var(--paeb-red)}.contact-bg{background:linear-gradient(135deg,var(--paeb-blue),var(--paeb-green))}
.compact-head{max-width:860px}.compact-head p:not(.eyebrow){font-size:1.06rem;max-width:760px;margin-bottom:0;color:rgba(255,255,255,.88)}.dark-text p:not(.eyebrow){color:#415063}

/* About */
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch}
.panel{padding:30px}.panel p:last-child{margin-bottom:0}
.media-card{overflow:hidden;display:grid;grid-template-columns:1fr;align-content:start}
.media-card img{width:100%;height:260px;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0}
.media-card div{padding:24px}
.services-wrap{padding:12px 0 82px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.service-card{padding:26px;border-top-width:7px}.service-card.technical{border-top-color:var(--paeb-green)}.service-card.strategic{border-top-color:var(--paeb-yellow)}.service-card.financial{border-top-color:var(--paeb-red)}
.card-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;margin-bottom:18px;background:var(--paeb-blue-soft);color:var(--paeb-blue);font-size:1.2rem}
.service-card ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.service-card li{position:relative;padding-left:24px;color:#536276;font-weight:700;font-size:.94rem}
.service-card li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.35}

/* Apply */
.apply-grid{display:grid;grid-template-columns:1fr 390px;gap:28px;align-items:start}
.timeline{display:grid;gap:16px}
.timeline article{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:24px}
.timeline span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--paeb-blue-soft);color:var(--paeb-blue);font-weight:900;border:1px solid #cfefff}
.timeline p{margin-bottom:0}.apply-card{position:sticky;top:112px}.apply-card h2{font-size:2rem}
.apply-box{border:1px solid var(--line);border-left:6px solid var(--paeb-blue);border-radius:16px;padding:16px;margin:14px 0;background:#fbfdff}
.apply-box small{display:block;color:#6a7585;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:900}
.apply-box strong{display:block;color:var(--paeb-blue);font-size:1.22rem;line-height:1.2;margin-top:4px}.note{background:var(--soft);border-radius:16px;padding:15px;margin:20px 0 0;font-size:.9rem}

/* News & Gallery */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:32px 0 8px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;font-weight:900;color:#526173;cursor:pointer;transition:.2s ease}
.chip:hover,.chip.is-active{background:var(--paeb-navy);color:#fff;border-color:var(--paeb-navy)}
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:24px 0 76px}.news-card{padding:24px;display:flex;flex-direction:column;gap:14px}
.badge{display:inline-flex;width:max-content;border-radius:999px;padding:7px 10px;color:#fff;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.badge.green{background:var(--paeb-green)}.badge.red{background:var(--paeb-red)}.badge.blue{background:var(--paeb-blue)}.badge.yellow{background:var(--paeb-yellow);color:var(--paeb-navy)}
.news-card h2{font-size:1.35rem}.news-card p{margin:0;font-size:.94rem}.news-card a{margin-top:auto;color:var(--paeb-blue);font-weight:900}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px 0 76px}.gallery-item{margin:0;overflow:hidden}.gallery-item img{width:100%;height:280px;object-fit:cover}.gallery-item[data-type="document"] img{object-fit:contain;background:#f5f8fb;padding:12px}.gallery-item figcaption{padding:15px 18px;font-weight:900;color:var(--paeb-navy);border-top:1px solid var(--line)}
.video-card{height:280px;background:linear-gradient(135deg,var(--paeb-navy),var(--paeb-blue));display:grid;place-items:center;text-align:center;color:#fff;padding:28px}.video-card span{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--paeb-red);font-size:1.35rem}.video-card strong{display:block;font-weight:900;font-size:1.35rem}.video-card small{opacity:.9}

/* Results */
.result-layout{display:grid;grid-template-columns:1fr .95fr;gap:28px}.result-stats{display:grid;gap:16px}.result-stats article{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff}.big{display:block;font-size:3.45rem;margin-bottom:10px}.result-stats h2{font-size:1.8rem;margin-bottom:8px}.result-stats p{margin:0}.impact-card img{height:270px;width:100%;object-fit:cover;border-radius:20px}.impact-card h2{font-size:2rem;margin-top:22px}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.check-list li{position:relative;padding-left:34px;color:#526173;font-weight:800}.check-list li::before{content:"✓";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:7px;background:var(--paeb-green);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.85rem}.ecosystem{padding:8px 0 78px}.ecosystem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ecosystem-grid article{padding:22px}.ecosystem-grid i{font-size:1.8rem;color:var(--paeb-blue);margin-bottom:14px}.ecosystem-grid p{margin:0;color:var(--paeb-navy);font-weight:900;line-height:1.25}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px}.contact-cards{display:grid;gap:14px;height:max-content}.contact-cards article{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;padding:20px}.contact-cards i{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:var(--paeb-blue-soft);color:var(--paeb-blue)}.contact-cards small{display:block;color:#6a7585;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.contact-cards strong,.contact-cards a{font-weight:900;color:var(--paeb-navy);overflow-wrap:anywhere}.contact-cards a{color:var(--paeb-blue)}.contact-form h2{font-size:2rem}.contact-form label{display:grid;gap:7px;margin-bottom:15px;font-weight:800;color:var(--paeb-navy)}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 15px;color:var(--paeb-ink);background:#fbfdff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--paeb-blue)}textarea{resize:vertical}.form-status{margin:14px 0 0;color:var(--paeb-green);font-weight:900}

/* Footer */
.site-footer{background:#f8fafc;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:180px 1fr auto;gap:24px;align-items:center;padding:32px 0}.footer-logo{width:165px}.footer-main p{margin:0;color:#5a687a;font-weight:700}.footer-link{font-weight:900;color:var(--paeb-blue)}.footer-partners{padding:0 0 28px}.footer-partners img{width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:4px}

.reveal{opacity:0;transform:translateY(14px);animation:reveal .45s ease forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.18s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}.is-hidden{display:none!important}

@media (max-width:1080px){
  .nav-cta{display:none}.menu-toggle{display:block}.main-nav{position:absolute;left:0;right:0;top:84px;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px}.main-nav.is-open{display:flex}.main-nav a{padding:13px 15px}.hero-grid,.two-col,.apply-grid,.result-layout,.contact-grid,.intro-block{grid-template-columns:1fr}.service-grid,.news-grid,.ecosystem-grid{grid-template-columns:repeat(2,1fr)}.apply-card{position:static}.quote-box{left:24px}.footer-main{grid-template-columns:1fr;text-align:center}.footer-logo{margin-inline:auto}
}
@media (max-width:720px){
  .container{width:min(100% - 28px, var(--container))}.nav-wrap{height:76px}.brand img{width:142px}.main-nav{top:76px}.section-pad{padding:52px 0}.section-pad-sm{padding:44px 0}h1{font-size:2.45rem}h2{font-size:2rem}.hero-grid{gap:34px}.hero-visual{justify-items:center}.hero-visual img{height:420px;width:100%;border-radius:24px}.quote-box{position:relative;left:auto;bottom:auto;margin-top:-34px;width:calc(100% - 32px)}.stats-row,.service-grid,.news-grid,.gallery-grid,.ecosystem-grid{grid-template-columns:1fr}.stats-row{margin-top:18px}.intro-block{padding:52px 0}.intro-block p:last-child{margin-top:0}.page-hero{padding:50px 0}.timeline article{grid-template-columns:1fr}.gallery-item img,.video-card{height:245px}.big{font-size:2.8rem}
}

/* Mise en valeur du financement disponible sur l'accueil */
.paeb-financing-highlight{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:42px;margin-top:64px;margin-bottom:28px;padding:clamp(28px,5vw,58px);border:1px solid var(--line);border-radius:var(--radius);background:var(--paeb-blue-soft)}
.paeb-financing-highlight h2{font-size:clamp(1.8rem,3vw,3.1rem);line-height:1.14}
.paeb-financing-highlight p:last-child{margin-bottom:0}
.paeb-financing-number{display:flex;flex-direction:column;gap:12px;align-items:flex-start;justify-content:center}
.paeb-financing-number strong{display:block;color:var(--paeb-blue);font-size:clamp(3.2rem,6vw,5.8rem);font-weight:900;line-height:1;letter-spacing:-.07em}
.paeb-financing-number span{font-size:clamp(1.05rem,1.55vw,1.35rem);font-weight:700;line-height:1.5;color:var(--paeb-navy)}
@media(max-width:800px){.paeb-financing-highlight{grid-template-columns:1fr;gap:22px;margin-top:36px}.paeb-financing-number strong{font-size:clamp(2.8rem,12vw,4.5rem)}}

/* Boîte à suggestions sur la page contact */
.paeb-suggestion-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:start;padding:60px 0 24px}
.paeb-suggestion-section h2{font-size:clamp(1.8rem,3vw,2.8rem)}
.paeb-suggestion-intro>p:last-child{max-width:520px}
.paeb-suggestion-form{padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.paeb-suggestion-form label{display:block;font-weight:800;color:var(--paeb-navy);margin-bottom:10px}
.paeb-suggestion-form textarea{background:#fff;min-height:155px}
.paeb-suggestion-note{font-size:.8rem;line-height:1.6;margin:10px 0 20px}
@media(max-width:800px){.paeb-suggestion-section{grid-template-columns:1fr;gap:20px;padding:40px 0 4px}}

/* Bandeau institutionnel PAEB : image transparente, sans cadre décoratif */
.footer-partners{padding:10px 0 32px}
.footer-partners img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;background:transparent;border:0;border-radius:0;padding:0}
@media(max-width:700px){.footer-partners{overflow-x:auto;overscroll-behavior-inline:contain}.footer-partners img{width:900px;min-width:900px;max-width:none}.footer-partners{padding-bottom:20px}}

/* Page Contact : accès direct à gauche, suggestions à droite */
.paeb-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(25px,4vw,60px);align-items:start}
.paeb-contact-heading{margin-bottom:25px}.paeb-contact-heading h2{font-size:clamp(1.8rem,3vw,2.5rem)}.paeb-contact-heading p:last-child{margin-bottom:0}
.paeb-contact-left,.paeb-contact-right{min-width:0}
.paeb-contact-left .contact-cards{gap:12px;margin-bottom:12px}
.paeb-contact-left .contact-cards article{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:16px;padding:16px;gap:12px;background:#fff}
.paeb-contact-left .contact-cards article>div{min-width:0;overflow-wrap:anywhere}
.paeb-contact-left .contact-cards article>i{width:42px;height:42px}
.paeb-copy-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 10px;color:var(--paeb-blue);font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap}
.paeb-copy-btn:hover,.paeb-copy-btn:focus-visible{border-color:var(--paeb-blue);background:var(--paeb-blue-soft)}
.paeb-copy-status{min-height:21px;font-size:.82rem;color:var(--paeb-blue);margin:0 0 20px}
.paeb-contact-left .contact-form{padding:clamp(20px,3vw,30px);border:1px solid var(--line);border-radius:20px}
.paeb-contact-left .contact-form h3{font-size:1.45rem;line-height:1.2;margin-bottom:10px}
.paeb-contact-left .contact-form>p{font-size:.89rem}
.paeb-suggestion-card{padding:clamp(22px,3.5vw,44px);border-radius:24px;border:1px solid #cde6fa;background:var(--paeb-blue-soft)}
.paeb-suggestion-icon{display:grid;place-items:center;width:52px;height:52px;background:#fff;color:var(--paeb-blue);font-size:1.4rem;border-radius:15px;margin-bottom:20px}
.paeb-suggestion-card h2{font-size:clamp(1.85rem,3vw,2.7rem);line-height:1.12}
.paeb-suggestion-card .paeb-suggestion-form{background:transparent;border:0;padding:10px 0 0}
.paeb-suggestion-card .paeb-suggestion-form label{margin-bottom:12px}
.paeb-suggestion-card .paeb-suggestion-form textarea{min-height:230px;background:#fff}
.paeb-suggestion-card .paeb-suggestion-form .btn{margin-top:16px;white-space:normal;text-align:center}
.paeb-suggestion-privacy{font-size:.8rem;line-height:1.55;margin:18px 0 0}
@media(max-width:900px){.paeb-contact-layout{grid-template-columns:1fr;gap:32px}.paeb-contact-right{order:2}}
@media(max-width:480px){.paeb-contact-left .contact-cards article{grid-template-columns:38px minmax(0,1fr);padding:14px}.paeb-contact-left .contact-cards article>i{width:38px;height:38px}.paeb-copy-btn{grid-column:2;justify-self:start}.paeb-contact-layout{padding-top:36px}}
