

.an-mot {
  display: inline-block;
  transition:
    opacity .56s cubic-bezier(.22, 1, .36, 1) calc(var(--an-i, 0) * 40ms),
    filter .56s cubic-bezier(.22, 1, .36, 1) calc(var(--an-i, 0) * 40ms),
    transform .56s cubic-bezier(.22, 1, .36, 1) calc(var(--an-i, 0) * 40ms);
}
.an-titre:not(.an-vu) .an-mot {
  opacity: 0;
  filter: blur(6px);
  transform: translateY(10px);
}


.an-chiffre {
  display: inline-block;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}


.frise.an-frise::after {
  content: ""; position: absolute; pointer-events: none;
  top: 17.75px; left: 18px; right: calc(25% - .9rem - 18px); height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--bleu-400), var(--bleu-600));
  transform-origin: left center;
  transform: scaleX(var(--an-p, 0));
  opacity: var(--an-o, 0);
  transition: transform .2s ease-out, opacity .2s ease-out;
}
@media (max-width: 1000px) {
  .frise.an-frise::after {
    top: 8px; bottom: 8px; left: 16.75px; right: auto; width: 2px; height: auto;
    background: linear-gradient(180deg, var(--bleu-400), var(--bleu-600));
    transform-origin: center top;
    transform: scaleY(var(--an-p, 0));
  }
}

.an-frise .frise-noeud::before,
.an-frise .frise-noeud::after,
.an-sequence .tf-etape-n::before,
.an-sequence .tf-etape-n::after {
  position: absolute; inset: -1px; border-radius: 50%; pointer-events: none;
  opacity: 0;
}
.an-frise .frise-noeud::before,
.an-sequence .tf-etape-n::before {
  content: "";
  background: var(--bleu-600);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--bleu-600) 16%, transparent);
  transform: scale(.45);
  transition: opacity .3s ease, transform .5s cubic-bezier(.34, 1.56, .64, 1);
}
.an-frise .frise-noeud::after,
.an-sequence .tf-etape-n::after {
  content: attr(data-n);
  display: grid; place-items: center;
  color: var(--paper);
  transition: opacity .3s ease;
}
.an-frise .frise-noeud.an-allume::before,
.an-frise .frise-noeud.an-allume::after { opacity: 1; transform: none; }
.an-sequence .tf-etape-n::before,
.an-sequence .tf-etape-n::after { inset: -1.5px; }



.an-sequence .tf-etape:not(:last-child)::before {
  content: ""; position: absolute; pointer-events: none;
  left: calc(1.05rem - 1px); top: 2.1rem; bottom: -1.4rem; width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--bleu-600), var(--bleu-400));
  transform-origin: center top; transform: scaleY(0);
  transition: transform .5s cubic-bezier(.22, 1, .36, 1) calc(var(--an-i, 0) * 520ms + 520ms);
}
.an-sequence.an-vu .tf-etape:not(:last-child)::before { transform: none; }

.an-sequence .tf-etape-n::before { transition-delay: calc(var(--an-i, 0) * 520ms + 300ms); }
.an-sequence .tf-etape-n::after  { transition-delay: calc(var(--an-i, 0) * 520ms + 360ms); }
.an-sequence.an-vu .tf-etape-n::before,
.an-sequence.an-vu .tf-etape-n::after { opacity: 1; transform: none; }

.an-sequence .sc-frise-noeud,
.an-sequence .sc-frise-trait { position: relative; }

.an-sequence .sc-frise-noeud::after {
  content: ""; position: absolute; inset: -5px; border-radius: 50%; pointer-events: none;
  border: 2px solid color-mix(in srgb, var(--bleu-600) 40%, transparent);
  opacity: 0; transform: scale(.7);
  transition:
    opacity .3s ease calc(var(--an-i, 0) * 520ms + 300ms),
    transform .5s cubic-bezier(.34, 1.56, .64, 1) calc(var(--an-i, 0) * 520ms + 300ms);
}
.an-sequence .sc-frise-noeud-fin::after { border-color: color-mix(in srgb, var(--vert) 50%, transparent); }
.an-sequence.an-vu .sc-frise-noeud::after { opacity: 1; transform: none; }

.an-sequence .sc-frise-trait::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -1.75px; width: 2px;
  border-radius: 2px; pointer-events: none;
  background: linear-gradient(180deg, var(--bleu-600), var(--bleu-400));
  transform-origin: center top; transform: scaleY(0);
  transition: transform .5s cubic-bezier(.22, 1, .36, 1) calc(var(--an-i, 0) * 520ms + 520ms);
}
.an-sequence.an-vu .sc-frise-trait::after { transform: none; }


.an-coches.an-vu :is(.cp-tarif-coche, .tf-regle-marque, .sc-ligne-marque, .sc-point-marque, .cm-ligne-pastille, .tf-final-coche) {
  transition: transform .45s cubic-bezier(.34, 1.56, .64, 1) calc(.35s + var(--an-i, 0) * 90ms);
}
.an-coches:not(.an-vu) :is(.cp-tarif-coche, .tf-regle-marque, .sc-ligne-marque, .sc-point-marque, .cm-ligne-pastille, .tf-final-coche) {
  transform: scale(0);
}


.an-releve.an-vu .cm-releve-ligne {
  transition:
    opacity .45s ease calc(.1s + var(--an-i, 0) * 90ms),
    transform .5s cubic-bezier(.22, 1, .36, 1) calc(.1s + var(--an-i, 0) * 90ms);
}
.an-releve:not(.an-vu) .cm-releve-ligne { opacity: 0; transform: translateY(8px); }


