/* =========================================================
   43.95 — pages de référence (Apprendre · Créer · Partager)

   Registre volontairement opposé à l'accueil : l'accueil est un
   récit qu'on traverse, ces pages sont un document qu'on lit.
   Même palette, mêmes polices, mêmes idiomes — mais pas de scrub :
   il reste la signature exclusive de la page d'accueil.
   ========================================================= */

body.page{ overflow-x:hidden; }

/* ---------- Bandeau d'ouverture ---------- */
.phero{
  position:relative;
  min-height:min(78svh,760px);
  display:flex; align-items:flex-end;
  padding:clamp(120px,16vh,190px) var(--gut) clamp(44px,6vh,80px);
  overflow:hidden;
  border-bottom:1px solid var(--line-soft);
}
.phero__img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 45%;
  filter:brightness(1.06) saturate(1.04);
  will-change:transform;
}
.phero__veil{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(11,7,8,.82) 0%, rgba(11,7,8,.24) 30%, rgba(11,7,8,.42) 62%, var(--ink) 100%),
    linear-gradient(to right, rgba(11,7,8,.78) 0%, rgba(11,7,8,.34) 42%, rgba(11,7,8,0) 72%);
}
.phero__inner{
  position:relative; z-index:1;
  width:100%; max-width:1440px; margin:0 auto;
}
.phero__title{
  font-family:var(--f-display); font-weight:700;
  font-size:clamp(2.6rem,7.2vw,6.4rem);
  line-height:.94; letter-spacing:-.04em;
  max-width:22em;
  text-shadow:0 1px 2px rgba(11,7,8,.4), 0 6px 30px rgba(11,7,8,.5);
}
.phero__lead{
  margin-top:clamp(18px,2.4vw,30px);
  max-width:38rem;
  font-size:clamp(1.05rem,1.6vw,1.32rem);
  font-weight:300; line-height:1.5;
  color:var(--cream-dim);
  text-shadow:0 1px 2px rgba(11,7,8,.5);
}

/* ---------- Corps de lecture ---------- */
.pbody{
  max-width:1440px; margin:0 auto;
  padding:clamp(60px,8vh,110px) var(--gut) clamp(70px,9vh,130px);
}

.sect{
  /* le header est fixe : sans cette marge, une arrivée par ancre
     placerait le titre de section sous le bandeau */
  scroll-margin-top:clamp(90px,12vh,140px);
  padding-top:clamp(50px,7vh,96px);
  border-top:1px solid var(--line-soft);
  margin-top:clamp(50px,7vh,96px);
}
.sect:first-child{ border-top:0; margin-top:0; padding-top:0; }

.sect__head{
  display:grid; gap:clamp(14px,2vw,30px);
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  align-items:start;
}
.sect__title{
  font-family:var(--f-display); font-weight:500;
  font-size:clamp(1.6rem,3.2vw,2.7rem);
  line-height:1.04; letter-spacing:-.035em;
}
.sect__intro{
  font-size:clamp(1.02rem,1.4vw,1.18rem);
  line-height:1.6; color:var(--cream-dim);
  max-width:36rem;
}

/* Citation en exergue */
.pull{
  margin:clamp(30px,4vh,56px) 0 0;
  padding-left:clamp(18px,2.4vw,34px);
  border-left:2px solid var(--gold);
  max-width:44rem;
}
.pull p{
  font-family:var(--f-display); font-weight:400;
  font-size:clamp(1.25rem,2.5vw,2.05rem);
  line-height:1.24; letter-spacing:-.03em;
  text-wrap:balance;
}
.pull cite{
  display:block; margin-top:16px;
  font-family:var(--f-mono); font-style:normal;
  font-size:.64rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cream-mute);
}

/* Grille de fiches en verre */
.cards{
  display:grid; gap:1px;
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  margin-top:clamp(28px,3.6vw,48px);
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  border-radius:16px; overflow:hidden;
}
.card{
  padding:clamp(20px,2.4vw,32px);
  background:var(--glass);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:background-color .5s var(--ease);
}
.card:hover{ background:rgba(11,7,8,.6); }
.card__num{
  font-family:var(--f-mono); font-size:.62rem; letter-spacing:.14em;
  color:var(--gold); text-transform:uppercase;
}
.card__name{
  margin-top:14px;
  font-family:var(--f-display); font-weight:500;
  font-size:clamp(1rem,1.5vw,1.24rem);
  letter-spacing:-.03em; line-height:1.16;
}
.card__role{
  margin-top:8px;
  font-family:var(--f-mono); font-size:.6rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold);
}
.card__text{
  margin-top:12px; color:var(--cream-dim);
  font-size:.96rem; line-height:1.56;
}

