/* ===== Page À propos ===== */
.ap-hero{max-width:900px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.ap-hero .crumbs{justify-content:center}
.ap-quote{margin:34px auto 0;max-width:720px;padding:24px 28px;border-radius:24px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-border)}
.ap-quote blockquote{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--ink);letter-spacing:-.01em}
.ap-quote figcaption{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;font-size:13.5px;color:var(--ink-3)}
.ap-faces{display:flex}.ap-faces > span{width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:end center;background:color-mix(in srgb,var(--c) 55%,transparent);box-shadow:0 0 0 3px var(--bg);margin-left:-8px}
.ap-faces > span:first-child{margin-left:0}.ap-faces svg{width:36px;height:auto;translate:0 8%}

.ap-sec{padding:clamp(80px,12vh,140px) 0}
.ap-head{max-width:760px;margin-bottom:clamp(36px,6vh,60px)}
.ap-head .h2s-p{margin-top:18px}

/* histoire : frise */
.ap-tl{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:6px}
.ap-tl::before{content:"";position:absolute;left:118px;top:10px;bottom:10px;width:1px;background:linear-gradient(var(--lav),var(--peach),var(--mint),var(--lime))}
.ap-tl li{display:grid;grid-template-columns:100px 1fr;gap:38px;align-items:start;padding:18px 0}
.ap-y{justify-self:end;font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint));padding-top:3px;text-align:right}
.ap-tl li > div{position:relative;padding:20px 24px;border-radius:20px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-border)}
.ap-tl li > div::before{content:"";position:absolute;left:-25px;top:24px;width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px var(--bg),0 0 14px var(--c)}
.ap-tl b{display:block;font-size:19px;letter-spacing:-.02em}
.ap-tl p{margin-top:8px;font-size:15px;line-height:1.6;color:var(--ink-2)}

/* équipe */
.ap-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ap-m{display:flex;flex-direction:column;gap:4px;padding:18px 18px 20px;border-radius:24px;color:var(--ink);text-decoration:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 14%,transparent),transparent 70%),var(--glass);box-shadow:inset 0 0 0 1px var(--glass-border);
  opacity:0;translate:0 24px;transition:opacity .6s calc(var(--i,0) * .06s),translate .7s cubic-bezier(.2,1,.3,1) calc(var(--i,0) * .06s),box-shadow .3s}
.ap-m.in{opacity:1;translate:0 0}
.ap-m:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 55%,transparent),0 24px 50px -30px var(--c)}
.ap-ph{position:relative;aspect-ratio:1;border-radius:18px;margin-bottom:14px;overflow:hidden;display:grid;place-items:end center;
  background:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px) 0 0/14px 14px,linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px) 0 0/14px 14px,radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c) 75%,#fff 8%),color-mix(in srgb,var(--c) 30%,var(--bg)) 85%)}
