/* ============================================================
   ALIGEA — compléments de styles
   Photos réelles dans les compositions, direction, réseau.
   S'ajoute à site.css sans le modifier.
   ============================================================ */

/* Photos réelles dans les placeholders de marque */
.ph > .ph-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:1;border-radius:inherit;
}
.ph.has-img::after{opacity:.14;z-index:2}
.ph.has-img .ph-mono{display:none}
.ph.has-img .ph-label{z-index:3}

/* Bandeau image (feature pleine largeur) */
.feature-shot{position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:16/9;background:var(--v-100)}
.feature-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Direction : deux profils mis en avant */
.leads{display:grid;gap:clamp(28px,4vw,48px)}
@media(min-width:820px){.leads{grid-template-columns:1fr 1fr}}
.lead-card{display:flex;flex-direction:column;gap:18px}
.lead-card .portrait{
  position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1/1;
  width:100%;max-width:230px;box-shadow:var(--shadow-sm);background:var(--v-100);
}
.lead-card .portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.lead-head{display:flex;flex-direction:column;gap:6px}
.lead-head .role-txt{font-size:14.5px;font-weight:600;color:var(--v-800);letter-spacing:.01em}
.lead-head .join{margin-top:6px}
.lead-head .role{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--v-800);background:var(--v-050);padding:6px 13px;border-radius:999px;
}
.lead-head .role svg{width:14px;height:14px}
.lead-head .join{font-size:14px;color:var(--v-800);font-weight:600;line-height:1.45}
.lead-head .nm{font-family:var(--slab);font-weight:600;font-size:clamp(22px,2.4vw,27px);color:var(--bleu);line-height:1.1}
.lead-card p{font-size:15.5px;color:var(--a-600);line-height:1.62}
.lead-feats{display:flex;flex-direction:column;gap:9px;margin-top:2px}
.lead-feats li{list-style:none;display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--a-800)}
.lead-feats li svg{width:19px;height:19px;color:var(--v-600);flex:none;margin-top:2px}

/* Réseau / pool de compétences */
.pool{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:640px){.pool{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.pool{grid-template-columns:repeat(3,1fr)}}

/* Bloc « équipe resserrée » (chiffre-parole, sans statistique inventée) */
.lean{display:grid;gap:clamp(28px,4vw,52px);align-items:center}
@media(min-width:900px){.lean{grid-template-columns:1fr 1fr}}
.lean-points{display:flex;flex-direction:column;gap:16px;margin-top:6px}
.lean-points li{list-style:none;display:flex;gap:13px;align-items:flex-start;font-size:16px;color:var(--a-800);line-height:1.5}
.lean-points li svg{width:22px;height:22px;color:var(--v-600);flex:none;margin-top:1px}

/* Carte adresse (contact) : carte OpenStreetMap en transparence sous un voile vert */
.map-card{
  position:relative;overflow:hidden;border:1px solid var(--v-200);border-radius:14px;
  aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:flex-end;
}
.map-card .osm{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:0}
.map-card .veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(135deg, rgba(123,169,103,.34) 0%, rgba(26,53,86,.20) 100%);
}
.map-card .mc-body{
  position:relative;z-index:2;margin:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;
  background:rgba(255,255,255,.86);backdrop-filter:blur(3px);border-radius:12px;border:1px solid var(--v-100);
  align-self:flex-start;max-width:min(90%,320px);
}
.map-card .mc-head{display:flex;align-items:center;gap:12px}
.map-card .pin{width:40px;height:40px;border-radius:10px;background:var(--v-050);border:1px solid var(--v-200);display:flex;align-items:center;justify-content:center;color:var(--v-800);flex:none}
.map-card .pin svg{width:21px;height:21px}
.map-card .addr{font-size:14.5px;color:var(--b-700);line-height:1.45;font-weight:600}
.map-card .txtlink{font-size:14.5px}

