:root {
  --fond: #fbfaf7; --encre: #1d1b16; --douce: #6b6559; --ligne: #e3dfd4;
  --accent: #9a5b22;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --fond: #16150f; --encre: #e8e4d8; --douce: #8b8577; --ligne: #322f24;
    --accent: #c8913f;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--fond); color: var(--encre);
  font: 400 16px/1.65 ui-serif, Georgia, "Times New Roman", serif;
  padding: 0 20px 90px;
}
main { max-width: 41rem; margin: 0 auto; }
header { border-bottom: 1px solid var(--ligne); padding: 44px 0 20px; margin-bottom: 34px; }
.enseigne {
  font: 500 12px/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .16em;
  text-transform: uppercase; color: var(--douce); margin: 0 0 10px;
}
h1 { font-size: 30px; line-height: 1.2; margin: 0 0 6px; text-wrap: balance; }
.date { font: 400 13.5px/1 ui-sans-serif, system-ui, sans-serif; color: var(--douce); }
h2 {
  font: 600 13px/1.3 ui-sans-serif, system-ui, sans-serif; letter-spacing: .1em;
  text-transform: uppercase; color: var(--accent);
  margin: 38px 0 12px; padding-bottom: 7px; border-bottom: 1px solid var(--ligne);
}
p, li { margin: 0 0 14px; }
ul { padding-left: 1.15rem; }
strong { font-weight: 600; }
.en { color: var(--douce); font-size: 14.5px; }
.en h2 { color: var(--douce); }
footer {
  margin-top: 54px; padding-top: 20px; border-top: 1px solid var(--ligne);
  font: 400 13.5px/1.6 ui-sans-serif, system-ui, sans-serif; color: var(--douce);
}
a { color: var(--accent); }

/* Page d'accueil */
.barre {
  max-width: 54rem; margin: 0 auto; padding: 16px 0;
  display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; justify-content: space-between;
  font: 500 14px/1 ui-sans-serif, system-ui, sans-serif;
  border-bottom: 1px solid var(--ligne);
}
.barre a { color: var(--encre); text-decoration: none; }
.barre .liens { display: flex; gap: 18px; }
.barre .liens a { color: var(--douce); }
.barre .liens a:hover { color: var(--accent); }
.marque { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.marque img { border-radius: 6px; }
.ouverture { text-align: center; border-bottom: none; padding-top: 56px; }
.ouverture .icone { border-radius: 22px; margin-bottom: 18px; }
.ouverture h1 { font-size: 40px; }
.accroche { font-size: 20px; font-style: italic; color: var(--douce); margin: 4px 0 22px; text-wrap: balance; }
.ouverture p { text-wrap: pretty; }
.appel { margin-top: 26px; }
.bouton {
  display: inline-block; padding: 12px 22px; border-radius: 999px;
  background: var(--accent); color: var(--fond); text-decoration: none;
  font: 600 15px/1.2 ui-sans-serif, system-ui, sans-serif;
}
.bouton:hover { filter: brightness(1.08); }
.apercus {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  margin: 10px 0 8px;
}
.apercus figure { margin: 0; }
.apercus img {
  display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: cover;
  border-radius: 12px; border: 1px solid var(--ligne); background: var(--ligne);
}
.apercus figcaption {
  font: 400 12.5px/1.4 ui-sans-serif, system-ui, sans-serif; color: var(--douce);
  text-align: center; margin-top: 8px;
}
.series dt { font-weight: 600; margin-top: 12px; }
.series dd { margin: 2px 0 0; color: var(--douce); }
.etapes { padding-left: 1.3rem; }
.etapes li { padding-left: 4px; }
.fr { color: var(--douce); font-size: 15px; }
.fr h2 { color: var(--douce); }
@media (max-width: 560px) {
  .apercus { gap: 8px; }
  .apercus figcaption { font-size: 11px; }
  .ouverture h1 { font-size: 32px; }
  .barre .liens { gap: 14px; }
}