.ap-h{width:84%;translate:0 6%;transition:transform .5s cubic-bezier(.2,1.4,.4,1)}.ap-h svg{width:100%;height:auto;display:block}
.ap-m:hover .ap-h{transform:translateY(-6px) scale(1.04)}
.ap-pet{position:absolute;right:8px;bottom:8px;width:30%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--pc) 45%,var(--bg));box-shadow:0 0 0 3px color-mix(in srgb,var(--bg) 70%,transparent)}
.ap-pet svg{width:88%;height:auto}
.ap-m b{font-size:18px;letter-spacing:-.02em}
.ap-m small{font-size:12.5px;font-family:var(--f-mono);color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.ap-m p{margin-top:8px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.ap-you{--c:var(--ink-3);border:0}
.ap-you .ap-ph{background:var(--glass-in);box-shadow:inset 0 0 0 1.5px dashed var(--glass-border);place-items:center;outline:1.5px dashed var(--glass-border);outline-offset:-1.5px}
.ap-plus{font-size:64px;font-weight:300;color:var(--ink-3)}
.ap-you em{margin-top:auto;padding-top:12px;font-style:normal;font-weight:600;font-size:14px;color:var(--ink)}

/* principes */
.ap-pr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ap-p{padding:26px;border-radius:24px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-border);position:relative;overflow:hidden}
.ap-p::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--c)}
.ap-p span{font-family:var(--f-mono);font-size:12px;color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.ap-p b{display:block;margin-top:14px;font-size:22px;letter-spacing:-.03em;line-height:1.15}
.ap-p p{margin-top:12px;font-size:15px;line-height:1.6;color:var(--ink-2)}

/* nous trouver */
.ap-find{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ap-find > *{display:flex;flex-direction:column;gap:4px;padding:24px;border-radius:22px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-border);color:var(--ink);text-decoration:none;transition:box-shadow .25s}
.ap-find a:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lav) 60%,transparent)}
.ap-find span{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.ap-find b{margin-top:6px;font-size:18px;letter-spacing:-.02em}
.ap-find small{font-size:13.5px;color:var(--ink-2)}
.ap-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

@media (max-width:1000px){.ap-team{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-pr,.ap-find{grid-template-columns:1fr}}
@media (max-width:640px){.ap-tl::before{left:6px}.ap-tl li{grid-template-columns:1fr;gap:8px;padding-left:24px}.ap-y{justify-self:start;text-align:left}.ap-tl li > div::before{left:-23px}.ap-team{grid-template-columns:1fr 1fr;gap:12px}.ap-m{padding:12px}.ap-m p{display:none}}
@media (prefers-reduced-motion:reduce){.ap-m{opacity:1;translate:none;transition:none}}
.ap-hero h1{font-size:clamp(36px,calc(3.9 * 1vw / var(--z,1)),62px)!important;line-height:1.02!important}
.ap-hero h1 .grad{display:block}
html body.sub-page .ap-hero h1{font-size:clamp(36px,calc(3.9 * 1vw / var(--z,1)),62px)!important;line-height:1.04!important}

/* ===== Plus d'air et d'animation entre les parties ===== */
.ap-sec{padding:clamp(120px,20vh,220px) 0}
.ap-sec + .ap-sec{position:relative}
.ap-sec + .ap-sec::before{content:"";position:absolute;left:50%;top:0;width:min(560px,70%);height:1px;translate:-50% 0;background:linear-gradient(90deg,transparent,var(--glass-border),transparent)}
@media (prefers-reduced-motion:no-preference){
  [data-ap-rv]{opacity:0;translate:0 50px;filter:blur(8px);transition:opacity .9s,translate 1s cubic-bezier(.2,1,.3,1),filter .9s}
  [data-ap-rv].in{opacity:1;translate:0 0;filter:none}
  .ap-pr[data-ap-rv] > *,.ap-find[data-ap-rv] > *{opacity:0;translate:0 40px;transition:opacity .7s,translate .8s cubic-bezier(.2,1,.3,1)}
  .ap-pr[data-ap-rv].in > *,.ap-find[data-ap-rv].in > *{opacity:1;translate:0 0}
  .ap-pr.in > :nth-child(2),.ap-find.in > :nth-child(2){transition-delay:.12s}.ap-pr.in > :nth-child(3),.ap-find.in > :nth-child(3){transition-delay:.24s}
  .ap-pr[data-ap-rv],.ap-find[data-ap-rv]{filter:none;translate:none;opacity:1}
  .ap-p{transition:transform .4s cubic-bezier(.2,1.3,.4,1),box-shadow .3s}.ap-p:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 55%,transparent),0 26px 50px -30px var(--c)}
}

