/* =========================================================
   PAGE NOTRE PROJET
   ========================================================= */

.pcb-programme-page{
    background:#fff;
}

/* HERO */

.pcb-programme-hero{
    padding:95px 0;
    background:linear-gradient(135deg,#0d4f91 0%,#1472bd 100%);
    color:#fff;
}

.pcb-programme-hero__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:65px;
    align-items:center;
}

.pcb-programme-hero__eyebrow{
    margin:0 0 18px;
    color:#ffd800;
    font-size:13px;
    font-weight:900;
    letter-spacing:.2em;
}

.pcb-programme-hero h1{
    max-width:700px;
    margin:0;
    font-size:clamp(46px,5vw,74px);
    line-height:1.04;
    font-weight:900;
}

.pcb-programme-hero__intro{
    max-width:650px;
    margin:28px 0;
    color:rgba(255,255,255,.9);
    font-size:19px;
    line-height:1.7;
}

.pcb-programme-hero__actions{
    display:flex;
    align-items:center;
    gap:25px;
    flex-wrap:wrap;
}

.pcb-programme-hero__link{
    color:#fff;
    font-weight:900;
    text-decoration:none;
}

.pcb-programme-hero__link:hover{
    text-decoration:underline;
}

.pcb-programme-hero__visual img{
    display:block;
    width:100%;
    height:500px;
    object-fit:cover;
    border-radius:28px;
    box-shadow:0 25px 60px rgba(0,0,0,.22);
}


/* INTRODUCTION */

.pcb-programme-intro{
    padding:100px 0;
}

.pcb-programme-intro__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:start;
}

.pcb-programme-intro h2{
    max-width:650px;
    margin:0;
    color:#12345d;
    font-size:clamp(38px,4vw,58px);
    line-height:1.08;
    font-weight:900;
}

.pcb-programme-intro__lead{
    color:#294b70 !important;
    font-size:20px !important;
    font-weight:700;
}

.pcb-programme-intro__grid p:not(.section-eyebrow){
    color:#61748d;
    font-size:18px;
    line-height:1.75;
}


/* AXES */

.pcb-programme-axes{
    padding:100px 0;
    background:#f5f8fc;
}

.pcb-programme-axes__heading{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:60px;
    align-items:end;
    margin-bottom:45px;
}

.pcb-programme-axes__heading h2{
    margin:0;
    color:#12345d;
    font-size:clamp(38px,4vw,58px);
    line-height:1.08;
    font-weight:900;
}

.pcb-programme-axes__heading > p{
    margin:0;
    color:#61748d;
    font-size:18px;
    line-height:1.7;
}

.pcb-programme-axes__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.pcb-programme-axis{
    position:relative;
    min-height:400px;
    padding:32px;
    background:#fff;
    border-radius:24px;
    border-top:4px solid #1472bd;
    box-shadow:0 15px 35px rgba(12,48,87,.06);
}

.pcb-programme-axis--yellow{
    border-top-color:#ffd800;
}

.pcb-programme-axis--red{
    border-top-color:#ef3b2d;
}

.pcb-programme-axis--navy{
    border-top-color:#12345d;
}

.pcb-programme-axis__number{
    display:block;
    margin-bottom:25px;
    color:#9aabba;
    font-size:13px;
    font-weight:900;
}

.pcb-programme-axis__icon{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:32px;
    border-radius:15px;
    background:#edf5fc;
    color:#1472bd;
    font-size:23px;
    font-weight:900;
}

.pcb-programme-axis--yellow .pcb-programme-axis__icon{
    background:#fff7d1;
    color:#b88a00;
}

.pcb-programme-axis--red .pcb-programme-axis__icon{
    background:#fff0ef;
    color:#d72e25;
}

.pcb-programme-axis--navy .pcb-programme-axis__icon{
    background:#edf1f6;
    color:#12345d;
}

.pcb-programme-axis h3{
    margin:0 0 15px;
    color:#12345d;
    font-size:26px;
}

.pcb-programme-axis p{
    margin:0;
    color:#61748d;
    font-size:16px;
    line-height:1.7;
}

.pcb-programme-axis__status{
    position:absolute;
    left:32px;
    bottom:30px;
    color:#8da0b5;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}


/* MÉTHODE */

.pcb-programme-method{
    padding:100px 0;
}

.pcb-programme-method__box{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    padding:55px;
    background:#0b315b;
    border-radius:28px;
    color:#fff;
}

.pcb-programme-method__box h2{
    max-width:650px;
    margin:0 0 22px;
    font-size:clamp(34px,4vw,52px);
    line-height:1.1;
}

.pcb-programme-method__box > div:first-child > p:last-child{
    max-width:620px;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:17px;
    line-height:1.7;
}

.pcb-programme-method__points{
    display:grid;
    gap:15px;
}

.pcb-programme-method__points > div{
    padding:22px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
}

.pcb-programme-method__points span{
    display:block;
    margin-bottom:8px;
    color:#ffd800;
    font-size:12px;
    font-weight:900;
}

.pcb-programme-method__points strong{
    display:block;
    margin-bottom:6px;
    font-size:20px;
}

.pcb-programme-method__points p{
    margin:0;
    color:rgba(255,255,255,.72);
    line-height:1.5;
}


/* CTA */

.pcb-programme-cta{
    padding:0 0 110px;
}

.pcb-programme-cta__box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:50px;
    background:#f5f8fc;
    border-radius:28px;
}

