/* apropos — Lot D2 (24/09, refonte apres 2e refus de Mathias)
 * UN SEUL conteneur (.sd-ap-c) porte toute la page : meme largeur et meme bord gauche
 * que l'en-tete du site (.sd-enveloppe : min(1220px, 100% - 2.6rem), 100% - 1.8rem sous 480px).
 * Aucune section ne definit sa propre largeur : rien ne peut sortir du conteneur (R-0222, R-0451).
 * Tokens repris de style.css. Prefixe .sd-ap- : n'affecte aucune autre page.
 * ui-ux-pro-max invoque pour : conteneur unique aligne, compteurs animes (reduced-motion),
 * cartes auteurs cliquables photo ronde, grille rubriques, cartes articles image.
 */

.sd-ap{display:block;padding-bottom:3rem}
.sd-ap-c{
  width:min(1220px,100% - 2.6rem);
  margin-inline:auto;
}
.sd-ap-c > *{max-width:100%}
.sd-ap img{max-width:100%}

/* ---------- surtitre + tete de section (meme bord gauche partout) ---------- */
.sd-ap-surtitre{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--courant);font-size:12.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent-txt);margin:0 0 .7rem;
}
.sd-ap-surtitre::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--accent2)}
.sd-ap-section{padding:4rem 0 0}
.sd-ap-tete{margin-bottom:1.8rem}
.sd-ap-tete h2{font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.01em}
.sd-ap-tete-chapo{margin-top:.6rem;max-width:60ch;font-size:17px;line-height:1.6;color:var(--doux)}

/* ---------- HERO ---------- */
.sd-ap-hero{
  position:relative;margin-top:1.4rem;
  border-radius:var(--rayon);overflow:hidden;
  min-height:clamp(340px,44vw,500px);
  display:flex;align-items:flex-end;
  box-shadow:var(--ombre-f);background:var(--nuit);
}
.sd-ap-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.sd-ap-hero-voile{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,18,19,.78) 0%,rgba(10,18,19,.45) 45%,rgba(10,18,19,0) 75%),
             linear-gradient(0deg,rgba(10,18,19,.55) 0%,rgba(10,18,19,0) 55%);
}
.sd-ap-hero-in{position:relative;z-index:2;padding:clamp(1.6rem,4vw,3rem)}
.sd-ap-hero-kicker{
  font-family:var(--courant);font-size:13px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#EDF3F2;margin:0 0 .6rem;
}
.sd-ap-hero-titre{
  font-family:var(--titre);color:#fff;
  font-size:clamp(30px,4.4vw,52px);line-height:1.1;max-width:17ch;text-wrap:balance;
}

/* ---------- INTRO (the_content DANS le conteneur) ---------- */
.sd-ap-intro{
  padding:3.6rem 0 0;
  display:grid;grid-template-columns:minmax(0,1fr);
}
.sd-ap-intro-texte{max-width:68ch}
.sd-ap-intro-texte > *{margin:0}
.sd-ap-intro-texte p{font-size:18px;line-height:1.75;color:var(--encre)}
.sd-ap-intro-texte p:first-child{
  font-family:var(--titre);font-size:clamp(21px,2.1vw,26px);line-height:1.5;font-weight:500;
}
.sd-ap-intro-texte p + p{margin-top:1.1rem;color:var(--doux)}