/* ===== 01 / Notre histoire : épinglée, les étapes s'allument une à une ===== */
.ap-w{display:inline-block}
@media (prefers-reduced-motion:no-preference){
  .ap-hhead .ap-w{opacity:0;translate:0 .5em;filter:blur(10px);transition:opacity .7s calc(var(--wi) * .09s),translate .8s cubic-bezier(.2,1,.3,1) calc(var(--wi) * .09s),filter .7s calc(var(--wi) * .09s)}
  .ap-hhead.in .ap-w{opacity:1;translate:0 0;filter:none}
  .ap-hhead .eyebrow,.ap-hhead .h2s-p{opacity:0;transition:opacity .8s .5s}.ap-hhead.in .eyebrow,.ap-hhead.in .h2s-p{opacity:1}
}
.ap-hbar{display:none}
@media (min-width:901px) and (prefers-reduced-motion:no-preference){
  .ap-hist.on{padding:0}
  .ap-hist.on .ap-hpin{height:calc(240 * 1vh / var(--z,1))}
  .ap-hist.on .ap-hstick{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;overflow:hidden}
  .ap-hist.on .ap-hgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:64px;align-items:center;width:100%}
  .ap-hist.on .ap-hhead{margin:0}
  .ap-hist.on .ap-hbar{display:block;margin-top:34px;height:4px;border-radius:4px;background:var(--glass-border);overflow:hidden;max-width:320px}
  .ap-hist.on .ap-hbar i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--hp,0));background:linear-gradient(90deg,var(--sky),var(--peach),var(--lav),var(--mint),var(--lime))}
  .ap-hist.on .ap-tl::before{background:var(--glass-border)}
  .ap-hist.on .ap-tl::after{content:"";position:absolute;left:118px;top:10px;width:1px;height:calc((100% - 20px) * var(--hp,0));background:linear-gradient(var(--sky),var(--peach),var(--lav),var(--mint),var(--lime));box-shadow:0 0 12px var(--lav)}
  .ap-hist.on .ap-tl li{opacity:calc(.18 + .82 * var(--k,0));translate:calc((1 - var(--k,0)) * 40px) 0;padding:12px 0}
  .ap-hist.on .ap-tl li > div{transition:box-shadow .4s,background .4s}
  .ap-hist.on .ap-tl li.now > div{background:linear-gradient(135deg,color-mix(in srgb,var(--c) 20%,transparent),var(--glass) 70%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 55%,transparent),0 24px 50px -30px var(--c)}
  .ap-hist.on .ap-tl li > div::before{scale:calc(.6 + .4 * var(--k,0))}
  .ap-hist.on .ap-tl li.now > div::before{box-shadow:0 0 0 4px var(--bg),0 0 22px 4px var(--c)}
  .ap-hist.on .ap-tl li p{font-size:14.5px}
}

.h2s-title .ap-w{display:inline-block!important}
section.ap-sec:not(.ap-hist.on){padding-top:clamp(130px,20vh,220px)!important;padding-bottom:clamp(130px,20vh,220px)!important}
@media (min-width:901px) and (prefers-reduced-motion:no-preference){
  .ap-hist.on .ap-tl li p{max-height:0;opacity:0;margin-top:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,1,.3,1),opacity .4s,margin-top .4s}
  .ap-hist.on .ap-tl li.now p{max-height:160px;opacity:1;margin-top:8px}
  .ap-hist.on .ap-tl li > div{padding:16px 22px}
  .ap-hist.on .ap-tl li.now > div{padding:20px 24px}
  .ap-hist.on .ap-tl li{padding:8px 0}
  .ap-hist.on .ap-tl li > div::before{top:20px}
  .ap-hist.on .ap-y{padding-top:0}
}
.h2s-title > .ap-w{color:var(--ink)!important}
.ap-team{padding-inline:clamp(0px,4vw,72px);gap:22px}
/* compagnons dans une bulle de verre */
.ap-pet{width:32%!important;right:10px!important;bottom:10px!important;background:linear-gradient(150deg,rgba(255,255,255,.28),rgba(255,255,255,.06) 55%,color-mix(in srgb,var(--pc) 22%,transparent))!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.6);backdrop-filter:blur(10px) saturate(1.6);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 -6px 12px -6px color-mix(in srgb,var(--pc) 60%,transparent),inset 0 0 0 1px rgba(255,255,255,.28),0 10px 22px -10px rgba(0,0,0,.55)!important;overflow:hidden}
.ap-pet::after{content:"";position:absolute;left:16%;top:8%;width:42%;height:22%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);pointer-events:none}
.ap-pet svg{width:84%!important;translate:0 6%}
