/* Section « Et sur le terrain » : l'Alliance en vedette, puis les projets */
.eng2 .sec-head{margin-bottom:46px}

/* Bloc Alliance */
.aln{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);border:2px solid var(--ink);border-radius:32px;overflow:hidden;
  background:var(--ink);box-shadow:12px 12px 0 var(--ink)}
.aln-main{position:relative;padding:48px 48px 44px;color:#fff;display:flex;flex-direction:column;gap:18px;
  background:var(--ink) radial-gradient(circle at 90% 0%,rgba(232,19,43,.55) 0,transparent 55%)}
.aln-k{align-self:flex-start;font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:#fff;padding:6px 12px;border-radius:999px}
.aln-title{margin:0;font-size:clamp(48px,5.6vw,92px);line-height:.88;color:#fff}
.aln-text{margin:0;font-size:20px;line-height:1.5;color:rgba(255,255,255,.82);max-width:46ch}
.aln-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.aln-pills li{padding:8px 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);font-weight:700;font-size:15px}
.aln-site{align-self:flex-start;margin-top:6px;display:inline-flex;align-items:center;gap:12px;color:#fff;font-weight:800;font-size:18px;text-decoration:none}
.aln-site .arr,.proj-link .arr{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;transition:transform .3s var(--bounce)}
.aln-site:hover .arr,.proj:hover .proj-link .arr{transform:translateX(5px)}

/* Encadré don */
.aln-don{position:relative;padding:48px 40px;display:flex;flex-direction:column;justify-content:center;gap:16px;color:var(--ink);overflow:hidden;
  background:var(--pink) radial-gradient(var(--pink-2) 30%,transparent 33%) 0 0/16px 16px}
.aln-don>*{position:relative}
.aln-don::before{content:"";position:absolute;inset:22px;border-radius:22px;background:#fff;border:2px solid var(--ink)}
.aln-don>*{margin:0 18px}
.aln-don-t{margin-top:0;font-size:clamp(34px,3.2vw,46px);line-height:.92;color:var(--red)}
.aln-don-p{font-size:17px;line-height:1.5;color:var(--grey)}
.aln-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 26px;border-radius:999px;border:2px solid var(--ink);
  background:var(--red);color:#fff;font-weight:900;font-size:21px;text-decoration:none;box-shadow:5px 5px 0 var(--ink);
  transition:background .2s,box-shadow .2s}
.aln-btn:hover{background:var(--red-dark,#A50E23);color:#fff;box-shadow:7px 7px 0 var(--ink)}
.aln-btn svg{animation:beat 1.6s ease-in-out infinite}
@keyframes beat{0%,60%,100%{transform:scale(1)}15%{transform:scale(1.28)}30%{transform:scale(.95)}45%{transform:scale(1.15)}}
.aln-don-s{font-size:13px;color:var(--grey);text-align:center}

/* Projets */
.proj-label{margin:72px 0 22px;font-family:Newsreader,Georgia,serif;font-style:italic;font-size:28px;color:#fff}
.projs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.proj{position:relative;display:flex;flex-direction:column;gap:10px;padding:34px 34px 30px;border-radius:28px;background:#fff;color:var(--ink);
  text-decoration:none;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);transition:transform .25s var(--bounce),box-shadow .25s}
.proj:hover{transform:translate(-4px,-4px) rotate(-.4deg);box-shadow:12px 12px 0 var(--ink);color:var(--ink)}
.proj .kicker{color:var(--red-dark,#A50E23)}
.proj-stat{position:absolute;top:26px;right:28px;display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.proj-stat b{font-size:64px;line-height:.85;color:var(--red);font-weight:900}
.proj-stat span{font-size:13px;font-weight:700;color:var(--grey);max-width:15ch}
.proj-title{font-size:58px;line-height:.9;margin:4px 0 4px;transition:color .25s}
.proj:hover .proj-title{color:var(--red)}
.proj-text{flex-grow:1;font-size:17px;line-height:1.55;color:var(--grey)}
.proj-link{display:inline-flex;align-items:center;gap:12px;margin-top:10px;font-weight:800;font-size:17px}

@media (max-width:1100px){
  .aln{grid-template-columns:minmax(0,1fr)}
  .projs{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .aln{border-radius:24px;box-shadow:7px 7px 0 var(--ink)}
  .aln-main{padding:30px 24px}
  .aln-text{font-size:18px}
  .aln-don{padding:30px 16px}
  .aln-don::before{inset:12px}
  .aln-btn{font-size:19px;padding:18px 20px}
  .proj{padding:26px 22px}
  .proj-stat{position:static;align-items:flex-start;text-align:left;flex-direction:row;align-items:baseline;gap:8px}
  .proj-stat b{font-size:44px}
  .proj-title{font-size:46px;padding-right:0}
  .proj-label{margin-top:56px}
}
@media (prefers-reduced-motion:reduce){.aln-btn svg{animation:none}}
