:root {
  --a-petit: var(--lv-t-petit);
  --a-corps: var(--lv-t-corps);
  --a-bloc: clamp(1rem, .92rem + .45vw, 1.25rem);
  --a-h2: clamp(1.625rem, 1.2rem + 1.15vw, 2.25rem);
  --a-texte: 40rem;
  --a-rail: 320px;
  --a-ecart: clamp(48px, 6vw, 96px);
  --a-collant: 84px;
}
.sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.lv-num {
  font-family: var(--lv-titre);
}
.progression {
  position: fixed;
  inset: 0 0 auto;
  height: 3px;
  z-index: 30;
  pointer-events: none;
}
.progression span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--lv-degrade);
}
.tete {
  padding-bottom: var(--e-bloc);
}
.tete__grille {
  display: grid;
  gap: var(--e-groupe) var(--e-colonnes);
  align-items: center;
}
@media (min-width: 960px) {
  .tete__grille {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    align-items: start;
  }
  .tete__grille > :last-child {
    margin-top: var(--e-7);
  }
}
.tete__fil span {
  font-size: var(--a-petit);
}
.tete__fil a {
  position: relative;
  color: inherit;
  text-decoration: none;
}
.tete__fil a::after {
  content: "";
  position: absolute;
  inset: -14px -8px;
}
.tete__fil a:hover {
  text-decoration: underline;
  text-decoration-color: var(--lv-citron);
}
.tete h1 em,
.lectures__carte em {
  font-style: normal;
}
.tete h1 em {
  background: var(--lv-degrade);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lv-chapo strong {
  color: var(--lv-blanc);
  font-weight: 600;
}
.meta {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: var(--e-3);
  align-items: center;
  margin-top: var(--e-6);
  font-size: var(--a-petit);
  line-height: 1.4;
  color: var(--lv-gris);
}
.meta img {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}
.meta b {
  color: var(--lv-creme);
  font-weight: 600;
}
.tete__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--e-3) var(--e-5);
  margin-top: var(--e-6);
}
.tete .lv-bouton--contour {
  padding: 6px 6px 6px 24px;
}
.tete .lv-bouton--contour .lv-bouton__fleche {
  background: var(--lv-citron);
  color: var(--lv-noir);
}
.lv-bouton svg {
  display: block;
}
:is(.meta, .auteur, .appel__visages, .tete__visuel) img {
  outline: 1px solid rgba(255, 255, 255, .1);
  outline-offset: -1px;
}
.chiffre {
  display: grid;
  gap: var(--e-3);
  padding: var(--e-6);
}
.tete .chiffre {
  width: 100%;
  max-width: 460px;
  justify-self: end;
}
.chiffre p {
  max-width: none;
}
.chiffre__sur {
  font: 600 var(--a-petit)/1.4 var(--lv-texte);
  color: var(--lv-citron);
}
.chiffre__valeur {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: var(--e-3);
  font: 800 clamp(4rem, 2.6rem + 4vw, 6.5rem)/.95 var(--lv-titre);
  letter-spacing: -.05em;
  color: var(--lv-blanc);
  font-variant-numeric: tabular-nums;
}
.chiffre__valeur small {
  font: 700 var(--a-bloc)/1.2 var(--lv-titre);
  letter-spacing: -.01em;
  background: var(--lv-degrade);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.chiffre__texte {
  font-size: var(--a-corps);
  line-height: 1.55;
  color: var(--lv-creme);
}
.chiffre__source {
  margin-top: var(--e-2);
  padding-top: var(--e-3);
  border-top: 1px solid var(--lv-filet);
  font-size: var(--a-petit);
  line-height: 1.45;
  color: var(--lv-gris);
}
.chiffre__source a {
  color: inherit;
  text-decoration-color: rgba(176, 255, 0, .5);
}
.tete__visuel {
  position: relative;
  display: grid;
}
.tete__visuel > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--lv-r-carte);
  background: var(--lv-noir-2);
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .8);
}
.tete__visuel .chiffre {
  position: relative;
  justify-self: stretch;
  width: auto;
  max-width: 360px;
  margin: calc(-1 * var(--e-6)) var(--e-4) 0;
  padding: var(--e-5);
  gap: var(--e-2);
  box-shadow: 0 0 0 6px var(--lv-noir), 0 24px 48px -12px rgba(0, 0, 0, .8);
}
.tete__visuel .chiffre__valeur {
  font-size: clamp(3rem, 2.2rem + 2.4vw, 4.5rem);
}
.tete__visuel .chiffre__texte {
  font-size: 1rem;
}
@media (min-width: 960px) {
  .tete__visuel .chiffre {
    justify-self: start;
    margin-left: calc(-1 * var(--e-6));
  }
}
.corps {
  display: grid;
  column-gap: var(--a-ecart);
  padding-bottom: var(--e-section);
}
@media (min-width: 1100px) {
  .corps {
    grid-template-columns: minmax(0, 1fr) var(--a-rail);
  }
}
.article {
  min-width: 0;
  color: var(--lv-creme);
}
.article > * {
  max-width: var(--a-texte);
  margin: 0;
}
.article > * + * {
  margin-top: var(--e-5);
}
.article > :is(.essentiel, .comparatif, .etapes, .chrono, .encadre, .appel, .ticket, .lv-faq, .sources, .auteurs, .chiffre) {
  margin-block: var(--e-7);
}
.article :is(p, li) {
  font-size: var(--a-corps);
  line-height: 1.7;
  text-wrap: pretty;
}
.article strong {
  color: var(--lv-blanc);
  font-weight: 600;
}
.article a:not([class]) {
  color: var(--lv-blanc);
  text-decoration: underline;
  text-decoration-color: var(--lv-citron);
  text-decoration-thickness: 1.5px;
  text-underline-offset: .2em;
  transition: color var(--lv-d1) var(--lv-courbe);
}
.article a:not([class]):hover {
  color: var(--lv-citron);
}
.article mark {
  padding: .05em .2em;
  border-radius: 4px;
  background: var(--lv-citron-doux);
  color: var(--lv-blanc);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.article > :is(ul, ol):not([class]) {
  padding-left: 1.25em;
}
.article > :is(ul, ol):not([class]) > li + li {
  margin-top: var(--e-2);
}
.article li::marker {
  color: var(--lv-citron);
}
.article > h2 {
  margin-top: var(--e-8);
  font-size: var(--a-h2);
  line-height: 1.1;
}
.article > h2::before {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin-bottom: var(--e-5);
  border-radius: 2px;
  background: var(--lv-degrade);
}
.article > h2 + * {
  margin-top: var(--e-4);
}
.article > h3 {
  margin-top: var(--e-7);
  font-size: var(--a-bloc);
}
.article > .intertitre {
  margin-top: var(--e-6);
  font: 700 var(--a-bloc)/1.3 var(--lv-titre);
  letter-spacing: -.01em;
  color: var(--lv-blanc);
}
.article > .intertitre + * {
  margin-top: var(--e-3);
}
.sommaire-mobile {
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-moyen);
  background: var(--lv-noir-2);
}
.sommaire-mobile summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 52px;
  padding-inline: var(--e-5);
  font: 600 var(--a-corps)/1 var(--lv-titre);
  color: var(--lv-blanc);
}
.sommaire-mobile summary::-webkit-details-marker {
  display: none;
}
.sommaire-mobile summary::after {
  content: "+";
  font: 400 1.5rem/1 var(--lv-texte);
  color: var(--lv-citron);
  transition: transform var(--lv-d1) var(--lv-courbe);
}
.sommaire-mobile[open] summary::after {
  transform: rotate(45deg);
}
.sommaire-mobile ol {
  margin: 0;
  padding: 0 var(--e-5) var(--e-4) 2.75em;
}
.sommaire-mobile li::marker {
  color: var(--lv-gris);
}
.article .sommaire-mobile a {
  display: block;
  padding-block: 6px;
  color: var(--lv-creme);
  text-decoration: none;
}
@media (min-width: 1100px) {
  .sommaire-mobile {
    display: none;
  }
}
.essentiel {
  padding: var(--e-carte-large);
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-carte);
  background: var(--lv-noir-2);
}
.essentiel__titre {
  margin-bottom: var(--e-2);
  font: 800 var(--a-bloc)/1.2 var(--lv-titre);
  letter-spacing: -.02em;
  color: var(--lv-blanc);
}
:is(.essentiel, .fenetre__corps) ol {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: e;
}
:is(.essentiel, .fenetre__corps) li {
  counter-increment: e;
  position: relative;
  padding: var(--e-4) 0 var(--e-4) 48px;
  border-top: 1px solid var(--lv-filet);
}
:is(.essentiel, .fenetre__corps) li:last-child {
  padding-bottom: 0;
}
@media (max-width: 559px) {
  .essentiel {
    padding: var(--e-5) var(--e-4);
  }
  :is(.essentiel, .fenetre__corps) li {
    padding-left: 44px;
  }
}
:is(.essentiel, .fenetre__corps) li::before {
  content: counter(e);
  position: absolute;
  left: 0;
  top: calc(var(--e-4) + .85em - 16px);
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1.5px solid var(--lv-citron);
  border-radius: 50%;
  font: 700 var(--a-petit)/1 var(--lv-titre);
  color: var(--lv-citron);
  font-variant-numeric: tabular-nums;
}
.filtres {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--e-2);
  margin-bottom: var(--e-4);
}
.filtres button {
  min-height: 44px;
  padding: 0 var(--e-5);
  border: 1px solid var(--lv-filet-fort);
  border-radius: var(--lv-r-pilule);
  background: transparent;
  color: var(--lv-creme);
  font: 500 var(--a-petit)/1 var(--lv-texte);
  cursor: pointer;
  transition:
    background-color var(--lv-d1) var(--lv-courbe),
    border-color var(--lv-d1) var(--lv-courbe),
    color var(--lv-d1) var(--lv-courbe),
    transform var(--lv-d1) var(--lv-courbe);
}
.filtres button:active {
  transform: scale(.96);
}
.filtres button[aria-pressed=true] {
  border-color: var(--lv-citron);
  background: var(--lv-citron-doux);
  color: var(--lv-citron);
}
.filtres__compte {
  margin-left: auto;
  font-size: var(--a-petit);
  color: var(--lv-gris);
  font-variant-numeric: tabular-nums;
}
.filtres__vide {
  color: var(--lv-gris);
}
.tableau {
  padding: var(--e-2) var(--e-4);
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-carte);
  background: var(--lv-noir-2);
}
.tableau table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.5;
}
.tableau thead th {
  padding: var(--e-4) var(--e-3);
  text-align: left;
  vertical-align: bottom;
  background: var(--lv-noir-2);
  box-shadow: inset 0 -1px 0 var(--lv-filet-fort);
  font: 600 var(--a-petit)/1.35 var(--lv-texte);
  color: var(--lv-gris);
}
.tableau tbody :is(th, td) {
  padding: var(--e-4) var(--e-3);
  text-align: left;
  vertical-align: top;
  border-top: 1px solid var(--lv-filet);
  color: var(--lv-creme);
}
.tableau tbody:first-of-type tr:first-child > * {
  border-top: 0;
}
.tableau tbody th {
  font: 700 1rem/1.35 var(--lv-titre);
  letter-spacing: -.01em;
  color: var(--lv-blanc);
}
.tableau tbody th[data-type]::after {
  content: attr(data-type);
  display: block;
  width: fit-content;
  margin-top: var(--e-2);
  padding: 2px 10px;
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-pilule);
  font: 500 var(--a-petit)/1.4 var(--lv-texte);
  color: var(--lv-gris);
}
.valeur {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 6px;
  padding: 1px 10px 1px 7px;
  border-radius: var(--lv-r-pilule);
  font: 600 var(--a-petit)/1.5 var(--lv-texte);
  white-space: nowrap;
  vertical-align: 1px;
}
.valeur svg {
  flex: none;
}
.valeur--oui {
  background: rgba(66, 216, 118, .14);
  color: var(--lv-ok);
}
.valeur--non {
  background: rgba(255, 92, 55, .14);
  color: var(--lv-faux);
}
.valeur--np {
  background: rgba(255, 255, 255, .06);
  color: var(--lv-gris);
}
.tableau .nb {
  width: 1%;
  white-space: nowrap;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.comparatif .tableau :is(tr, tbody)[hidden] {
  display: none;
}
.replier {
  display: none;
}
.comparatif + p {
  font-size: var(--a-petit);
  line-height: 1.55;
  color: var(--lv-gris);
}
@media (min-width: 1100px) {
  .article > .comparatif--large {
    position: relative;
    z-index: 1;
    width: calc(100% + var(--a-rail) + var(--a-ecart));
    max-width: none;
  }
  .comparatif--large .tableau tbody th {
    width: 18%;
  }
  .tableau thead th {
    position: sticky;
    top: var(--a-collant);
    z-index: 2;
  }
  .tableau thead th::before {
    content: "";
    position: absolute;
    inset: auto 0 100%;
    height: var(--e-2);
    background: var(--lv-noir-2);
  }
  .tableau thead th::after {
    content: "";
    position: absolute;
    inset: 100% 0 auto;
    height: var(--e-4);
    background: linear-gradient(var(--lv-noir-2), transparent);
    pointer-events: none;
  }
  .tableau tbody tr:not(:first-child):has(> th[data-groupe]) > * {
    border-top-color: var(--lv-filet-fort);
  }
}
@media (max-width: 1099px) {
  .comparatif:not(.comparatif--large) .tableau {
    padding: 0 var(--e-2);
  }
  .comparatif:not(.comparatif--large) .tableau table {
    table-layout: fixed;
  }
  .comparatif:not(.comparatif--large) .tableau thead th:first-child {
    width: 30%;
  }
  .comparatif:not(.comparatif--large) .tableau :is(th, td) {
    padding: var(--e-3) var(--e-2);
    font-size: var(--a-petit);
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
  .comparatif:not(.comparatif--large) .valeur {
    white-space: normal;
    border-radius: var(--lv-r-petit);
  }
  .comparatif--large .tableau {
    padding: 0;
    border: 0;
    background: none;
  }
  .comparatif--large .tableau thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .comparatif--large .tableau :is(table, tbody, tr, th, td) {
    display: block;
  }
  .comparatif--large .tableau tbody tr {
    padding: var(--e-3) var(--e-4);
    border: 1px solid var(--lv-filet);
    border-radius: var(--lv-r-moyen);
    background: var(--lv-noir-2);
  }
  .comparatif--large .tableau tbody tr + tr {
    margin-top: var(--e-2);
  }
  .comparatif--large .tableau tbody :is(th, td) {
    padding: 0;
    border: 0;
  }
  .comparatif--large .tableau tbody th {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--e-1) var(--e-3);
    font-size: 1.0625rem;
  }
  .comparatif--large .tableau tbody th[data-type]::after {
    margin-top: 0;
    padding-block: 0;
  }
  .comparatif--large .tableau .nb {
    width: auto;
    text-align: left;
  }
  .comparatif--large .tableau tbody td {
    display: grid;
    grid-template-columns: 6.75rem minmax(0, 1fr);
    align-items: baseline;
    gap: var(--e-3);
    margin-top: var(--e-2);
    padding-top: var(--e-2);
    border-top: 1px solid var(--lv-filet);
    font-size: 1rem;
    line-height: 1.45;
  }
  .comparatif--large .tableau td::before {
    content: attr(data-col);
    font-size: var(--a-petit);
    line-height: 1.45;
    color: var(--lv-gris);
  }
  .comparatif--large .tableau td > .valeur {
    justify-self: start;
  }
  .tableau--replie tr:not(.ouvert) > td.detail {
    display: none;
  }
  .comparatif--large .tableau tbody td.replier {
    display: block;
    margin-top: 0;
    padding: 0;
    border: 0;
  }
  .comparatif--large .tableau td.replier::before {
    content: none;
  }
  .replier__bouton {
    display: inline-flex;
    align-items: center;
    gap: var(--e-2);
    min-height: 44px;
    margin-block: -6px -12px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--lv-creme);
    font: 500 var(--a-petit)/1.3 var(--lv-texte);
    cursor: pointer;
    text-decoration: underline;
    text-decoration-color: var(--lv-citron);
    text-underline-offset: .3em;
  }
  .replier__bouton::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-top: -3px;
    border: solid var(--lv-citron);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    transition: transform var(--lv-d1) var(--lv-courbe);
  }
  .ouvert .replier__bouton::after {
    margin-top: 3px;
    transform: rotate(-135deg);
  }
}
.etapes {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.etapes > li {
  padding: var(--e-4) 0 var(--e-4) 64px;
  border-top: 1px solid var(--lv-filet);
}
.etapes > li::before {
  top: var(--e-3);
  font-size: 2.5rem;
}
.etapes b {
  display: block;
  font: 700 var(--a-bloc)/1.3 var(--lv-titre);
  letter-spacing: -.01em;
  color: var(--lv-blanc);
}
.etapes span {
  display: block;
  margin-top: var(--e-1);
}
.chrono {
  list-style: none;
  padding: 0;
}
.chrono li {
  position: relative;
  padding: 0 0 var(--e-6) var(--e-7);
}
.chrono li:last-child {
  padding-bottom: 0;
}
.chrono li::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: calc(var(--a-bloc) * .65 - 8px);
  width: 16px;
  height: 16px;
  border: 2px solid var(--lv-gris);
  border-radius: 50%;
  background: var(--lv-noir);
}
.chrono li::after {
  content: "";
  position: absolute;
  left: 7px;
  top: calc(var(--a-bloc) * .65);
  bottom: calc(var(--a-bloc) * -.65);
  width: 2px;
  background: var(--lv-filet);
}
.chrono li:last-child::after {
  content: none;
}
.chrono li.cle::before {
  border-color: var(--lv-citron);
  background: var(--lv-citron);
  box-shadow: 0 0 0 5px rgba(176, 255, 0, .16);
}
.chrono time {
  display: block;
  font: 700 var(--a-bloc)/1.3 var(--lv-titre);
  letter-spacing: -.01em;
  color: var(--lv-blanc);
}
.chrono .cle time {
  color: var(--lv-citron);
}
.chrono p {
  margin-top: var(--e-1);
}
.encadre {
  padding: var(--e-carte-large);
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-carte);
  background: var(--lv-noir-2);
}
.encadre--attention {
  border-color: rgba(255, 92, 55, .55);
}
.encadre__titre {
  margin-bottom: var(--e-4);
  font: 700 var(--a-bloc)/1.3 var(--lv-titre);
  letter-spacing: -.01em;
  color: var(--lv-blanc);
}
.encadre :is(ul, ol) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--e-3);
}
.encadre li {
  position: relative;
  padding-left: 36px;
}
.encadre ul li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lv-citron);
}
.encadre--attention ul li::before {
  background: var(--lv-orange);
}
.encadre ol {
  counter-reset: v;
}
.encadre ol li {
  counter-increment: v;
}
.encadre ol li::before {
  content: counter(v);
  position: absolute;
  left: 0;
  top: .2em;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: var(--lv-citron-doux);
  font: 700 var(--a-petit)/1 var(--lv-titre);
  color: var(--lv-citron);
}
.appel {
  display: grid;
  gap: var(--e-3);
}
.appel p,
.ticket p {
  max-width: none;
}
.appel__sur {
  font: 600 var(--a-petit)/1.4 var(--lv-texte);
  color: var(--lv-citron);
}
.article .appel__titre {
  font: 800 var(--lv-t-h3)/1.2 var(--lv-titre);
  letter-spacing: -.02em;
  color: var(--lv-blanc);
  text-wrap: balance;
}
.appel__pied {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--e-4) var(--e-5);
  margin-top: var(--e-3);
}
.article .appel__visages {
  display: flex;
  align-items: center;
  font-size: var(--a-petit);
  line-height: 1.3;
  color: var(--lv-gris);
}
.appel__visages img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--lv-noir-2);
}
.appel__visages img + img {
  margin-left: -10px;
}
.appel__visages span {
  margin-left: var(--e-3);
}
.ticket {
  padding: 0;
  overflow: hidden;
}
.ticket__recu {
  padding: var(--e-carte-large);
  border-bottom: 2px dashed var(--lv-filet);
  background: rgba(255, 255, 255, .025);
}
.article .ticket__titre {
  margin-bottom: var(--e-2);
  font: 800 var(--a-bloc)/1.3 var(--lv-titre);
  letter-spacing: -.02em;
  color: var(--lv-blanc);
}
.ticket__recu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.article .ticket__recu li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 2px var(--e-4);
  padding-block: var(--e-3);
  border-top: 1px dotted rgba(255, 255, 255, .2);
  font-size: var(--a-petit);
  line-height: 1.4;
}
.ticket__recu b {
  margin-left: auto;
  font: 700 1rem/1.35 var(--lv-titre);
  color: var(--lv-citron);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ticket__appel {
  display: grid;
  gap: var(--e-3);
  padding: var(--e-carte-large);
}
.ticket__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--e-3) var(--e-5);
  margin-top: var(--e-2);
}
.lien-action {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font: 500 var(--a-petit)/1.3 var(--lv-texte);
  color: var(--lv-creme);
  text-decoration: underline;
  text-decoration-color: var(--lv-citron);
  text-underline-offset: .3em;
  transition: color var(--lv-d1) var(--lv-courbe);
}
.lien-action:hover {
  color: var(--lv-blanc);
}
.article .lv-faq summary {
  padding-block: var(--e-4);
  font-size: var(--a-bloc);
  text-wrap: balance;
}
.lv-faq details > div {
  padding-bottom: var(--e-5);
}
.sources {
  padding-top: var(--e-6);
  border-top: 1px solid var(--lv-filet);
}
.article .sources__titre {
  margin-bottom: var(--e-4);
  font-size: var(--a-bloc);
  line-height: 1.3;
}
.sources ol {
  margin: 0;
  padding-left: 1.6em;
  display: grid;
  gap: var(--e-2);
}
.article .sources li {
  font-size: var(--a-petit);
  line-height: 1.5;
  color: var(--lv-gris);
}
.sources li::marker {
  color: var(--lv-gris);
  font-variant-numeric: tabular-nums;
}
.article .sources a {
  color: var(--lv-creme);
  text-decoration-color: rgba(176, 255, 0, .5);
}
.auteurs {
  display: grid;
  gap: var(--e-5);
  padding-top: var(--e-6);
  border-top: 1px solid var(--lv-filet);
}
@media (min-width: 640px) {
  .auteurs {
    grid-template-columns: 1fr 1fr;
  }
}
.auteur {
  display: flex;
  align-items: flex-start;
  gap: var(--e-4);
}
.auteur img {
  flex: none;
  width: 56px;
  height: 56px;
  border-radius: var(--lv-r-moyen);
  object-fit: cover;
}
.article .auteur p {
  font-size: var(--a-petit);
  line-height: 1.5;
  color: var(--lv-gris);
}
.article .auteur__role {
  color: var(--lv-citron);
}
.article .auteur__nom {
  font: 700 var(--a-corps)/1.35 var(--lv-titre);
  color: var(--lv-blanc);
}
.rail {
  display: none;
}
@media (min-width: 1100px) {
  .rail {
    display: flex;
    flex-direction: column;
    gap: var(--e-5);
    position: sticky;
    top: 104px;
    align-self: start;
    max-height: calc(100dvh - 128px);
    padding: var(--e-5);
    border: 1px solid var(--lv-filet);
    border-radius: var(--lv-r-carte);
    background: var(--lv-noir-2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 24px 60px -30px rgba(0, 0, 0, .8);
    transition: opacity var(--lv-d1) var(--lv-courbe), visibility var(--lv-d1);
  }
  .rail--efface {
    opacity: 0;
    visibility: hidden;
  }
}
.rail p {
  max-width: none;
}
.rail__auteur {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: var(--e-4);
}
.rail__auteur img {
  width: 56px;
  height: 56px;
  border-radius: var(--lv-r-moyen);
  object-fit: cover;
  outline: 1px solid rgba(255, 255, 255, .1);
  outline-offset: -1px;
}
.rail__nom {
  font: 700 1.0625rem/1.25 var(--lv-titre);
  letter-spacing: -.01em;
  color: var(--lv-blanc);
}
.rail__role {
  margin-top: 2px;
  font-size: var(--a-petit);
  line-height: 1.4;
  color: var(--lv-gris);
}
.rail__rdv {
  display: grid;
  gap: var(--e-2);
}
.rail__rdv .lv-bouton {
  justify-content: space-between;
}
.rail__rdv p {
  font-size: var(--a-petit);
  line-height: 1.45;
  color: var(--lv-gris);
  text-align: center;
}
.rail__rdv .bouton-wa {
  justify-content: center;
  min-height: 48px;
  gap: 10px;
}
:is(.bouton-wa, .lien-wa) svg {
  flex: none;
  color: #25d366;
}
.lien-wa {
  gap: 8px;
}
@media (hover: hover) and (pointer: fine) {
  .bouton-wa:hover {
    border-color: #25d366;
    background: rgba(37, 211, 102, .1);
  }
}
.rail__sommaire {
  min-height: 0;
  overflow: auto;
  scrollbar-width: thin;
  padding-top: var(--e-4);
  border-top: 1px solid var(--lv-filet);
}
.rail__titre {
  margin-bottom: var(--e-3);
  font: 600 var(--a-petit)/1.3 var(--lv-texte);
  color: var(--lv-gris);
}
.sommaire {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: s;
  border-left: 1px solid var(--lv-filet);
}
.sommaire a {
  display: grid;
  grid-template-columns: 30px 1fr;
  margin-left: -1px;
  padding: 6px 0 6px var(--e-4);
  border-left: 2px solid transparent;
  font-size: var(--a-petit);
  line-height: 1.4;
  color: var(--lv-gris);
  text-decoration: none;
  transition: color var(--lv-d1) var(--lv-courbe), border-color var(--lv-d1) var(--lv-courbe);
}
.sommaire a::before {
  counter-increment: s;
  content: counter(s, decimal-leading-zero);
  font-variant-numeric: tabular-nums;
}
.sommaire a:hover {
  color: var(--lv-creme);
}
.sommaire a[aria-current=true] {
  border-left-color: var(--lv-citron);
  color: var(--lv-blanc);
}
.sommaire a[aria-current=true]::before {
  color: var(--lv-citron);
}
.assistants {
  padding: var(--e-4);
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-moyen);
  background: rgba(255, 255, 255, .03);
}
.assistants__titre {
  margin-bottom: var(--e-3);
  font: 600 var(--a-petit)/1.3 var(--lv-texte);
  color: var(--lv-gris);
}
.assistants__grille {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
  gap: var(--e-2);
}
.assistants__lien {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 0 4px;
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-petit);
  background: var(--lv-noir-3);
  font: 500 var(--a-petit)/1 var(--lv-texte);
  color: var(--lv-creme);
  text-decoration: none;
  white-space: nowrap;
  transition:
    border-color var(--lv-d1) var(--lv-courbe),
    color var(--lv-d1) var(--lv-courbe),
    transform var(--lv-d1) var(--lv-courbe);
}
.assistants__lien:active {
  transform: scale(.97);
}
@media (hover: hover) and (pointer: fine) {
  .assistants__lien:hover {
    border-color: rgba(176, 255, 0, .6);
    color: var(--lv-blanc);
  }
}
.assistants__statut {
  font-size: var(--a-petit);
  line-height: 1.4;
  color: var(--lv-citron);
}
.assistants__statut:not(:empty) {
  margin-top: var(--e-3);
}
.raccourcis {
  display: grid;
  gap: var(--e-2);
}
.raccourcis .lien-action {
  justify-self: start;
}
@media (min-width: 1100px) {
  .raccourcis {
    display: none;
  }
}
@media (min-width: 1100px) and (max-height: 820px) {
  .rail {
    gap: var(--e-4);
    padding-block: var(--e-4);
  }
  .rail__rdv p {
    display: none;
  }
}
@media (min-width: 1100px) and (max-width: 1339px) {
  .rail {
    max-height: calc(100dvh - 224px);
  }
}
.lectures {
  padding-block: var(--e-section);
  border-top: 1px solid var(--lv-filet);
}
.lectures h2 {
  margin-bottom: var(--e-tete);
  font-size: var(--a-h2);
}
.lectures__cartes {
  display: grid;
  gap: var(--e-gouttiere);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}
