/* Page /a-propos/ — même langage que /formations/ (sombre, Playfair gras, filets fins, mono pour les étiquettes).
   Largeur utile limitée (--ap-max) et titres modérés : sur grand écran, la page reste dense et ne s'étire pas. */
.ap-page{--ap-max:1320px}
.ap-page .pg-head{padding-top:8.5rem;padding-bottom:2rem}
.ap-page .pg-head-in,.ap-intro,.ap-pillars-in,.ap-block-in,.ap-page .pg-cta-in{max-width:var(--ap-max);margin-left:auto;margin-right:auto}
.ap-page .pg-title{font-size:clamp(3rem,6.2vw,5.6rem)}
.ap-page .pg-sub{font-size:1.05rem}

/* ── présentation : portrait + second cliché décalé, texte à droite ── */
.ap-intro{padding:2.5rem var(--pg-pad) 5rem;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:3rem 5rem;align-items:center;border-top:1px solid rgba(126,202,195,.14)}
.ap-portrait{position:relative;margin:0 4rem 4rem 0}
.ap-portrait>picture,.ap-portrait>picture img{display:block;width:100%}
.ap-portrait>picture{aspect-ratio:4/5;overflow:hidden;background:var(--marine)}
.ap-portrait>picture img{height:100%;object-fit:cover;object-position:center top}
.ap-portrait figcaption{position:absolute;left:1rem;top:.9rem;font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);text-shadow:0 1px 6px rgba(10,12,28,.8)}
.ap-portrait-2{position:absolute;right:-4rem;bottom:-4rem;width:55%;height:auto;aspect-ratio:3/2;object-fit:cover;border:6px solid var(--marine-deep);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.ap-name{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.05;letter-spacing:-.02em;color:#fff}
.ap-role{font-family:'DM Mono',monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:.5rem 0 1.6rem}
.ap-lead{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(1.25rem,1.9vw,1.7rem);line-height:1.4;letter-spacing:-.005em;color:#fff;max-width:32ch}
.ap-lead strong{font-weight:700;color:var(--gold)}
.ap-partners{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid rgba(126,202,195,.14);max-width:54ch}
.ap-kicker{font-family:'DM Mono',monospace;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:.7rem}
.ap-partners p:not(.ap-kicker),.ap-call-intro{font-size:.98rem;font-weight:300;line-height:1.75;color:var(--gray-soft)}
.ap-partners strong{font-weight:500;color:#fff}

/* ── trois piliers : une photo, un mot, un texte — en alternance ── */
.ap-pillars{padding:0 var(--pg-pad)}
.ap-pillars-in{list-style:none;border-top:1px solid rgba(126,202,195,.14)}
.ap-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:1.5rem 4.5rem;align-items:center;padding:2.6rem 0;border-bottom:1px solid rgba(126,202,195,.14)}
.ap-ph{grid-column:1;grid-row:1;margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--marine)}
.ap-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.9);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.ap-row:hover .ap-ph img{transform:scale(1.05)}}
.ap-row .ap-mot,.ap-row .ap-row-txt{grid-column:2}
.ap-row:nth-child(even) .ap-ph{grid-column:2}
.ap-row:nth-child(even) .ap-mot,.ap-row:nth-child(even) .ap-row-txt{grid-column:1}
.ap-mot{grid-row:1;align-self:end;font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(2rem,3.4vw,3.2rem);line-height:.95;letter-spacing:-.03em;color:#fff}
.ap-mot span{display:block;font-family:'DM Mono',monospace;font-weight:400;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.ap-row-txt{grid-row:2}
.ap-row:not(:has(.ap-ph)){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ap-row-ttl{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.3;color:#fff;margin-bottom:.8rem;max-width:36ch}
.ap-row-txt p{font-size:.98rem;font-weight:300;line-height:1.75;color:var(--gray-soft);max-width:54ch}
.ap-row-txt em{font-style:italic;color:#fff}
.ap-link{display:inline-block;margin-top:1rem;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.ap-link:hover{color:#fff}
/* la photo occupe les deux lignes de la grille (mot + texte) */
.ap-ph{grid-row:1 / span 2}

.ap-h2{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;letter-spacing:-.02em;color:#fff;margin-bottom:1.6rem}

/* ── méthode : 4 étapes en colonnes ── */
.ap-method{padding:4.5rem var(--pg-pad) 5.5rem}
.ap-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.ap-steps li{border-top:1px solid rgba(126,202,195,.25);padding-top:1.1rem}
.ap-steps span,.ap-call-list span{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;color:var(--gold)}
.ap-steps p{margin-top:.6rem;font-size:1.02rem;font-weight:300;line-height:1.8;color:var(--gray-soft)}

/* ── appel découverte ── */
/* l'appel découverte est un bloc à part : bande marine pleine largeur, avec filets haut et bas */
.ap-call{background:var(--marine);border-top:1px solid rgba(126,202,195,.22);border-bottom:1px solid rgba(126,202,195,.22);padding:5.5rem var(--pg-pad) 6rem}
.ap-call-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2.5rem 5rem;align-items:start}
.ap-bene{margin-top:1.6rem}
.ap-bene ul{list-style:none;display:grid;gap:.45rem}
.ap-bene li{font-size:.93rem;font-weight:300;color:var(--gray-soft);padding-left:1.1rem;position:relative}
.ap-bene li::before{content:'';position:absolute;left:0;top:.7em;width:5px;height:5px;background:var(--teal);border-radius:50%}
.ap-call-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem}
.ap-call-list li{padding:1.3rem 0 1.5rem;border-top:1px solid rgba(126,202,195,.22)}
.ap-call-list h3{font-family:'Playfair Display',serif;font-weight:700;font-size:1.2rem;color:#fff;margin:.6rem 0 .4rem}
.ap-call-list p{font-size:1rem;font-weight:300;line-height:1.8;color:var(--off-white)}

.ap-page .pg-cta-big{font-size:clamp(2rem,4vw,3.6rem)}

@media(max-width:1000px){
  .ap-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .ap-call{padding:3.5rem var(--pg-pad) 4rem}
  .ap-page .pg-head{padding-top:7rem}
  .ap-intro,.ap-call-in{grid-template-columns:1fr}
  .ap-intro{gap:2.5rem;padding-bottom:3.5rem}
  .ap-portrait{max-width:440px;margin:0 2.5rem 3rem 0}
  .ap-portrait-2{right:-2.5rem;bottom:-3rem}
  .ap-row,.ap-row:not(:has(.ap-ph)){grid-template-columns:1fr;gap:1rem;padding:2rem 0}
  .ap-ph,.ap-row:nth-child(even) .ap-ph,.ap-row .ap-mot,.ap-row .ap-row-txt,.ap-row:nth-child(even) .ap-mot,.ap-row:nth-child(even) .ap-row-txt{grid-column:1;grid-row:auto}
  .ap-method{padding:3.5rem var(--pg-pad) 2.5rem}
  .ap-call{padding-bottom:3.5rem}
}
@media(max-width:600px){
  .ap-steps,.ap-call-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.ap-ph img{transition:none}}