/* Liste définitionnelle : clé mono à gauche, propos à droite */
.defs{
  margin-top:clamp(26px,3.4vw,44px);
  border-top:1px solid var(--line-soft);
}
.def{
  display:grid; gap:6px clamp(24px,4vw,64px);
  grid-template-columns:minmax(0,11rem) minmax(0,1fr);
  padding:clamp(18px,2.2vw,28px) 0;
  border-bottom:1px solid var(--line-soft);
}
.def__key{
  font-family:var(--f-mono); font-size:.68rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold);
  padding-top:.25em;
}
.def__val{
  font-size:clamp(1rem,1.35vw,1.14rem);
  line-height:1.56; color:var(--cream);
  max-width:38rem;
}
.def__val em{
  display:block; margin-top:6px;
  font-style:normal; color:var(--cream-mute);
  font-size:.94em;
}

/* Étapes numérotées avec flèche */
.flow{
  display:flex; flex-wrap:wrap; align-items:stretch; gap:10px;
  margin-top:clamp(28px,3.6vw,48px);
}
.flow__step{
  flex:1 1 min(230px,100%);
  padding:clamp(18px,2.2vw,26px);
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--glass);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.flow__num{
  font-family:var(--f-mono); font-size:.62rem; letter-spacing:.14em;
  color:var(--gold);
}
.flow__name{
  margin-top:12px;
  font-family:var(--f-display); font-weight:500;
  font-size:clamp(.98rem,1.4vw,1.16rem); letter-spacing:-.025em;
}
.flow__text{ margin-top:10px; color:var(--cream-dim); font-size:.92rem; line-height:1.52; }

/* Mots-clés */
.tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:clamp(24px,3vw,38px); }
.tag{
  padding:9px 15px; border-radius:999px;
  border:1px solid var(--line);
  background:rgba(251,247,240,.04);
  font-family:var(--f-mono); font-size:.62rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--cream-dim);
}

/* Encart « sous NDA » */
.veil-note{
  margin-top:clamp(26px,3.4vw,42px);
  padding:clamp(18px,2.2vw,26px);
  border:1px dashed var(--line);
  border-radius:14px;
  background:rgba(183,156,255,.05);
  max-width:44rem;
}
.veil-note p{ color:var(--cream-dim); font-size:.98rem; line-height:1.58; }
.veil-note .mono{ display:block; margin-bottom:10px; color:var(--violet); font-size:.62rem; }

/* ---------- Pied : passer aux autres pages ---------- */
.pnext{
  border-top:1px solid var(--line-soft);
  padding:clamp(50px,7vh,96px) var(--gut) clamp(60px,8vh,110px);
}
.pnext__inner{ max-width:1440px; margin:0 auto; }
.pnext__grid{
  display:grid; gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  margin-top:clamp(24px,3vw,40px);
}
.pnext__card{
  display:block; position:relative;
  padding:clamp(22px,2.6vw,34px);
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  transition:border-color .4s var(--ease), transform .4s var(--ease);
}
.pnext__card:hover{ border-color:var(--gold); transform:translateY(-3px); }
.pnext__card img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; opacity:.3;
  transition:opacity .5s var(--ease), transform .8s var(--ease);
}
.pnext__card:hover img{ opacity:.46; transform:scale(1.05); }
.pnext__card > * { position:relative; z-index:1; }
.pnext__card::after{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(to top, rgba(11,7,8,.94), rgba(11,7,8,.6));
}
.pnext__kicker{ font-family:var(--f-mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.pnext__title{
  margin-top:12px;
  font-family:var(--f-display); font-weight:500;
  font-size:clamp(1.2rem,2vw,1.6rem); letter-spacing:-.03em;
}
.pnext__text{ margin-top:10px; color:var(--cream-dim); font-size:.94rem; line-height:1.52; }

/* Retour au récit */
.pback{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:.64rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--cream-mute);
  transition:color .35s var(--ease), gap .35s var(--ease);
}
.pback:hover{ color:var(--gold); gap:16px; }

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .sect__head{ grid-template-columns:1fr; }
  .def{ grid-template-columns:1fr; }
  .def__key{ padding-top:0; }
}


/* deux boutons côte à côte dans un même appel à l'action */
.cta{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