/* ---------- CHIFFRES CLES : compteurs animes ---------- */
.sd-ap-chiffres{
  margin-top:2.8rem;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;
}
.sd-ap-chiffre{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:flex-start;
  padding:1.6rem 1.5rem 1.5rem;
  border-radius:var(--rayon);
  background:var(--fond);
  border:1px solid var(--filet);
  box-shadow:var(--ombre);
}
.sd-ap-chiffre::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
}
.sd-ap-chiffre-ico{
  display:inline-flex;width:46px;height:46px;border-radius:14px;
  align-items:center;justify-content:center;margin-bottom:1rem;
  background:color-mix(in srgb,var(--accent) 11%,var(--fond));color:var(--accent-txt);
}
.sd-ap-chiffre-ico svg{width:24px;height:24px}
.sd-ap-compteur{
  display:block;font-family:var(--titre);font-weight:700;
  font-size:clamp(38px,4vw,54px);line-height:1;color:var(--encre);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.sd-ap-date{display:block;font-family:var(--titre);font-weight:700;font-size:clamp(24px,2.3vw,30px);line-height:1.15;color:var(--encre);margin-top:auto}
.sd-ap-chiffre--date{background:var(--surf);border-color:transparent}
.sd-ap-chiffre-lib{margin-top:.55rem;font-size:15px;line-height:1.4;color:var(--doux);font-weight:600}

/* ---------- RUBRIQUES : 6 cartes-image ---------- */
.sd-ap-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.sd-ap-carte{
  display:flex;flex-direction:column;background:var(--fond);
  border-radius:var(--rayon);box-shadow:var(--ombre);overflow:hidden;
  color:inherit;text-decoration:none;
  transition:box-shadow .2s ease,transform .2s ease;
}
.sd-ap-carte:hover{box-shadow:var(--ombre-f);transform:translateY(-3px);text-decoration:none}
.sd-ap-carte-img{display:block;aspect-ratio:3/2;background:var(--surf);overflow:hidden}
.sd-ap-carte-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.sd-ap-carte:hover .sd-ap-carte-img img{transform:scale(1.04)}
.sd-ap-carte-corps{display:flex;flex-direction:column;padding:1.3rem 1.4rem 1.5rem;flex:1}
.sd-ap-carte-titre{font-family:var(--titre);font-weight:600;font-size:20px;color:var(--encre);line-height:1.3}
.sd-ap-carte-chapo{margin-top:.45rem;font-size:15.5px;line-height:1.55;color:var(--doux)}
.sd-ap-carte-pied{
  margin-top:auto;padding-top:1rem;font-family:var(--courant);
  font-size:14px;font-weight:700;color:var(--accent-txt);
}

/* ---------- EQUIPE ---------- */
.sd-ap-equipe{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1.6rem}
.sd-ap-auteur{
  display:flex;flex-direction:column;
  padding:2rem;border-radius:var(--rayon);
  background:var(--fond);border:1px solid var(--filet);box-shadow:var(--ombre);
}
.sd-ap-auteur-tete{display:flex;align-items:center;gap:1.4rem}
.sd-ap-auteur-photo{
  flex:0 0 auto;display:block;width:132px;height:132px;border-radius:50%;
  padding:4px;background:linear-gradient(135deg,var(--accent),var(--accent2));
  transition:transform .2s ease;
}
.sd-ap-auteur-photo:hover{transform:scale(1.03)}
.sd-ap-auteur-photo img{
  display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;
  aspect-ratio:1/1;border:3px solid var(--fond);background:var(--surf);
}
.sd-ap-auteur-id{min-width:0}
.sd-ap-auteur-nom{font-size:26px;line-height:1.15}
.sd-ap-auteur-nom a{color:var(--encre);text-decoration:none}
.sd-ap-auteur-nom a:hover{color:var(--accent-txt);text-decoration:underline;text-underline-offset:4px}
.sd-ap-auteur-role{margin-top:.4rem;font-size:15px;font-weight:600;color:var(--accent-txt)}
.sd-ap-auteur-nb{
  display:inline-block;margin-top:.55rem;padding:.25rem .7rem;border-radius:999px;
  font-size:13.5px;font-weight:700;background:var(--surf);color:var(--encre);
}
.sd-ap-auteur-bio{margin-top:1.2rem;font-size:16px;line-height:1.65;color:var(--encre)}
.sd-ap-auteur-rubs{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.sd-ap-auteur-rubs a{
  display:inline-flex;align-items:center;gap:.45rem;min-height:44px;
  padding:.35rem .9rem;border-radius:999px;border:1px solid var(--filet);
  font-size:14px;font-weight:600;color:var(--accent-txt);text-decoration:none;background:var(--fond);
}
.sd-ap-auteur-rubs a:hover{border-color:var(--accent)}
.sd-ap-auteur-rubs span{font-size:12.5px;color:var(--doux);font-weight:700}
.sd-ap-auteur-der{margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid var(--filet)}
.sd-ap-auteur-der-tit{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--doux);margin:0 0 .4rem}
.sd-ap-auteur-der ul{list-style:none;margin:0;padding:0}
.sd-ap-auteur-der li a{
  display:block;padding:.55rem 0;font-size:15.5px;line-height:1.4;font-weight:600;
  color:var(--encre);text-decoration:none;border-bottom:1px dashed var(--filet);
}
.sd-ap-auteur-der li:last-child a{border-bottom:0}
.sd-ap-auteur-der li a:hover{color:var(--accent-txt)}
.sd-ap-auteur-cta{margin-top:auto;align-self:flex-start;min-height:44px}
.sd-ap-auteur > :nth-last-child(2){margin-bottom:1.4rem}

/* ---------- METHODE : 4 etapes numerotees ---------- */
.sd-ap-methode{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;
}
.sd-ap-methode li{
  display:flex;flex-direction:column;gap:.9rem;
  padding:1.6rem 1.5rem;border-radius:var(--rayon);background:var(--surf);
}
.sd-ap-methode-num{
  display:inline-flex;width:44px;height:44px;border-radius:50%;
  align-items:center;justify-content:center;
  font-family:var(--titre);font-weight:700;font-size:20px;
  background:var(--accent);color:var(--sur-accent);
}
.sd-ap-methode-limite .sd-ap-methode-num{background:var(--accent2);color:var(--sur-accent2)}
.sd-ap-methode h3{font-size:18px;margin-bottom:.4rem}
.sd-ap-methode p{font-size:15.5px;line-height:1.55;color:var(--doux);margin:0}

/* ---------- DERNIERS ARTICLES : grandes images ---------- */
.sd-ap-derniers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.sd-ap-dernier{
  display:flex;flex-direction:column;border-radius:var(--rayon);overflow:hidden;
  background:var(--fond);box-shadow:var(--ombre);color:inherit;text-decoration:none;
  transition:box-shadow .2s ease,transform .2s ease;
}
.sd-ap-dernier:hover{box-shadow:var(--ombre-f);transform:translateY(-3px);text-decoration:none}
.sd-ap-dernier-img{display:block;aspect-ratio:16/10;background:var(--surf);overflow:hidden}
.sd-ap-dernier-img img{width:100%;height:100%;object-fit:cover;display:block}
.sd-ap-dernier-corps{display:flex;flex-direction:column;gap:.45rem;padding:1.2rem 1.4rem 1.4rem;flex:1}
.sd-ap-dernier-rub{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-txt)}
.sd-ap-dernier-titre{font-family:var(--titre);font-size:19px;line-height:1.3;font-weight:600;color:var(--encre)}
.sd-ap-dernier-date{margin-top:auto;font-size:14px;color:var(--doux)}

