@font-face { font-family:"Adventor"; font-weight:400; font-style:normal; font-display:swap;
  src:url("adventor-regular.woff2") format("woff2"); }
@font-face { font-family:"Adventor"; font-weight:700; font-style:normal; font-display:swap;
  src:url("adventor-bold.woff2") format("woff2"); }
@font-face { font-family:"Pagella"; font-weight:400; font-style:normal; font-display:swap;
  src:url("pagella-regular.woff2") format("woff2"); }
@font-face { font-family:"Pagella"; font-weight:400; font-style:italic; font-display:swap;
  src:url("pagella-italic.woff2") format("woff2"); }
@font-face { font-family:"Pagella"; font-weight:700; font-style:normal; font-display:swap;
  src:url("pagella-bold.woff2") format("woff2"); }

:root {
  --encre:#17293F; --ocre:#BE8A2E; --ocre-fonce:#96701F; --craie:#F0EADE;
  --papier:#FAF7F1; --ardoise:#3D4E5A;
  --titre:"Adventor","Avant Garde","Century Gothic",system-ui,sans-serif;
  --texte:"Pagella",Palatino,"Palatino Linotype",Georgia,serif;
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  margin:0; background:var(--papier); color:var(--encre);
  font-family:var(--texte); font-size:clamp(1.02rem,0.98rem+0.2vw,1.12rem); line-height:1.7;
}
.enveloppe { width:min(100% - 2.5rem, 62rem); margin-inline:auto; }
.prose { max-width:38rem; }

a { color:var(--ocre-fonce); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover { color:var(--encre); }
a:focus-visible { outline:2px solid var(--ocre); outline-offset:3px; border-radius:2px; }

/* bandeau d'avertissement */
.avis {
  background:var(--encre); color:rgba(240,234,222,.78); font-family:var(--titre);
  font-size:.74rem; line-height:1.5; padding:.55rem 0;
}
.avis p { margin:0; }

/* en-tete */
header.site { border-bottom:1px solid rgba(23,41,63,.12); background:var(--papier); }
.barre { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; padding:1.1rem 0; }
.barre img { width:13.5rem; height:auto; display:block; }
nav.site ul { list-style:none; display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin:0; padding:0; }
nav.site a {
  font-family:var(--titre); font-size:.82rem; color:var(--ardoise);
  text-decoration:none; padding-bottom:2px; border-bottom:2px solid transparent;
}
nav.site a:hover { color:var(--encre); border-color:var(--ocre); }
nav.site a[aria-current="page"] { color:var(--encre); border-color:var(--ocre); }
nav.site { margin-left:auto; }

/* hero */
.hero { background:var(--encre); color:var(--craie); position:relative; overflow:hidden; }
.hero .enveloppe { position:relative; z-index:1; padding:clamp(2.6rem,7vw,4.6rem) 0; }
.hero h1 {
  font-family:var(--titre); font-weight:700; color:var(--craie);
  font-size:clamp(1.9rem,1.3rem+2.4vw,3.1rem); line-height:1.12;
  letter-spacing:-.015em; margin:0 0 1.1rem; max-width:20ch;
}
.hero .lead { font-size:clamp(1.08rem,1rem+.4vw,1.3rem); font-style:italic;
  color:rgba(240,234,222,.86); margin:0; max-width:40ch; }
.filigrane { position:absolute; right:-6vmin; bottom:-14vmin; width:38vmin; height:38vmin;
  opacity:.08; pointer-events:none; }

main { padding:clamp(2.4rem,6vw,4rem) 0 1rem; }
section { margin-bottom:clamp(2.6rem,6vw,4rem); }
h2 { font-family:var(--titre); font-weight:700; font-size:clamp(1.28rem,1.1rem+.7vw,1.7rem);
  line-height:1.2; letter-spacing:-.01em; margin:0 0 1.1rem; }
h3 { font-family:var(--titre); font-weight:700; font-size:1.02rem; margin:0 0 .4rem; }
p { margin:0 0 1.1rem; }
strong { font-weight:700; }

.regle { border:0; height:2px; width:3.5rem; background:var(--ocre); margin:0 0 1.6rem; }

/* collection */
.collection { list-style:none; margin:0; padding:0; }
.collection li { border-top:1px solid rgba(23,41,63,.16); padding:1.6rem 0; }
.collection li:last-child { border-bottom:1px solid rgba(23,41,63,.16); }
.entete-item { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem 1rem; margin-bottom:.5rem; }
.entete-item h3 { font-size:1.25rem; margin:0; }
.soustitre { font-style:italic; color:var(--ardoise); }
.etat {
  font-family:var(--titre); font-size:.7rem; letter-spacing:.04em; padding:.2rem .55rem;
  border:1px solid var(--ocre); color:var(--ocre-fonce); border-radius:2px; margin-left:auto;
  white-space:nowrap;
}
.etat.disponible { background:var(--ocre); border-color:var(--ocre); color:#231a05; }
.collection p { max-width:44rem; margin-bottom:.6rem; }

/* listes editoriales */
ul.points, ol.etapes { max-width:40rem; padding-left:1.1rem; }
ul.points li, ol.etapes li { margin-bottom:.6rem; }
ul.nue { list-style:none; padding:0; max-width:40rem; }
ul.nue li { padding-left:1.4rem; position:relative; margin-bottom:.6rem; }
ul.nue li::before { content:""; position:absolute; left:0; top:.62em; width:.5rem; height:.5rem;
  background:var(--ocre); }

.terrains { list-style:none; padding:0; margin:0; display:grid; gap:1.1rem 2rem;
  grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); max-width:52rem; }
.terrains li { border-left:2px solid var(--ocre); padding-left:.9rem; }
.terrains p { margin:0; font-size:.96rem; color:var(--ardoise); }

/* extraits */
.extrait { border-left:2px solid var(--ocre); padding:.2rem 0 .2rem 1.1rem; margin:0 0 1.8rem;
  max-width:40rem; }
.extrait p { margin:0 0 .4rem; }
.extrait .note { font-family:var(--titre); font-size:.72rem; color:var(--ardoise); }

.sources { font-size:.82rem; line-height:1.75; color:var(--ardoise); max-width:48rem; }

.planche { display:grid; gap:1.6rem 1.4rem;
  grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  max-width:44rem; margin:0 0 1.2rem; }
.planche figure { margin:0; }
.planche img { width:100%; height:auto; display:block;
  border:1px solid rgba(23,41,63,.18); background:var(--craie); }
.planche figcaption { font-family:var(--titre); font-size:.7rem; color:var(--ardoise);
  margin-top:.35rem; }

.appel { background:var(--craie); border-top:2px solid var(--ocre); padding:1.6rem 1.4rem;
  max-width:44rem; }
.appel p:last-child { margin-bottom:0; }
.appel h2 { margin-top:0; }

footer.site { background:var(--encre); color:rgba(240,234,222,.62); margin-top:3rem;
  padding:2.6rem 0 2rem; font-size:.82rem; }
footer.site a { color:var(--ocre); }
footer.site img { width:12rem; height:auto; margin-bottom:1.2rem; }
footer.site p { margin:0 0 .55rem; max-width:46rem; }
.mentions-pied { font-size:.74rem; color:rgba(240,234,222,.45); margin-top:1.4rem;
  padding-top:1.2rem; border-top:1px solid rgba(240,234,222,.14); }

@media (max-width:40rem) {
  nav.site { margin-left:0; }
  .etat { margin-left:0; }
}
@media print {
  .avis, nav.site { display:none; }
  body { background:#fff; }
  .hero { background:#fff; color:#000; }
  .hero h1, .hero .lead { color:#000; }
}
