/* ===== Qui sommes-nous ? — Styles ===== */
.qs-about{
  --c-text:#0f172a; --c-muted:#334155; --c-soft:#45526b; --c-subtle:#f8fafc; --c-border:rgba(15,23,42,.16);
  --c-accent: var(--ghost-accent-color,#2563eb);
  --rad-lg:var(--radius-2xl);  /* 28px→24px, 16px✅, 10px→8px */
  --shadow-lg:0 14px 40px rgba(2,6,23,.14);
  --shadow-md:0 10px 26px rgba(2,6,23,.08);
  --wrap-max:1360px;
  font-family: var(--codex-body-font);
}
.qs-about .qs-wrap{
  max-width:var(--wrap-max);
  margin:0 auto;
  padding: calc(var(--header-height) + 32px) 4vw 0;
}

/* Spacer supprimé : offset géré par .page-no-hero .content-first dans custom.css */

/* Progress bar (lecture) */
.qs-progress{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--c-accent),#7c3aed);z-index:80}

/* HERO */
.qs-about .qs-hero{position:relative;border-radius:var(--rad-lg);overflow:hidden;margin:40px 0;box-shadow:var(--shadow-lg);isolation:isolate}
.qs-about .qs-hero__img{width:100%;height:420px;object-fit:cover;display:block;transform:translateZ(0);transition:transform .5s ease}
@media (max-width:768px){
  .qs-about .qs-hero__img{height:320px;}
}
.qs-about .qs-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,23,.10) 0%,rgba(2,6,23,.55) 55%,rgba(2,6,23,.88) 100%);pointer-events:none}
.qs-about .qs-hero__content{position:absolute;left:28px;right:28px;bottom:28px;color:#fff;will-change:transform;text-align:left}

/* Badge (au-dessus du titre) */
.qs-about .qs-badge{
  display:inline-flex;align-items:center;gap:.55em;
  background:rgba(255,255,255,.18);backdrop-filter:blur(6px);
  padding:.55em 1em;border-radius:var(--radius-pill);
  font-weight:900;font-size:clamp(.95rem,1.35vw,1.05rem);line-height:1.05;
  box-shadow:0 10px 28px rgba(2,6,23,.32);margin-bottom:12px;
}

/* Titre principal — même hiérarchie que la page Engagements */
.qs-about .qs-hero{ --hero-title-size: clamp(2.2rem, 3.8vw, 3.2rem); }
:root body .qs-about .qs-hero .qs-hero__content h1.qs-hero__title{
  font-size:var(--hero-title-size);
  line-height:1.08;
  font-weight:900;
  margin:0 0 10px;
  color:#fff; text-shadow:0 14px 32px rgba(0,0,0,.45);
}

/* Sous-titre court sous le H1 */
.qs-about .qs-hero__subtitle{
  margin:0;
  font-size:clamp(1rem,1.6vw,1.125rem);
  font-weight:700;
  color:rgba(255,255,255,.92);
  text-shadow:0 10px 24px rgba(0,0,0,.35);
}

/* Intro */
.qs-about .qs-intro p{font-size:1.05rem;line-height:1.72;color:var(--c-text);margin:0 0 12px}
.qs-about .qs-badges{display:flex;flex-wrap:wrap;gap:8px}
.qs-about .qs-badge-info{background:var(--c-subtle);border:1px solid var(--c-border);padding:.45em .8em;border-radius:var(--radius-pill);font-weight:800;font-size:.93rem}

/* Sections */
.qs-about .qs-section{margin:44px 0;text-align:center}
.qs-about .qs-h2{font-weight:900;color:var(--c-text);margin-bottom:12px;font-size:clamp(1.6rem,2.6vw,2rem)}

/* Mission + stats */
.qs-about .qs-mission{color:var(--c-soft);max-width:880px;margin:0 auto 18px}
.qs-about .qs-stats{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.qs-about .qs-stat{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:16px 24px;box-shadow:var(--shadow-md);min-width:150px;transform:translateY(10px);opacity:0;transition:opacity .35s ease, transform .35s ease}
.qs-about .qs-stat__num{display:block;font-size:1.9rem;font-weight:900;color:#e11d48}
.qs-about .qs-stat__label{font-weight:800;color:var(--c-muted);font-size:.95rem}

/* Valeurs */
.qs-about .qs-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.qs-about .qs-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-md);opacity:0;transform:translateY(10px);transition:opacity .35s ease, transform .35s ease, box-shadow .25s ease, border-color .25s ease}
.qs-about .qs-card:hover{box-shadow:0 16px 36px rgba(2,6,23,.12);border-color:rgba(37,99,235,.1)}
.qs-about .qs-card__icon{font-size:1.8rem;margin-bottom:10px}
.qs-about .qs-card h3{margin:.2rem 0 .2rem;color:var(--c-text);font-size:1.1rem}
.qs-about .qs-card p{margin:0;color:var(--c-muted);font-size:.96rem}

/* Timeline */
.qs-about .qs-timeline{list-style:none;margin:0 auto;padding:0;max-width:820px;text-align:left;color:var(--c-muted);display:grid;gap:12px}
.qs-about .qs-timeline li{position:relative;padding:10px 14px 10px 30px;background:#fff;border:1px solid var(--c-border);border-left:3px solid var(--c-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;transform:translateY(10px);transition:opacity .35s ease, transform .35s ease}
.qs-about .qs-timeline li strong{color:var(--c-accent)}

/* Team */
.qs-about .qs-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;opacity:0;transform:translateY(10px);transition:opacity .35s ease, transform .35s ease}
.qs-about .qs-team-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:18px;text-align:center;box-shadow:var(--shadow-md);transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease}
.qs-about .qs-team-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(2,6,23,.12);border-color:rgba(37,99,235,.12)}
.qs-about .qs-team-card h3{margin:8px 0 2px;color:var(--c-text);font-size:1.06rem}
.qs-about .qs-team-card p{margin:0;color:var(--c-muted);font-weight:700}

