/* HumAIn — habillage des pages de contenu (AEO/GEO).
   Ces pages etaient servies en HTML brut : parfaitement extractibles par les IA,
   mais un humain qui arrivait dessus depuis Google voyait une page blanche non
   stylee, a l'oppose de la promesse du site. Le contenu et la structure ne
   changent pas d'un caractere, on ne fait que l'habiller. */

:root{
  --bg:#050505; --bg2:#0b0d10; --text:#e8e8ea; --muted:#9a9aa2;
  --gold:#c9a96e; --gold-l:#e8d5b0; --cyan:#00d4ff; --border:rgba(255,255,255,.09);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Space Grotesk',system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg); color:var(--text);
  font-family:var(--sans); font-weight:300; line-height:1.7;
  -webkit-font-smoothing:antialiased;
  padding:0 1.5rem 5rem;
}
body > *{max-width:760px; margin-inline:auto}

header{padding:2.5rem 0 0; font-size:.82rem; color:var(--muted)}
header a{color:var(--gold); text-decoration:none}
header a:hover{text-decoration:underline}

main{padding-top:2.5rem}

h1{
  font-family:var(--serif); font-weight:600; font-size:clamp(2.1rem,5vw,3rem);
  line-height:1.12; letter-spacing:-.01em; margin-bottom:1.4rem;
}
h2{
  font-family:var(--serif); font-weight:600; font-size:clamp(1.4rem,3vw,1.8rem);
  margin:3rem 0 .9rem; line-height:1.2;
}
h2::before{
  content:""; display:inline-block; width:18px; height:2px;
  background:var(--gold); vertical-align:middle; margin-right:.6rem; opacity:.85;
}
h3{
  font-family:var(--sans); font-weight:500; font-size:1.02rem;
  color:var(--gold-l); margin:1.8rem 0 .4rem;
}

p{color:#c4c4ca; font-size:.97rem; margin-bottom:1rem}
main > p:first-of-type{font-size:1.08rem; color:var(--text); line-height:1.65}
strong{color:var(--text); font-weight:500}
a{color:var(--cyan); text-decoration:none}
a:hover{text-decoration:underline}

ul,ol{margin:0 0 1.2rem 1.3rem; color:#c4c4ca; font-size:.97rem}
li{margin-bottom:.5rem}
li::marker{color:var(--gold)}

section{border-top:1px solid var(--border); margin-top:2.5rem; padding-top:.5rem}
section:first-of-type{border-top:0}

nav[aria-label]{
  border-top:1px solid var(--border); margin-top:3rem; padding-top:.5rem;
}
nav[aria-label] ul{list-style:none; margin-left:0}
nav[aria-label] a{color:var(--gold)}

footer{
  border-top:1px solid var(--border); margin-top:3.5rem; padding-top:1.5rem;
  font-size:.85rem; color:var(--muted);
}
footer h2{font-size:1.1rem; margin-top:1rem}
footer a{color:var(--gold)}

:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:2px}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms !important; animation-duration:.01ms !important}
}