.an-projecteur { isolation: isolate; }
.an-projecteur::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(circle 260px at var(--an-x, 50%) var(--an-y, 0%),
    color-mix(in srgb, var(--bleu-600) 13%, transparent), transparent 80%);
  opacity: 0;
  transition: opacity .5s ease-in-out;
}
.an-projecteur.t-levier::after {
  background: radial-gradient(circle 320px at var(--an-x, 50%) var(--an-y, 0%),
    color-mix(in srgb, var(--bleu-400) 26%, transparent), transparent 80%);
}
.an-projecteur:hover::after { opacity: 1; }


.an-incline { transition: transform .35s cubic-bezier(.22, 1, .36, 1); }


.an-parallaxe { will-change: transform; }


.an-faisceaux {
  position: absolute; inset: 0; overflow: hidden; pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent, var(--ink) 60%);
  mask-image: linear-gradient(to bottom, transparent, var(--ink) 60%);
}
.an-faisceau {
  position: absolute; top: 0; width: 1px; height: 32%;
  background: linear-gradient(to bottom, transparent, var(--bleu-600) 75%, transparent);
  transform: translateY(-100%);
  animation: an-faisceau 6.5s cubic-bezier(.45, 0, .55, 1) infinite paused;
}
.an-faisceau::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: -3px; right: -3px;
  border-radius: 3px;
  background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--bleu-400) 35%, transparent) 75%, transparent);
}
.an-faisceau-gauche { left: 24px; }
.an-faisceau-droite { right: 24px; }
.an-joue .an-faisceau { animation-play-state: running; }
@keyframes an-faisceau {
  0% { transform: translateY(-100%); }
  55%, 100% { transform: translateY(313%); }
}


.an-reflet { position: relative; overflow: hidden; }
.an-reflet::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, color-mix(in srgb, var(--paper) 60%, transparent) 50%, transparent 70%);
  transform: translateX(-100%);
  animation: an-reflet 5.5s cubic-bezier(.45, 0, .55, 1) 1.2s infinite paused;
}
.an-reflet.an-joue::after { animation-play-state: running; }
@keyframes an-reflet {
  0% { transform: translateX(-100%); }
  30%, 100% { transform: translateX(100%); }
}


.an-separation.an-vu > .sc-boite { transition: transform .8s cubic-bezier(.22, 1, .36, 1) .45s; }
.an-separation:not(.an-vu) > .sc-boite:first-child { transform: translateY(1.1rem); }
.an-separation:not(.an-vu) > .sc-boite:last-child { transform: translateY(-1.1rem); }
.an-separation.an-vu > .sc-separation {
  transition: opacity .45s ease .85s, transform .55s cubic-bezier(.34, 1.56, .64, 1) .85s;
}
.an-separation:not(.an-vu) > .sc-separation { opacity: 0; transform: scale(.9); }


.btn > .fl { transition: transform .15s ease; }
.btn:hover > .fl { transform: translateX(3px); }


@media (prefers-reduced-motion: reduce) {
  .an-mot,
  .an-coches.an-vu :is(.cp-tarif-coche, .tf-regle-marque, .sc-ligne-marque, .sc-point-marque, .cm-ligne-pastille, .tf-final-coche),
  .an-releve.an-vu .cm-releve-ligne,
  .an-separation.an-vu > :is(.sc-boite, .sc-separation),
  .btn > .fl,
  .an-incline { transition: none; }

  .an-titre:not(.an-vu) .an-mot { opacity: 1; filter: none; transform: none; }
  .an-coches:not(.an-vu) :is(.cp-tarif-coche, .tf-regle-marque, .sc-ligne-marque, .sc-point-marque, .cm-ligne-pastille, .tf-final-coche) { transform: none; }
  .an-separation:not(.an-vu) > :is(.sc-boite:first-child, .sc-boite:last-child, .sc-separation) { opacity: 1; transform: none; }
  .an-faisceaux, .an-reflet::after { display: none; }
  .an-releve:not(.an-vu) .cm-releve-ligne { opacity: 1; transform: none; }
  .an-releve:not(.an-vu) .cm-releve-ligne.cm-releve-ligne-flou { opacity: .4; }

  .frise.an-frise::after,
  .an-frise .frise-noeud::before,
  .an-frise .frise-noeud::after,
  .an-sequence .tf-etape-n::before,
  .an-sequence .tf-etape-n::after,
  .an-sequence .tf-etape:not(:last-child)::before,
  .an-sequence .sc-frise-noeud::after,
  .an-sequence .sc-frise-trait::after { display: none; }

  .an-projecteur::after { display: none; }
  .an-incline, .an-parallaxe { transform: none !important; }
}


.recup-illu video,
.illu-livraison video { display: block; width: 100%; height: auto; }

.recup-illu video {
  -webkit-mask-image: url("/assets/video/portable-masque.d049725173.webp");
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-image: url("/assets/video/portable-masque.d049725173.webp");
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}

.illu-livraison video {
  position: relative; z-index: 1;
  max-width: 480px; margin-inline: auto;
  -webkit-mask-image: radial-gradient(closest-side, var(--ink) 86%, transparent 100%);
  mask-image: radial-gradient(closest-side, var(--ink) 86%, transparent 100%);
}
@media (min-width: 861px) {
  .illu-livraison video { margin-block: -24px; }
}

.recup-illu video::-webkit-media-controls,
.illu-livraison video::-webkit-media-controls,
.recup-illu video::-webkit-media-controls-start-playback-button,
.illu-livraison video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}


.an-hors-ecran,
.an-hors-ecran::before,
.an-hors-ecran::after,
.an-hors-ecran *,
.an-hors-ecran *::before,
.an-hors-ecran *::after { animation-play-state: paused !important; }