/* ---------- CONTACT ---------- */
.sd-ap-contact{
  margin-top:4rem;
  display:flex;align-items:center;justify-content:space-between;gap:1.4rem;
  padding:2.2rem 2.4rem;border-radius:var(--rayon);
  background:var(--nuit);color:var(--nuit-encre);
}
.sd-ap-contact h2{font-size:clamp(22px,2.4vw,28px);color:var(--nuit-encre)}
.sd-ap-contact p{margin:.4rem 0 0;font-size:16.5px;color:var(--nuit-doux)}
.sd-ap-contact .sd-btn{flex:0 0 auto;min-height:44px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .sd-ap-grille,.sd-ap-derniers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-ap-chiffres,.sd-ap-methode{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .sd-ap-section{padding-top:3rem}
  .sd-ap-intro{padding-top:2.6rem}
  .sd-ap-grille,.sd-ap-derniers,.sd-ap-methode{grid-template-columns:minmax(0,1fr)}
  .sd-ap-hero{margin-top:1rem;min-height:360px}
  .sd-ap-hero-voile{background:linear-gradient(0deg,rgba(10,18,19,.82) 0%,rgba(10,18,19,.35) 60%,rgba(10,18,19,.1) 100%)}
  .sd-ap-auteur{padding:1.5rem}
  .sd-ap-auteur-tete{gap:1.1rem}
  .sd-ap-auteur-photo{width:104px;height:104px}
  .sd-ap-auteur-nom{font-size:23px}
  .sd-ap-auteur-cta{align-self:stretch;text-align:center}
  .sd-ap-contact{flex-direction:column;align-items:flex-start;padding:1.8rem 1.5rem}
  .sd-ap-contact .sd-btn{width:100%;text-align:center}
}
@media (max-width:480px){
  .sd-ap-c{width:min(100% - 1.8rem,100%)}
  .sd-ap-chiffres{gap:.8rem}
  .sd-ap-chiffre{padding:1.2rem 1rem 1.2rem}
  .sd-ap-chiffre-ico{width:40px;height:40px;margin-bottom:.8rem}
  .sd-ap-compteur{font-size:34px}
  .sd-ap-date{font-size:21px}
  .sd-ap-chiffre-lib{font-size:14px}
  .sd-ap-auteur-photo{width:92px;height:92px}
}
@media (prefers-reduced-motion:reduce){
  .sd-ap-carte,.sd-ap-dernier,.sd-ap-carte-img img,.sd-ap-auteur-photo{transition:none}
  .sd-ap-carte:hover,.sd-ap-dernier:hover,.sd-ap-auteur-photo:hover{transform:none}
  .sd-ap-carte:hover .sd-ap-carte-img img{transform:none}
}
