.hero {
  padding: var(--espace-3xl) 0;
  background-color: var(--couleur-ivoire);
}
.hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--espace-2xl);
  align-items: center;
}
.hero__surtitre {
  font-size: var(--taille-xs);
  font-weight: 500;
  color: var(--couleur-terracotta);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: var(--espace-md);
}
.hero__titre {
  font-size: var(--taille-3xl);
  color: var(--couleur-terre);
  margin-bottom: var(--espace-lg);
  line-height: 1.2;
}
.hero__description {
  font-size: var(--taille-md);
  color: var(--couleur-bois-fonce);
  opacity: 0.8;
  margin-bottom: var(--espace-xl);
  max-width: 480px;
  line-height: 1.7;
}
.hero__image { border-radius: var(--rayon-xl); overflow: hidden; }
.hero__image img { width: 100%; height: 480px; object-fit: cover; border-radius: var(--rayon-xl); }

.section-titre {
  font-size: var(--taille-2xl);
  color: var(--couleur-terre);
  margin-bottom: var(--espace-xl);
}
.section-titre--clair { color: var(--couleur-ivoire); }
.section-categories, .section-articles, .section-asma, .section-partenaire { padding: var(--espace-3xl) 0; }
.section-categories { background-color: var(--couleur-lin); }
.section-asma       { background-color: var(--couleur-ivoire); }
.section-partenaire { background-color: var(--couleur-noir-chaud); }

.categories-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--espace-lg); }
.categorie-carte__lien {
  display: block;
  background-color: var(--couleur-ivoire);
  border-radius: var(--rayon-lg);
  padding: var(--espace-xl);
  border: 1px solid transparent;
  transition: border-color var(--transition), transform var(--transition);
  height: 100%;
}
.categorie-carte__lien:hover { border-color: var(--cat-color); transform: translateY(-2px); }
.categorie-carte__barre { display: block; width: 32px; height: 3px; background-color: var(--cat-color); border-radius: 2px; margin-bottom: var(--espace-md); }
.categorie-carte__titre { font-size: var(--taille-base); font-weight: 500; color: var(--couleur-terre); margin-bottom: var(--espace-sm); }
.categorie-carte__desc { font-size: var(--taille-sm); color: var(--couleur-bois-fonce); opacity: 0.75; line-height: 1.6; margin-bottom: var(--espace-sm); }
.categorie-carte__compteur { font-size: var(--taille-xs); color: var(--cat-color); font-weight: 500; }

/* -------------------------------------------------------
 * CARTES ARTICLE — STYLE OMBRE + HOVER MARQUÉ
 * ----------------------------------------------------- */
.articles-grille {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--espace-lg);
}
.article-carte__lien {
  display: block;
  background-color: var(--couleur-ivoire);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--couleur-lin);
  box-shadow: 0 1px 3px rgba(60,40,20,0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  height: 100%;
}
.article-carte__lien:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(60,40,20,0.14);
  border-color: transparent;
}
.article-carte__image { position: relative; overflow: hidden; height: 200px; }
.article-carte__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.article-carte__lien:hover .article-carte__image img { transform: scale(1.06); }

.article-carte__categorie {
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: var(--taille-xs);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff !important;
  padding: 4px 10px;
  border-radius: 20px;
  background-color: var(--cat-bg, var(--couleur-terre));
}
.article-carte__corps { padding: var(--espace-md) var(--espace-lg) var(--espace-lg); }
.article-carte__titre {
  font-size: var(--taille-base);
  color: var(--couleur-terre);
  margin-bottom: var(--espace-sm);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.article-carte__meta {
  font-size: var(--taille-xs);
  color: var(--couleur-bois-fonce);
  opacity: 0.55;
  display: flex;
  align-items: center;
  gap: 4px;
}

.section-asma__inner { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--espace-2xl); align-items: center; }
.section-asma__image { border-radius: var(--rayon-xl); overflow: hidden; }
.section-asma__image img { width: 100%; height: 500px; object-fit: cover; border-radius: var(--rayon-xl); }
.section-asma__surtitre { font-size: var(--taille-xs); font-weight: 500; color: var(--couleur-terracotta); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: var(--espace-sm); }
.section-asma__titre { font-size: var(--taille-2xl); color: var(--couleur-terre); margin-bottom: var(--espace-lg); }
.section-asma__bio { font-size: var(--taille-base); color: var(--couleur-bois-fonce); line-height: 1.8; margin-bottom: var(--espace-xl); }

.partenaire-encart { max-width: 640px; margin: 0 auto; text-align: center; padding: var(--espace-2xl); border: 1px solid rgba(242,234,224,0.15); border-radius: var(--rayon-xl); }
.partenaire-encart__mention { font-size: var(--taille-xs); color: var(--couleur-terracotta); letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; margin-bottom: var(--espace-md); }
.partenaire-encart__nom { font-family: var(--font-titre); font-size: var(--taille-2xl); color: var(--couleur-ivoire); margin-bottom: var(--espace-md); }
.partenaire-encart__texte { font-size: var(--taille-sm); color: var(--couleur-lin); opacity: 0.8; line-height: 1.7; margin-bottom: var(--espace-xl); max-width: 480px; margin-left: auto; margin-right: auto; }

@media (max-width: 900px) {
  .categories-grille { grid-template-columns: repeat(2, 1fr); }
  .articles-grille   { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .hero__inner { grid-template-columns: 1fr; }
  .hero__image { order: -1; }
  .hero__titre { font-size: var(--taille-2xl); }
  .hero__image img { height: 300px; }
  .section-asma__inner { grid-template-columns: 1fr; }
  .section-asma__image img { height: 320px; }
  .categories-grille { grid-template-columns: 1fr; }
  .articles-grille   { grid-template-columns: 1fr; }
}
