/* SERVICES 11 - CORPORATE GRID */
.services-11 {
  color: var(--black);
  padding: 80px 5%;
  background: var(--white);
  font-family: var(--font-body);
}
.services-11__inner {
  max-width: 1400px;
  margin: 0 auto;
}
.services-11__head {
  text-align: center;
  margin-bottom: 44px;
}
.services-11__title {
  margin: 0 0 12px;
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3.5vw, 2.15rem);
  font-weight: 800;
  color: var(--primary);
}
.services-11__subtitle {
  margin: 0;
  font-size: 0.95rem;
  color: var(--gray-dark);
}
.services-11__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1px;
  background: color-mix(in srgb, var(--primary) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--primary) 10%, transparent);
}
.services-11__card {
  position: relative;
  display: block;
  padding: 30px;
  background: var(--white);
  text-decoration: none;
  transition: background 0.3s ease;
}
.services-11__card:hover {
  background: color-mix(in srgb, var(--secondary) 4%, var(--white));
}
.services-11__line {
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  width: 0;
  background: var(--secondary);
  transition: width 0.45s ease;
}
.services-11__card:hover .services-11__line {
  width: 100%;
}
.services-11__tag {
  display: block;
  margin-bottom: 14px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--secondary);
}
.services-11__name {
  margin: 0 0 10px;
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--primary);
}
.services-11__desc {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.6;
  color: var(--gray-dark);
}


/* ── REGROUPEMENT PAR METIER ──────────────────────────────────────────
   La grille au trait se lit comme un TABLEAU. Le metier y prend donc la
   forme d'une ligne d'en-tete pleine largeur — une section de tableau — et
   non d'une carte de plus qu'on confondrait avec un service.

   MONO-METIER : le conteneur passe en `display: contents`, les cartes
   redeviennent enfants directs de la grille et le rendu est celui d'avant.

   LA COULEUR : rampe --secondary → --primary, ancree sur la couleur que la
   variante utilise deja pour son filet et son numero. */
.services-11__groupe {
  --m-couleur: color-mix(in oklab, var(--secondary), var(--primary) var(--m-melange, 0%));
  --m-texte: color-mix(in oklab, var(--on-secondary), var(--on-primary) var(--m-melange, 0%));
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1px;
}
.services-11__bandeau {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 30px;
  background: var(--m-couleur);
}
.services-11__bandeau-filet {
  flex: 0 0 22px;
  height: 2px;
  background: var(--m-texte);
  opacity: 0.6;
}
.services-11__bandeau-nom {
  flex: 1;
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--m-texte);
}
.services-11__bandeau-nom:hover {
  color: var(--m-texte);
}
/* Le filet de survol et le numero suivent le metier de la carte. Meme
   specificite que les regles d'origine, placees apres : l'ordre tranche. */
.services-11__groupe .services-11__line {
  background: var(--m-couleur);
}
.services-11__groupe .services-11__tag {
  color: var(--m-couleur);
}
.services-11__groupe .services-11__card:hover {
  background: color-mix(in srgb, var(--m-couleur) 4%, var(--white));
}
/* Apres la regle de base : meme specificite, c'est l'ordre qui tranche. */
.services-11__groupe--nu {
  display: contents;
}

/* ── TITRES : couleur de survol explicite (CLAUDE.md §4.13) ──────────
   Le main.css des themes stylise les balises Hn, hover compris. Chaque
   titre reprend ici sa couleur de base pour neutraliser cet heritage. */
.services-11__name:hover,
.services-11__title:hover {
  color: var(--primary);
}