/* Avatars par couleur */
.qs-about .qs-avatar{width:92px;height:92px;margin:0 auto 10px;border-radius:var(--radius-circle);display:grid;place-items:center;font-weight:900;font-size:1.4rem;color:#fff;box-shadow:0 8px 20px rgba(2,6,23,.10)}

/* CTA */
.qs-about .qs-cta{text-align:center;margin-top:18px}
.qs-about .qs-btn{display:inline-block;padding:1rem 1.4rem;border-radius:var(--radius-lg);font-weight:900;text-decoration:none;background:linear-gradient(90deg,var(--c-accent),#7c3aed);color:#fff;box-shadow:0 18px 42px rgba(2,6,23,.22);transition:transform .15s ease, box-shadow .25s ease, filter .2s ease}
.qs-about .qs-btn:hover{transform:translateY(-1px);box-shadow:0 22px 48px rgba(2,6,23,.24);filter:saturate(1.03);color:#fff}

/* Partners */
.qs-about .qs-partners{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;opacity:0;transform:translateY(10px);transition:opacity .35s ease, transform .35s ease}
.qs-about .qs-partner{background:#fff;border:1px solid var(--c-border);padding:.6em 1em;border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-weight:800;color:var(--c-text);text-decoration:none}
.qs-about .qs-partners-desc{margin:16px auto 0;max-width:880px;text-align:left;color:var(--c-muted)}

/* Contact cross-link */
.qs-about .qs-contact-link p{margin:0;font-size:1.05rem;color:var(--c-muted)}

/* Scroll top btn */
.qs-about .qs-scrolltop{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:var(--radius-circle);border:1px solid var(--c-border);background:#fff;box-shadow:var(--shadow-md);display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease, transform .2s ease;z-index:60}
.qs-about .qs-scrolltop.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}

/* Reveal / Stagger */
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease}
[data-reveal].is-in{opacity:1;transform:translateY(0)}
[data-stagger]>*{opacity:0;transform:translateY(14px);transition:opacity .5s ease, transform .5s ease}
[data-stagger].is-in>*{opacity:1;transform:translateY(0)}
[data-reveal].is-in.qs-timeline li{opacity:1;transform:translateY(0)}

/* Print */
@media print{
  .qs-progress,.qs-scrolltop{display:none}
  .qs-hero,.qs-card,.qs-team-card,.qs-timeline li{box-shadow:none}
  a[href]:after{content:" (" attr(href) ")";font-size:.9em}
}
