/* ============================================================
   IMASCIENCE — Pages de l'agence : Qui sommes-nous + Certifications
   (maquettes Cléa /l-agence/qui-sommes-nous et /l-agence/certifications)
   Composants : portraits d'équipe dans le hero, intro deux colonnes,
   accroche rose, rangée de valeurs, bande sombre « Nos actions »,
   trois cartes claires. Le reste (hero, split, arrow-list…) vient de
   galerie.css / expertise.css.
   ============================================================ */

/* ---------- Portraits de l'équipe (dans le hero sombre) ---------- */
.team {
  list-style: none;
  margin: var(--space-8) 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-4);
}
.team__card {
  position: relative;
  width: clamp(140px, 16vw, 200px);
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 18px 40px -18px rgb(0 0 0 / 0.6);
  transition: translate var(--duration-base) var(--ease-out),
              scale var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out);
}
/* Mise en avant au survol : la carte se soulève légèrement */
.team__card:hover,
.team__card:focus-visible {
  translate: 0 -8px;
  scale: 1.03;
  box-shadow: 0 30px 55px -20px rgb(0 0 0 / 0.75);
}
.team__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Vignette nue par défaut : dégradé + identité révélés au survol (ou au focus clavier) */
.team__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(0 0 0 / 0.72) 0%, rgb(0 0 0 / 0.18) 45%, transparent 70%);
  opacity: 0;
  transition: opacity var(--duration-base) var(--ease-out);
}
.team__id {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: var(--space-3);
  display: grid;
  gap: 2px;
  text-align: left;
  opacity: 0;
  translate: 0 6px;
  transition: opacity var(--duration-base) var(--ease-out),
              translate var(--duration-base) var(--ease-out);
}
.team__card:hover .team__scrim,
.team__card:focus-visible .team__scrim,
.team__card:hover .team__id,
.team__card:focus-visible .team__id {
  opacity: 1;
  translate: 0 0;
}
@media (prefers-reduced-motion: reduce) {
  .team__card, .team__scrim, .team__id { transition: none; }
  .team__id { translate: 0 0; }
  .team__card:hover, .team__card:focus-visible { translate: 0 0; scale: 1; }
}
.team__name {
  font-weight: var(--weight-semibold);
  font-size: var(--text-sm);
  color: var(--color-white);
  line-height: var(--leading-snug);
}
.team__role {
  font-size: var(--text-xs);
  font-style: italic;
  color: var(--color-accent);
  line-height: var(--leading-snug);
}

/* ---------- Intro deux colonnes ---------- */
.duo__grid {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 810px) {
  .duo__grid { grid-template-columns: 1fr 1fr; gap: var(--space-12); }
}
.duo__grid p { color: var(--color-ink-soft); line-height: var(--leading-body); }
.duo__grid p + p { margin-top: var(--space-4); }
.duo__grid h2 {
  font-size: clamp(var(--text-3xl), 3vw, var(--text-5xl));
  line-height: var(--leading-tight);
  margin-block: var(--space-3) var(--space-4);
}
.duo__grid .eyebrow { margin-bottom: 0; }

/* ---------- Accroche rose sous un titre de section ---------- */
.lead-accent {
  color: var(--color-highlight) !important;
  font-weight: var(--weight-semibold);
  margin-bottom: var(--space-4);
}

/* ---------- Rangée de valeurs (icônes) ---------- */
.values__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-8) var(--space-24);
}
.values__item {
  display: grid;
  justify-items: center;
  gap: var(--space-4);
  text-align: center;
}
.values__label { font-weight: var(--weight-bold); }

