/* ECC basic styles */
.card img { object-fit: cover; max-height: 200px; }
<style>
/* ——— Discrimination visuelle des 3 sections ——— */
.section-head{ display:flex; align-items:center; gap:.6rem; margin-bottom:.75rem; }
.section-head .kicker{ font-size:.8rem; letter-spacing:.06em; font-weight:700; text-transform:uppercase; padding:.25rem .5rem; border-radius:.4rem; }

.sec-services{ background: linear-gradient(180deg,#f6f9ff 0%, #fff 100%); border-radius:14px; padding:1rem; }
.sec-services .kicker{ background:#e6f0ff; color:#0b46a8; }
.sec-services .card{ border:1px solid #e7eefc; }
.sec-services .stretched-link::after{ inset:0; }

.sec-projects{ background: linear-gradient(180deg,#fff 0%, #f8fafc 100%); border-radius:14px; padding:1rem; }
.sec-projects .kicker{ background:#ecfdf5; color:#047857; }
.project-card{ position:relative; overflow:hidden; border:0; border-radius:14px; }
.project-card .img-wrap{ position:relative; aspect-ratio: 16/10; overflow:hidden; }
.project-card img{ width:100%; height:100%; object-fit:cover; transition: transform .35s ease; }
.project-card:hover img{ transform: scale(1.04); }
.project-card .overlay{
  position:absolute; inset:0; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,.08));
}
.project-card .caption{
  position:absolute; left:.9rem; right:.9rem; bottom:.9rem; color:#fff;
}
.badge-r{ position:absolute; top:.6rem; left:.6rem; background:#10b981; color:#052e1f; font-weight:700; font-size:.7rem; padding:.25rem .5rem; border-radius:.4rem; }

.sec-news{ background: linear-gradient(180deg,#fff7ed 0%, #fff 100%); border-radius:14px; padding:1rem; }
.sec-news .kicker{ background:#ffedd5; color:#9a3412; }
.news-card{ border:1px solid #ffe8cc; overflow:hidden; border-radius:14px; }
.news-card .card-img-top{ aspect-ratio: 4/3; object-fit:cover; }
.news-meta{ display:flex; gap:.75rem; align-items:center; color:#9a3412; font-size:.8rem; }
.news-meta .dot{ width:6px; height:6px; border-radius:999px; background:#f59e0b; display:inline-block; }
.read-link{ font-weight:600; }

/* Uniformiser les h3 internes des cartes */
.card h3{ margin-bottom:.5rem; }
/* Empêche .stretched-link de couvrir la page entière */
.service-card,
.news-card,
.project-card { position: relative; }

/* Sécurise aussi les variantes au cas où */
.card .stretched-link::after { z-index: 1; }
.navbar { position: relative; z-index: 1000; } /* le menu passe au-dessus */

</style>
