/* ---------- Variables et base ---------- */
.ap{--encre:#0b1224;--papier:#ffffff;--texte:#0b1224;--doux:#2b3447;--titre:#0b1224;--halo:rgba(255,255,255,.92);
  --bordeaux:#7a1f2b;--or:#c9973f;--filet:rgba(11,18,36,.3);--voile-fond:rgba(255,255,255,.5);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
  position:relative;isolation:isolate;overflow-x:clip;background:var(--papier);color:var(--texte);
  font-size:1.0625rem;line-height:1.7;font-weight:500;
  text-shadow:0 0 14px var(--halo),0 0 6px var(--halo),0 0 2px var(--halo);
  padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-wrap:break-word}
@supports not (overflow:clip){.ap{overflow-x:hidden}.ap-fond-collant{height:100% !important}}
.ap *{box-sizing:border-box}
.ap a{color:var(--bordeaux)}
.ap a:focus-visible,.ap summary:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:4px}
.ap img,.ap svg{max-width:100%}

/* ---------- Fond : diaporama flottant + images claires sur les côtés ---------- */
.ap-fond{position:absolute;inset:0;z-index:0;pointer-events:none}
.ap-fond-collant{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;background:var(--papier)}
.ap-fond-collant::after{content:"";position:absolute;inset:0;background:var(--voile-fond)}
.ap-calque{position:absolute;inset:0;background:center/contain no-repeat;opacity:0;transition:opacity 1.8s ease;will-change:opacity,transform}
.ap-calque.actif{opacity:1}
.ap-calque.v0{animation:ap-flotte0 16s ease-in-out infinite alternate}
.ap-calque.v1{animation:ap-flotte1 19s ease-in-out infinite alternate}
.ap-calque.v2{animation:ap-flotte2 22s ease-in-out infinite alternate}
@keyframes ap-flotte0{from{transform:translate3d(0,-6px,0)}to{transform:translate3d(0,6px,0)}}
@keyframes ap-flotte1{from{transform:translate3d(-6px,0,0)}to{transform:translate3d(6px,0,0)}}
@keyframes ap-flotte2{from{transform:translate3d(5px,5px,0)}to{transform:translate3d(-5px,-5px,0)}}

.ap-flottes{position:absolute;inset:0;z-index:1;pointer-events:none}
.ap-f{position:absolute;width:min(var(--w,200px),28vw);aspect-ratio:4/5;object-fit:cover;opacity:.4;border-radius:26px;
  filter:saturate(.9) brightness(1.1);
  -webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 58%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 58%,transparent 100%);
  animation:ap-g var(--d,16s) ease-in-out var(--dl,0s) infinite alternate;will-change:transform}
.ap-f.g{left:-3%}
.ap-f.d{right:-3%;animation-name:ap-d}
.ap-f.g:nth-child(3n){left:2%}
.ap-f.d:nth-child(3n){right:2%}
.ap-f:nth-child(1){top:3%;--w:230px;--d:15s;--dl:0s}
.ap-f:nth-child(2){top:12%;--w:190px;--d:18s;--dl:-4s}
.ap-f:nth-child(3){top:22%;--w:170px;--d:14s;--dl:-8s}
.ap-f:nth-child(4){top:32%;--w:220px;--d:19s;--dl:-2s}
.ap-f:nth-child(5){top:42%;--w:190px;--d:16s;--dl:-10s}
.ap-f:nth-child(6){top:52%;--w:240px;--d:20s;--dl:-6s}
.ap-f:nth-child(7){top:62%;--w:180px;--d:15s;--dl:-12s}
.ap-f:nth-child(8){top:72%;--w:210px;--d:17s;--dl:-3s}
.ap-f:nth-child(9){top:82%;--w:190px;--d:21s;--dl:-9s}
.ap-f:nth-child(10){top:92%;--w:220px;--d:16s;--dl:-5s}
@keyframes ap-g{from{transform:translate3d(-22px,0,0) rotate(-3deg)}to{transform:translate3d(54px,-42px,0) rotate(3deg)}}
@keyframes ap-d{from{transform:translate3d(22px,0,0) rotate(3deg)}to{transform:translate3d(-54px,-42px,0) rotate(-3deg)}}
@media (max-width:700px){.ap-f{opacity:.3}}

/* ---------- Sections transparentes ---------- */
.ap>section{position:relative;z-index:2;background:transparent !important;background-image:none !important;padding:clamp(.8rem,2vw,1.3rem) 0}
.ap .cadre{width:calc(100% - 2rem);max-width:1080px;margin-left:auto;margin-right:auto;background:transparent;border:0;box-shadow:none}
.ap .cadre>*{min-width:0}

/* ---------- Titres et textes ---------- */
.ap h1,.ap h2,.ap h3{font-family:var(--serif);line-height:1.15;margin:0 0 .6em;font-weight:700;color:var(--titre)}
.ap h1{font-size:clamp(2.4rem,7vw,4.2rem);letter-spacing:-.01em}
.ap h2{font-size:clamp(1.5rem,3.4vw,2.1rem)}
.ap h3{font-size:1.2rem}
.ap p{margin:0 0 1em;max-width:68ch;color:var(--texte)}
.ap .fil{font-size:.92rem;color:var(--doux);margin-bottom:1.2rem}
.ap .fil a{font-weight:700}
.ap .accroche{font-size:1.2rem;max-width:52ch}