/* ---------- Bande sombre « Nos actions » ---------- */
.actions {
  position: relative;
  overflow: hidden;
  background: linear-gradient(150deg, var(--color-dark) 15%, var(--color-purple) 80%, var(--color-dark-soft));
  color: var(--color-white);
  padding-block: clamp(var(--space-12), 7vw, var(--space-24));
}
.actions__deco {
  position: absolute;
  width: 340px;
  opacity: 0.05;
  pointer-events: none;
}
.actions__deco--left { top: -60px; left: -70px; transform: rotate(-12deg); }
.actions__deco--right { bottom: -80px; right: -60px; transform: rotate(15deg); }
.actions .container { position: relative; }
.actions__head {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: var(--space-4);
  margin-bottom: clamp(var(--space-8), 5vw, var(--space-16));
}
.actions__head h2 {
  color: var(--color-white);
  font-size: clamp(var(--text-4xl), 3.4vw, var(--text-5xl));
  line-height: var(--leading-tight);
  max-width: 24ch;
}
.actions__intro {
  max-width: 62ch;
  color: color-mix(in srgb, var(--color-white) 85%, transparent);
  line-height: var(--leading-body);
}
.actions__cols {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 810px) {
  .actions__cols { grid-template-columns: repeat(3, 1fr); gap: var(--space-12); }
}
.actions__col h3 {
  color: var(--color-highlight);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding-bottom: var(--space-3);
  margin-bottom: var(--space-4);
  border-bottom: 1px solid color-mix(in srgb, var(--color-white) 25%, transparent);
}
.actions__body,
.actions__body p {
  color: color-mix(in srgb, var(--color-white) 82%, transparent);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
}
.actions__body p + p,
.actions__body p + ul,
.actions__body ul + p { margin-top: var(--space-4); }
.actions__body strong { color: var(--color-white); }
.actions__body a { color: var(--color-accent); }
.actions__body ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
}
.actions__body ul li {
  position: relative;
  padding-left: 28px;
}
.actions__body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 16px;
  height: 16px;
  background: currentColor;
  color: var(--color-accent);
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>') center / contain no-repeat;
}
.actions__foot {
  margin-top: clamp(var(--space-8), 5vw, var(--space-16));
  text-align: center;
  color: color-mix(in srgb, var(--color-white) 85%, transparent);
  line-height: var(--leading-body);
}
.actions__foot strong { color: var(--color-white); }

/* ---------- Trois cartes claires (certifications) ---------- */
.cards__head { display: grid; justify-items: center; gap: var(--space-4); }
.cards__intro {
  text-align: center;
  max-width: 52ch;
  color: var(--color-ink-soft);
  line-height: var(--leading-body);
}
.cards__grid {
  display: grid;
  gap: var(--space-6);
  margin-top: clamp(var(--space-8), 4vw, var(--space-12));
}
@media (min-width: 810px) {
  .cards__grid { grid-template-columns: repeat(3, 1fr); }
}
.cards__item {
  background: var(--color-section-alt);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
}
.cards__item h3 {
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
  margin-bottom: var(--space-4);
}
.cards__body,
.cards__body p {
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
}
.cards__body p + p, .cards__body p + ul { margin-top: var(--space-3); }
.cards__body ul { margin: 0; padding-left: 1.1em; display: grid; gap: var(--space-2); }

/* ---------- Ajustements ---------- */
/* Macaron CII : sur boîte blanche arrondie, sans étirement */
.split__media--boxed {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: clamp(var(--space-8), 4vw, var(--space-16));
  display: grid;
  place-items: center;
}
.split__media--boxed img {
  width: min(100%, 340px);
  border-radius: 0;
}
/* Le hero des pages agence garde de l'air sous les portraits */
.page-hero--agence .page-hero__content--center {
  padding-block: clamp(var(--space-12), 6vw, var(--space-16));
}
/* Voile vertical (maquette) : image discrète en haut, quasi noir en bas */
.page-hero--agence .page-hero__scrim {
  background: linear-gradient(to bottom,
    color-mix(in srgb, var(--color-dark) 55%, transparent),
    color-mix(in srgb, var(--color-dark) 86%, transparent) 55%,
    color-mix(in srgb, var(--color-dark) 97%, transparent));
}

/* ===== Maillage des pages locales (template ville) ===== */
.villes-net { text-align: center; }
.villes-net h2 { margin-bottom: var(--space-6); }
.villes-net__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