.lectures__carte {
  display: flex;
  flex-direction: column;
  gap: var(--e-2);
  padding: var(--e-5);
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-carte);
  background: var(--lv-noir-2);
  text-decoration: none;
  transition: border-color var(--lv-d1) var(--lv-courbe), transform var(--lv-d1) var(--lv-courbe);
}
.lectures__carte:active {
  transform: scale(.98);
}
.lectures__carte span {
  font: 600 var(--a-petit)/1.3 var(--lv-texte);
  color: var(--lv-citron);
}
.lectures__carte b {
  font: 700 var(--a-bloc)/1.3 var(--lv-titre);
  letter-spacing: -.01em;
  color: var(--lv-blanc);
  text-wrap: balance;
}
.lectures__carte p {
  font-size: var(--a-petit);
  line-height: 1.5;
  color: var(--lv-gris);
}
.lectures__carte::after {
  content: "\2192";
  align-self: flex-end;
  margin-top: auto;
  padding-top: var(--e-3);
  font: 700 var(--a-bloc)/1 var(--lv-titre);
  color: var(--lv-citron);
  transition: transform var(--lv-d1) var(--lv-courbe);
}
@media (hover: hover) and (pointer: fine) {
  .lectures__carte:hover {
    border-color: rgba(176, 255, 0, .6);
  }
  .lectures__carte:hover::after {
    transform: translateX(4px);
  }
}
.fenetre {
  width: min(640px, calc(100% - 32px));
  max-height: calc(100dvh - 48px);
  overflow: auto;
  padding: 0;
  border: 1px solid var(--lv-filet);
  border-radius: var(--lv-r-carte);
  background: var(--lv-noir-2);
  color: var(--lv-creme);
  box-shadow: 0 40px 120px -20px rgba(0, 0, 0, .85);
}
.fenetre::backdrop {
  background: rgba(5, 5, 5, .72);
  backdrop-filter: blur(4px);
}
@media (prefers-reduced-motion: no-preference) {
  .fenetre[open] {
    animation: fenetre-monte 280ms var(--lv-courbe);
  }
  @keyframes fenetre-monte {
    from {
      opacity: 0;
      transform: translateY(12px);
    }
  }
}
.fenetre__tete {
  position: relative;
  padding: var(--e-6) 76px var(--e-3) var(--e-6);
}
.fenetre__sur {
  margin-bottom: var(--e-2);
  font: 600 var(--a-petit)/1.3 var(--lv-texte);
  color: var(--lv-citron);
}
.fenetre h2 {
  font-size: var(--a-bloc);
  line-height: 1.25;
  letter-spacing: -.02em;
}
.fenetre__fermer {
  position: absolute;
  top: var(--e-5);
  right: var(--e-5);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--lv-filet);
  border-radius: 50%;
  background: transparent;
  color: var(--lv-creme);
  cursor: pointer;
  transition: background-color var(--lv-d1) var(--lv-courbe), transform var(--lv-d1) var(--lv-courbe);
}
.fenetre__fermer:hover {
  background: var(--lv-noir-3);
}
.fenetre__fermer:active {
  transform: scale(.96);
}
.fenetre__corps {
  padding-inline: var(--e-6);
}
.fenetre__corps li {
  font-size: var(--a-corps);
  line-height: 1.6;
}
.fenetre__corps strong {
  color: var(--lv-blanc);
  font-weight: 600;
}
.fenetre__corps mark {
  background: none;
  color: inherit;
}
.fenetre__chiffre {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--e-1) var(--e-4);
  margin-top: var(--e-5);
  padding: var(--e-4) var(--e-5);
  border-radius: var(--lv-r-moyen);
  background: var(--lv-citron-doux);
}
.fenetre__chiffre b {
  font: 800 var(--a-h2)/1 var(--lv-titre);
  letter-spacing: -.03em;
  color: var(--lv-citron);
  white-space: nowrap;
}
.fenetre__chiffre span {
  font-size: var(--a-petit);
  line-height: 1.45;
}
.fenetre__pied {
  display: flex;
  flex-wrap: wrap;
  gap: var(--e-3);
  padding: var(--e-5) var(--e-6) var(--e-6);
}
.confirmation {
  flex-basis: 100%;
  min-height: 1.4em;
  font-size: var(--a-petit);
  color: var(--lv-citron);
}
@media (max-width: 559px) {
  .fenetre__tete {
    padding: var(--e-5) 68px var(--e-3) var(--e-5);
  }
  .fenetre__corps {
    padding-inline: var(--e-5);
  }
  .fenetre__pied {
    padding: var(--e-5);
  }
  .fenetre__pied .lv-bouton {
    flex: 1 1 100%;
    justify-content: center;
  }
}
.fenetre__pied .lv-bouton {
  padding-inline: 24px;
}