/* ---------- Hero ---------- */
.ap .hero{padding:clamp(2rem,6vw,4.5rem) 0 clamp(1rem,3vw,2rem)}
.ap .hero-sur-titre{color:var(--bordeaux);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.92rem;margin-bottom:.6rem}
.ap .btn{display:inline-block;background:var(--or);color:#14213d;font-weight:700;padding:.75rem 1.4rem;border-radius:6px;text-decoration:none;margin:0 .6rem .6rem 0;min-height:44px;border:2px solid var(--or);text-shadow:none}
.ap .btn:hover{filter:brightness(1.06)}
.ap .btn.second{background:transparent;color:var(--texte);border:2px solid var(--texte)}
.ap .btn.second:hover{background:var(--texte);color:var(--papier)}

/* ---------- Cartes : paiement, lecture ---------- */
.ap .faits{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));margin:0;padding:0;list-style:none}
.ap .faits li{background:transparent;border:1px solid var(--filet);border-left:4px solid var(--bordeaux);padding:1rem 1.2rem;border-radius:4px}
.ap .faits b{display:block;font-family:var(--serif);font-size:1.1rem;margin-bottom:.3rem;color:var(--titre)}

/* ---------- Biographie : étiquettes, réseaux, parcours, visions, FAQ ---------- */
.ap .etiquettes{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.2rem 0 1.6rem;list-style:none}
.ap .etiquettes li{border:1px solid var(--filet);border-radius:99px;padding:.2rem .85rem;font-size:.95rem}
.ap .ico{width:1.35em;height:1.35em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ap .hero-reseaux{display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:.4rem 0 1rem;list-style:none}
.ap .hero-reseaux a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--texte);color:var(--texte);text-decoration:none;text-shadow:none;transition:background .2s,color .2s}
.ap .hero-reseaux a:hover,.ap .hero-reseaux a:focus-visible{background:var(--or);color:#14213d;border-color:var(--or)}
.ap .reseaux{display:flex;flex-wrap:wrap;gap:.7rem;padding:0;margin:0;list-style:none}
.ap .reseaux a{display:flex;align-items:center;gap:.6rem;min-height:48px;border:1px solid var(--bordeaux);border-radius:6px;padding:.55rem 1.1rem;text-decoration:none;font-weight:700}
.ap .reseaux a:hover,.ap .reseaux a:focus-visible{background:var(--bordeaux);color:#fff;text-shadow:none}
.ap #reseaux{scroll-margin-top:1rem}
.ap .parcours{border-left:2px solid var(--or);margin:0;padding:0 0 0 1.4rem;list-style:none}
.ap .parcours li{position:relative;margin-bottom:1.4rem}
.ap .parcours li::before{content:"";position:absolute;left:-1.95rem;top:.55rem;width:.75rem;height:.75rem;border-radius:50%;background:var(--bordeaux)}
.ap .parcours time{font-family:var(--serif);font-weight:700;color:var(--bordeaux)}
.ap .visions{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.ap .visions article{background:transparent;border:1px solid var(--filet);padding:1.3rem;border-radius:4px}
.ap .visions h3{font-size:1.2rem}
.ap details{border-bottom:1px solid var(--filet);padding:.9rem 0}
.ap summary{cursor:pointer;font-family:var(--serif);font-weight:700;font-size:1.1rem;min-height:44px;padding:.2rem 0}
.ap details p{margin:.7rem 0 0}

/* ---------- Auteurs ---------- */
.ap .liste-auteurs{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.ap .auteur-fiche{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;background:transparent;border:1px solid var(--filet);border-left:4px solid var(--bordeaux);padding:1.1rem 1.2rem;border-radius:4px}
.ap .auteur-fiche .avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--or);flex:none}
.ap .auteur-fiche h3{margin-bottom:.35em}
.ap .auteur-fiche p{margin-bottom:.7em}
.ap .auteur-fiche a{font-weight:700}

@media (max-width:819px){
  .ap .hero .cadre{text-align:center}
  .ap .accroche,.ap .hero p{margin-inline:auto}
  .ap .etiquettes,.ap .hero-reseaux{justify-content:center}
  .ap .reseaux a{flex:1 1 150px;justify-content:center}
  .ap .btn{display:block;margin:0 auto .7rem;max-width:320px;text-align:center}
}
@media (max-width:520px){
  .ap .auteur-fiche{grid-template-columns:1fr;text-align:center;justify-items:center}
}
@media (min-width:1600px){.ap{font-size:1.19rem}}
@media (prefers-reduced-motion:reduce){.ap-f,.ap-calque{animation:none !important;transition:none}}
@media print{.ap-fond,.ap-flottes{display:none}.ap{text-shadow:none}.ap .btn{display:none}}