/* ============================================================
   PSLEAD Group · Page d'accueil (design EY) · scope .plh
   Chargé uniquement sur la page d'accueil.
============================================================ */
.plh{
  --navy:#0A2540; --navy-900:#071a2e; --navy-800:#0f2d4d; --navy-700:#1a3f66;
  --ink:#111820; --slate:#4a5568; --line:#e4e8ee; --paper:#ffffff; --paper-alt:#f5f7fa;
  --gold:#F5D20A; --gold-600:#e0be00;
  color:var(--ink);
}
.plh *{box-sizing:border-box}
.plh img{max-width:100%;display:block}
.plh a{text-decoration:none;color:inherit}
.plh .wrap{max-width:1280px;margin:0 auto;padding:0 2rem}
.plh .eyebrow{font-size:.94rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;display:inline-block}
.plh .eyebrow::after{content:"";display:block;width:46px;height:3px;background:var(--gold);margin-top:9px}
.plh h1,.plh h2,.plh h3,.plh h4{line-height:1.12;font-weight:800;letter-spacing:-.01em;margin:0}
.plh p{margin:0}

/* BOUTONS */
.plh .btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;padding:15px 30px;border-radius:3px;transition:background .18s,box-shadow .18s,color .18s;cursor:pointer;border:0;overflow:hidden;line-height:1.2}
.plh .btn .t{display:inline-block;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.plh .btn .ar{position:absolute;right:20px;display:inline-flex;align-items:center;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s cubic-bezier(.2,.7,.2,1)}
.plh .btn .ar svg{width:19px;height:19px;display:block}
.plh .btn:hover .t{transform:translateX(-13px)}
.plh .btn:hover .ar{opacity:1;transform:translateX(0)}
.plh .btn-gold{background:var(--gold);color:var(--navy)}
.plh .btn-gold:hover{background:var(--gold-600)}
.plh .btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.plh .btn-ghost:hover{box-shadow:inset 0 0 0 1.5px #fff;background:rgba(255,255,255,.08)}
.plh .btn-outline{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.plh .btn-outline:hover{box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--gold)}

/* liens texte */
.plh .lnk{display:inline-flex;align-items:center;gap:.55em;font-weight:800;color:var(--navy)}
.plh .lnk svg{width:16px;height:16px;color:var(--navy);transition:transform .22s}
.plh .lnk:hover svg{transform:translateX(5px)}

/* HERO */
.plh .hero{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.plh .hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.plh .hero .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,42,74,.95) 0%,rgba(11,42,74,.86) 28%,rgba(12,45,80,.52) 60%,rgba(12,45,80,.16) 100%)}
.plh .hero .veil2{position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,42,74,.55) 0%,rgba(11,42,74,0) 45%)}
.plh .hero .wrap{position:relative;z-index:2;width:100%;padding-top:118px;padding-bottom:60px}
.plh .hero .hbox{max-width:900px;padding-left:56px}
.plh .hero .eyebrow{color:#fff}
.plh .hero h1{font-size:clamp(2.3rem,4.2vw,4.1rem);margin:20px 0 24px;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
.plh .hero h1 .g{color:var(--gold);font-style:italic}
.plh .hero h1 .g2{color:#9DBBDD;font-style:italic}
.plh .hero p.sub{font-size:clamp(1.05rem,1.5vw,1.28rem);font-weight:400;color:rgba(255,255,255,.9);max-width:52ch;margin-bottom:34px}
.plh .hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.plh .scrollcue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.7);font-size:.75rem;text-align:center;letter-spacing:.1em}
.plh .scrollcue svg{display:block;margin:6px auto 0}

/* SECTIONS */
.plh .sec{padding:clamp(4rem,7vw,6.8rem) 0}
.plh .sec-head{max-width:780px;margin-bottom:3rem}
.plh .sec-head .eyebrow{color:var(--navy);font-size:1rem}
.plh .sec-head h2{font-size:clamp(1.9rem,3vw,2.7rem);color:var(--navy);margin:.6rem 0 .8rem}
.plh .sec-head p{font-size:1.15rem;color:var(--slate)}
.plh .alt{background:var(--paper-alt)}

/* Ambitions */
.plh .amb{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.plh .amb .it{position:relative;border-radius:14px;padding:32px 28px 30px;overflow:hidden;border:1px solid rgba(10,37,64,.05);transition:transform .25s,box-shadow .25s}
.plh .amb .it:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(10,37,64,.16)}
.plh .amb .ic{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;padding:11px;transition:transform .25s}
.plh .amb .it:hover .ic{transform:translateY(-2px)}
.plh .amb .ic svg{width:100%;height:100%;display:block}
.plh .amb h3{font-size:1.16rem;color:var(--navy);margin:1.1rem 0 .5rem}
.plh .amb p{font-size:.95rem;color:var(--slate)}
.plh .amb .c1{background:#eaf1fa} .plh .amb .c1 .ic{background:#d7e6f5;color:#1a3f66}
.plh .amb .c2{background:#eef0f7} .plh .amb .c2 .ic{background:#e0e5f1;color:#2c3c62}
.plh .amb .c3{background:#e8f3f0} .plh .amb .c3 .ic{background:#d4ebe4;color:#1b5248}
.plh .amb .c4{background:#f8f2e4} .plh .amb .c4 .ic{background:#efe3c6;color:#957214}

/* NOS METIERS */
.plh .metiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.plh .mtile{position:relative;border-radius:8px;overflow:hidden;min-height:480px;display:flex;align-items:flex-end;isolation:isolate;cursor:pointer}
.plh .mtile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.plh .mtile:hover img{transform:scale(1.06)}
.plh .mtile .scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,26,46,.92) 0%,rgba(7,26,46,.55) 42%,rgba(7,26,46,.12) 100%);transition:background .35s}
.plh .mtile:hover .scrim{background:linear-gradient(to top,rgba(7,26,46,.95) 0%,rgba(7,26,46,.78) 55%,rgba(10,37,64,.42) 100%)}
.plh .mtile .mc{padding:32px 30px 34px;color:#fff;position:relative;width:100%}
.plh .mtile .mc::before{content:"";position:absolute;left:30px;top:0;width:44px;height:3px;background:var(--gold);transition:width .35s}
.plh .mtile:hover .mc::before{width:72px}
.plh .mtile h3{font-size:1.5rem;color:#fff;margin:20px 0 0;transition:margin .35s}
.plh .mtile .desc{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .35s,margin .4s;color:rgba(255,255,255,.9);font-size:1rem;line-height:1.55}
.plh .mtile:hover .desc{max-height:170px;opacity:1;margin-top:14px}
.plh .mtile .mlnk{display:inline-flex;align-items:center;gap:.5em;font-weight:800;color:var(--gold);font-size:.95rem;margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .35s,margin .4s}
.plh .mtile:hover .mlnk{max-height:40px;opacity:1;margin-top:18px}
.plh .mtile .mlnk svg{width:16px;height:16px;transition:transform .2s}
.plh .mtile:hover .mlnk svg{transform:translateX(5px)}

/* Split */
.plh .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
.plh .split.rev .media{order:2}
.plh .split .media img{width:100%;border-radius:6px;aspect-ratio:4/3;object-fit:cover}

/* NOTRE APPROCHE - timeline */
.plh .steps{margin-top:2.2rem;position:relative}
.plh .step{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;padding-bottom:1.9rem;position:relative}
.plh .step:last-child{padding-bottom:0}
.plh .step:not(:last-child)::before{content:"";position:absolute;left:25px;top:54px;bottom:6px;width:1.5px;background:linear-gradient(var(--gold),rgba(245,210,10,.12))}
.plh .stepnum{width:51px;height:51px;border-radius:50%;border:1.5px solid var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.02rem;background:#fff;flex:0 0 auto;position:relative;z-index:1}
.plh .step h4{font-size:1.16rem;color:var(--navy);margin:.55rem 0 .25rem}
.plh .step p{font-size:.98rem;color:var(--slate)}

/* Dark statement */
.plh .dark{background:var(--navy-900);color:#fff}
.plh .dark .stmt{max-width:900px}
.plh .dark .eyebrow{color:var(--gold)}
.plh .dark .stmt h2{font-size:clamp(1.8rem,3.2vw,2.9rem);line-height:1.2;margin-top:1rem;font-weight:800;color:#fff}
.plh .dark .stmt h2 .g{color:var(--gold)}

/* BANDEAU ACCOMPAGNEMENT */
.plh .accomp{background:#fff;padding:clamp(5.5rem,9vw,8rem) 0 clamp(4.5rem,8vw,7rem)}
.plh .acard{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;box-shadow:0 26px 64px rgba(10,37,64,.12);min-height:500px}
.plh .apanel{background:var(--navy);color:#fff;padding:clamp(3.2rem,4.6vw,4.6rem);display:flex;flex-direction:column;justify-content:center}
.plh .apanel h2{font-size:clamp(2rem,2.9vw,2.7rem);color:#fff;line-height:1.14;margin-bottom:1.3rem;letter-spacing:-.01em}
.plh .apanel p{color:rgba(255,255,255,.82);font-size:1.15rem;line-height:1.62;margin-bottom:2.2rem;max-width:38ch}
.plh .apanel .btn{align-self:flex-start}
.plh .apic{position:relative;padding-top:44px;background:var(--navy)}
.plh .apic img{width:100%;height:100%;object-fit:cover;object-position:center 25%}

/* Insights */
.plh .arts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.plh .art{cursor:pointer;display:block}
.plh .art .ph{aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:#0f2d4d}
.plh .art .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.plh .art:hover .ph img{transform:scale(1.05)}
.plh .art .cat{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-600);margin:16px 0 8px}
.plh .art h3{font-size:1.2rem;color:var(--navy);line-height:1.3}
.plh .art .meta{font-size:.82rem;color:var(--slate);margin-top:10px}

/* Final CTA */
.plh .finalcta{background:var(--navy);color:#fff;text-align:center}
.plh .finalcta h2{font-size:clamp(1.9rem,3.2vw,2.8rem);margin-bottom:.6rem;color:#fff}
.plh .finalcta p{color:rgba(255,255,255,.82);font-size:1.15rem;margin-bottom:2rem}
.plh .finalcta .btn{margin:0 auto}

/* Responsive */
@media (max-width:980px){
  .plh .hero .hbox{padding-left:0;max-width:100%}
  .plh .hero h1{white-space:normal;font-size:clamp(2.1rem,6vw,3rem)}
  .plh .amb{grid-template-columns:repeat(2,1fr)}
  .plh .metiers{grid-template-columns:1fr;gap:1.1rem}
  .plh .mtile{min-height:340px}
  .plh .split{grid-template-columns:1fr;gap:2rem}
  .plh .split.rev .media{order:0}
  .plh .acard{grid-template-columns:1fr}
  .plh .apic{min-height:280px;padding-top:0}
  .plh .arts{grid-template-columns:1fr}
}
@media (max-width:560px){
  .plh .wrap{padding:0 20px}
  .plh .amb{grid-template-columns:1fr}
  .plh .hero .cta{flex-direction:column;align-items:flex-start}
  .plh .hero .cta .btn{width:100%}
}