.pcb-programme-cta__box h2{
    max-width:800px;
    margin:0;
    color:#12345d;
    font-size:clamp(30px,4vw,48px);
    line-height:1.1;
}


/* RESPONSIVE */

@media (max-width:1000px){

    .pcb-programme-hero__grid,
    .pcb-programme-intro__grid,
    .pcb-programme-method__box{
        grid-template-columns:1fr;
    }

    .pcb-programme-axes__heading{
        grid-template-columns:1fr;
        gap:20px;
    }

    .pcb-programme-axes__grid{
        grid-template-columns:repeat(2,1fr);
    }

    .pcb-programme-hero__visual img{
        height:420px;
    }

}

@media (max-width:600px){

    .pcb-programme-hero{
        padding:70px 0;
    }

    .pcb-programme-intro,
    .pcb-programme-axes,
    .pcb-programme-method{
        padding:70px 0;
    }

    .pcb-programme-axes__grid{
        grid-template-columns:1fr;
    }

    .pcb-programme-axis{
        min-height:auto;
        padding-bottom:80px;
    }

    .pcb-programme-method__box{
        padding:32px 24px;
    }

    .pcb-programme-cta__box{
        padding:32px 25px;
        align-items:flex-start;
        flex-direction:column;
    }

}

/* =========================================================
   LISTE DES SOUS-SECTIONS
   ========================================================= */

.pcb-programme-axis{
    min-height:460px;
}

.pcb-programme-axis__list{
    margin:22px 0 0;
    padding:0 0 0 18px;
    color:#61748d;
    font-size:15px;
    line-height:1.8;
}

.pcb-programme-axis__list li{
    margin-bottom:4px;
}


/* =========================================================
   DÉTAIL DU PLAN A
   ========================================================= */

.pcb-programme-detail{
    padding:110px 0;
    background:#fff;
}

.pcb-programme-detail__heading{
    max-width:850px;
    margin-bottom:45px;
}

.pcb-programme-detail__heading h2{
    margin:0 0 18px;
    color:#12345d;
    font-size:clamp(40px,4vw,60px);
    line-height:1.08;
    font-weight:900;
}

.pcb-programme-detail__heading > p:last-child{
    margin:0;
    color:#61748d;
    font-size:18px;
    line-height:1.7;
}

.pcb-programme-detail__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.pcb-programme-detail__grid article{
    padding:32px;
    background:#f5f8fc;
    border-radius:22px;
    border-left:4px solid #1472bd;
}

.pcb-programme-detail__grid article:nth-child(2){
    border-left-color:#ffd800;
}

.pcb-programme-detail__grid article:nth-child(3){
    border-left-color:#ef3b2d;
}

.pcb-programme-detail__grid span{
    display:block;
    margin-bottom:22px;
    color:#9aabba;
    font-size:13px;
    font-weight:900;
}

.pcb-programme-detail__grid h3{
    margin:0 0 14px;
    color:#12345d;
    font-size:25px;
}

.pcb-programme-detail__grid p{
    margin:0;
    color:#61748d;
    font-size:16px;
    line-height:1.7;
}


/* =========================================================
   VUE D'ENSEMBLE
   ========================================================= */

.pcb-programme-overview{
    padding:100px 0;
    background:#f5f8fc;
}

.pcb-programme-overview__heading{
    max-width:800px;
    margin-bottom:40px;
}

.pcb-programme-overview__heading h2{
    margin:0;
    color:#12345d;
    font-size:clamp(38px,4vw,56px);
    line-height:1.08;
    font-weight:900;
}

.pcb-programme-overview__rows{
    display:grid;
    gap:12px;
}

.pcb-programme-overview__rows > div{
    display:grid;
    grid-template-columns:55px 280px 1fr;
    align-items:center;
    gap:20px;
    padding:24px 28px;
    background:#fff;
    border-radius:18px;
}

.pcb-programme-overview__rows span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:12px;
    background:#edf5fc;
    color:#1472bd;
    font-weight:900;
}

.pcb-programme-overview__rows strong{
    color:#12345d;
    font-size:19px;
}

.pcb-programme-overview__rows p{
    margin:0;
    color:#61748d;
    line-height:1.6;
}


/* =========================================================
   RESPONSIVE — NOUVELLE GRILLE
   ========================================================= */

@media (max-width:1100px){

    .pcb-programme-axes__grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:700px){

    .pcb-programme-axes__grid,
    .pcb-programme-detail__grid{
        grid-template-columns:1fr;
    }

    .pcb-programme-axis{
        min-height:auto;
        padding-bottom:35px;
    }

    .pcb-programme-overview__rows > div{
        grid-template-columns:45px 1fr;
    }

    .pcb-programme-overview__rows p{
        grid-column:2;
    }

}