/* Formulaire : messages d'erreur (classe has-error posée par le JS) */
.field .err{display:none;font-size:13px;color:var(--erreur)}
.field.has-error .err{display:block}
.field.has-error input,.field.has-error textarea{border-color:var(--erreur);box-shadow:0 0 0 4px #f6dad4}

/* Accordéon FAQ : ouverture (le site.css de base ne définit pas l'état ouvert) */
.faq-item.open .faq-a{max-height:420px}

/* Pages légales */
.legal{max-width:76ch}
.legal h2{font-size:clamp(21px,2.3vw,27px);margin-top:1.7em;margin-bottom:.5em}
.legal h2:first-of-type{margin-top:0}
.legal h3{font-size:18px;margin-top:1.3em;margin-bottom:.35em;color:var(--b-700)}
.legal p{font-size:16px;color:var(--a-800);line-height:1.7;margin-bottom:1em}
.legal ul{margin:0 0 1.1em 1.15em;display:flex;flex-direction:column;gap:.4em}
.legal li{font-size:16px;color:var(--a-800);line-height:1.65;list-style:disc}
.legal a{color:var(--bleu);font-weight:600;text-decoration:underline}
.legal a:hover{color:var(--abricot-deep)}
.legal .updated{font-size:14px;color:var(--muted);margin-bottom:2em}
.legal .trans-note{background:var(--v-050);border:1px solid var(--v-200);border-radius:12px;padding:15px 18px;font-size:15px;color:var(--b-700);line-height:1.55;margin-bottom:2em}

/* ============================================================
   Interview de l'expert
   ============================================================ */
.interview{max-width:840px;margin:0 auto}
.interview-intro{display:flex;gap:22px;align-items:center;padding-bottom:clamp(26px,3.5vw,38px);border-bottom:1px solid var(--a-100);margin-bottom:clamp(30px,4vw,46px)}
.interview-intro .portrait{position:relative;border-radius:14px;overflow:hidden;width:104px;height:104px;flex:none;box-shadow:var(--shadow-sm);background:var(--v-100)}
.interview-intro .portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.interview-intro .nm{font-family:var(--slab);font-weight:600;font-size:20px;color:var(--bleu);display:block;margin-bottom:5px}
.interview-intro p{font-size:16px;color:var(--a-600);line-height:1.6}
@media(max-width:560px){.interview-intro{flex-direction:column;align-items:flex-start;gap:16px}}

.qa-item{margin-bottom:clamp(26px,3.4vw,38px)}
.qa-q{display:flex;gap:14px;align-items:flex-start;margin-bottom:13px}
.qa-q .qnum{font-family:var(--slab);font-weight:700;font-size:15px;color:var(--v-600);background:var(--v-050);border:1px solid var(--v-200);width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none;font-variant-numeric:tabular-nums;margin-top:2px}
.qa-q h3{font-size:clamp(19px,1.8vw,23px);color:var(--bleu);line-height:1.22}
.qa-a{color:var(--a-800);font-size:16.5px;line-height:1.72;padding-left:48px}
.qa-a + .qa-a{margin-top:12px}
@media(max-width:560px){.qa-a{padding-left:0}}

.pullquote{margin:clamp(30px,4vw,46px) 0;padding:clamp(22px,3vw,30px) clamp(24px,3vw,34px);background:var(--v-050);border-left:3px solid var(--v-400);border-radius:0 14px 14px 0}
.pullquote p{font-family:var(--slab);font-weight:600;font-size:clamp(20px,2.1vw,26px);color:var(--bleu);line-height:1.32}
.pullquote .src{display:block;margin-top:12px;font-family:var(--sans);font-weight:600;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--v-800)}

/* Renvoi vers l'interview : bandeau accueil et insertion profil */
.qteaser{display:grid;gap:clamp(22px,3vw,40px);align-items:center;background:var(--bleu);border-radius:22px;padding:clamp(26px,4vw,46px);color:#fff;box-shadow:var(--shadow-md)}
@media(min-width:820px){.qteaser{grid-template-columns:210px 1fr}}
.qteaser .portrait{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1/1;width:100%;max-width:210px;box-shadow:var(--shadow-md);background:var(--v-100)}
.qteaser .portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qteaser .eyebrow{color:var(--v-300)}
.qteaser .eyebrow::before{background:var(--v-300)}
.qteaser .big{font-family:var(--slab);font-weight:700;font-size:clamp(25px,2.9vw,34px);color:#fff;line-height:1.16;margin:12px 0 10px}
.qteaser p{color:var(--a-200);font-size:16.5px;line-height:1.6;margin-bottom:22px}
