:root { --s-ressort: cubic-bezier(.3, 1.42, .52, 1); }

.s-banc { position: relative; z-index: 1; display: grid; align-content: end; min-height: 60vh; min-height: 60svh; padding: calc(var(--v-nav-h) + 80px) 0 clamp(36px, 5vw, 64px); }
.s-banc .v-texte { margin-top: 12px; }

.v-bord.s-net .v-bord-coulee, .v-bord.is-arme:not(.is-joue) .v-bord-coulee { transition: none !important; }

.s-chiffres-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: clamp(32px, 5vw, 56px) 0 0; border-top: 1px solid #ffffff17; }
.s-chiffres-liste > div { position: relative; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 12px; min-width: 0; padding: clamp(22px, 3vw, 36px) 24px clamp(22px, 3vw, 36px) 0; border-bottom: 1px solid #ffffff12; }
.s-chiffres-liste > div:nth-child(odd) { border-right: 1px solid #ffffff12; }
.s-chiffres-liste > div:nth-child(even) { padding-left: clamp(16px, 3vw, 40px); }
.s-chiffres-liste dt { font-size: 14px; font-weight: 600; color: var(--dn-argent-3); }
.s-chiffres-liste dd, .s-cel, .s-car {
  --s-reflet: linear-gradient(100deg, transparent calc(var(--hx) - 9%), #ffffffee var(--hx), transparent calc(var(--hx) + 9%));
  color: transparent; -webkit-background-clip: text; background-clip: text; background-image: var(--s-reflet), var(--dn-chrome-chiffre); }
.s-chiffres-liste dd { margin: 0; padding-bottom: .04em; font: 600 clamp(36px, 6vw, 100px)/1 var(--dn-titre); letter-spacing: -.055em; white-space: nowrap; filter: drop-shadow(0 12px 26px #000a); }
.s-chiffres-liste dd.s-roule { background: none; }
.s-rouleau { display: inline; }
.s-col { position: relative; display: inline-block; vertical-align: top; height: 1em; overflow: hidden;
  -webkit-mask: linear-gradient(180deg, transparent 0, #000 .12em, #000 .9em, transparent 1em) 0 0 / 100% 100% no-repeat;
  mask: linear-gradient(180deg, transparent 0, #000 .12em, #000 .9em, transparent 1em) 0 0 / 100% 100% no-repeat; }
.s-fant { display: block; height: 1em; visibility: hidden; }
.s-bande { position: absolute; left: 0; right: 0; top: 0; transform: translateY(calc(-.125em - var(--n) * 1.25em)); }
.s-cel { display: block; height: 1.25em; line-height: 1.25em; text-align: center; background-repeat: no-repeat; background-size: 100% 1.04em; background-position: 0 .125em; }
.s-car { display: inline-block; vertical-align: top; height: 1em; white-space: pre; background-repeat: no-repeat; background-size: 100% 1.04em; }
.s-chiffres-liste.is-arme .s-bande { transform: translateY(-.125em); }
.s-chiffres-liste.is-arme .s-car { opacity: 0; transform: translateY(.35em); }
.s-chiffres-liste.is-arme.is-joue .s-bande { transform: translateY(calc(-.125em - var(--n) * 1.25em)); transition: transform var(--d) cubic-bezier(.16, .84, .24, 1) var(--delai); }
.s-chiffres-liste.is-arme.is-joue .s-col { animation: s-cale .42s var(--dn-pose) calc(var(--delai) + var(--d) - 60ms) both, dn-reflet 1.5s var(--dn-levee) calc(var(--delai) + var(--d) - 120ms) backwards; }
.s-chiffres-liste.is-arme.is-joue .s-car { opacity: 1; transform: none; transition: opacity .5s var(--dn-pose) var(--apres), transform .7s var(--s-ressort) var(--apres); animation: dn-reflet 1.5s var(--dn-levee) calc(var(--apres) + 200ms) backwards; }
@keyframes s-cale { 0% { transform: none; } 38% { transform: translateY(.045em); } 100% { transform: none; } }
.s-chiffres-liste > div::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; pointer-events: none; opacity: 0; background: linear-gradient(90deg, transparent, #ffffffd9 50%, transparent) no-repeat; background-size: 40% 100%; }
.s-chiffres-liste.is-joue > div::after { animation: s-filet 1.4s var(--dn-glisse) calc(var(--fig, 0) * 140ms + 900ms) both; }
@keyframes s-filet { 0% { opacity: 1; background-position: -60% 0; } 85% { opacity: 1; } 100% { opacity: 0; background-position: 160% 0; } }
.s-chiffres-pied { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 24px; }
.s-poincon { display: inline-flex; align-items: center; gap: 10px; min-height: 34px; margin: 0; padding: 0 12px 0 11px; border-radius: 9px; background: linear-gradient(180deg, #ffffff10, #ffffff04); border: 1px solid #ffffff2b; box-shadow: inset 0 1px 0 #ffffff1c, inset 0 -1px 0 #0000008c, 0 0 0 3px #ffffff06; font: 700 12px/1 var(--dn-texte); letter-spacing: .12em; text-transform: uppercase; color: var(--dn-argent-3); }
.s-poincon b { font: 600 13px/1 var(--dn-titre); letter-spacing: .02em; color: var(--dn-argent-1); text-shadow: 0 -1px 0 #000, 0 1px 0 #ffffff26; }
.s-chiffres-note { flex: 1 1 360px; margin: 0; font-size: 13px; line-height: 1.55; color: var(--dn-argent-3); max-width: 72ch; }
.s-chiffres-liste.is-arme ~ .s-chiffres-pied .s-poincon { opacity: 0; transform: scale(1.35); }
.s-chiffres-liste.is-arme.is-joue ~ .s-chiffres-pied .s-poincon { animation: s-frappe .5s cubic-bezier(.55, 0, .7, .4) 1.75s both; }
@keyframes s-frappe { 0% { opacity: 0; transform: scale(1.35); } 55% { opacity: 1; transform: scale(.94); } 78% { transform: scale(1.02); } 100% { opacity: 1; transform: none; } }
@media (max-width: 559px) {
  .s-chiffres-liste { grid-template-columns: minmax(0, 1fr); }
  .s-chiffres-liste > div:nth-child(odd) { border-right: 0; }
  .s-chiffres-liste > div:nth-child(even) { padding-left: 0; }
  .s-chiffres-liste dd { font-size: clamp(40px, 12vw, 56px); }
}

.s-comparer-tete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px 40px; }
.s-bascule { position: relative; display: none; padding: 6px; gap: 4px; border-radius: var(--dn-r-rond); background: var(--dn-satin-fond); border: 1px solid #ffffff17; box-shadow: inset 0 1px 0 #ffffff0d, 0 24px 48px -28px #000; isolation: isolate; }
html.s-pret .s-bascule { display: inline-flex; }
.s-bascule button { position: relative; z-index: 1; min-height: 56px; padding: 0 26px; border: 0; border-radius: var(--dn-r-rond); background: transparent; color: var(--dn-argent-3); font: 600 15px/1 var(--dn-titre); letter-spacing: -.02em; cursor: pointer; transition: color var(--dn-t-3) var(--dn-pose); -webkit-tap-highlight-color: transparent; }
.s-bascule button:hover { color: var(--dn-argent-1); }
.s-bascule button[aria-pressed="true"] { color: var(--dn-blanc); }
.s-bascule[data-etat="avec"] button[aria-pressed="true"] { color: var(--dn-charbon); text-shadow: 0 1px 0 #ffffffa6; }
.s-bascule button:focus-visible, .s-periode button:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 3px; }
.s-curseur { position: absolute; z-index: 0; left: 0; top: 6px; bottom: 6px; width: 0; border-radius: var(--dn-r-rond); background: #ffffff17; box-shadow: inset 0 1px 0 #ffffff1f; pointer-events: none; }
.s-bascule .s-curseur::before { content: ""; position: absolute; inset: 0; border-radius: inherit; opacity: 0; background: radial-gradient(140px circle at 30% 0%, #ffffffd9, transparent 60%), var(--dn-acier-brosse); box-shadow: var(--dn-acier-ombre), 0 12px 26px -12px #000; transition: opacity .45s var(--dn-pose); }
.s-bascule[data-etat="avec"] .s-curseur::before { opacity: 1; }

.s-lignes { margin-top: clamp(28px, 4vw, 48px); border-top: 1px solid #ffffff12; }
.s-ligne { position: relative; display: grid; grid-template-columns: 44px minmax(0, .95fr) minmax(0, 1.55fr); align-items: center; gap: 6px clamp(16px, 2.2vw, 32px); padding: clamp(18px, 2vw, 24px) 0; border-bottom: 1px solid #ffffff12; overflow: hidden; }
.s-ligne-icone { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #ffffff17; background: radial-gradient(circle at 50% 30%, #ffffff12, transparent 70%); color: var(--dn-argent-1); box-shadow: inset 0 1px 0 #ffffff1a, 0 0 22px -6px #ffffff40; transition: color .5s var(--dn-pose), border-color .5s var(--dn-pose), box-shadow .6s var(--dn-pose); }
.s-ligne-icone svg, .s-raison-icone svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.s-trait { stroke-dasharray: 1 1; stroke-dashoffset: 0; }
.s-ligne-besoin { margin: 0; font: 600 clamp(16px, 1.45vw, 20px)/1.2 var(--dn-titre); letter-spacing: -.03em; color: var(--dn-argent-1); transition: color .5s var(--dn-pose); }
.s-ligne-texte { display: grid; gap: 4px; margin: 0; font-size: clamp(16px, 1.25vw, 18px); font-weight: 500; line-height: 1.4; }
.s-seul { color: var(--dn-argent-3); }
.s-avec { color: var(--dn-argent-1); font-weight: 600; }
html.s-pret .s-seul, html.s-pret .s-avec { grid-area: 1 / 1; }
.s-lignes[data-etat="avec"] .s-seul { opacity: 0; transform: translateY(-105%); }
.s-lignes[data-etat="seul"] .s-avec { opacity: 0; transform: translateY(105%); }
.s-lignes[data-etat="seul"] .s-ligne-icone { color: var(--dn-argent-4); border-color: #ffffff0d; box-shadow: none; background: none; }
.s-lignes[data-etat="seul"] .s-ligne-besoin { color: var(--dn-argent-3); }
.s-ligne::before { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; pointer-events: none; background: linear-gradient(90deg, #ffffffb8, #ffffff3d 55%, transparent); transform-origin: 0 50%; }
.s-lignes[data-etat="seul"] .s-ligne::before { transform: scaleX(0); }
.s-ligne::after { content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 40%; pointer-events: none; background: linear-gradient(100deg, transparent 0%, #ffffff0a 30%, #ffffff2e 50%, #ffffff0a 70%, transparent 100%); transform: translateX(350%); }
.s-lignes[data-etat="seul"] .s-ligne::after { transform: translateX(0); }
.s-lignes.is-joue .s-seul, .s-lignes.is-joue .s-avec { transition: opacity .5s var(--dn-pose) var(--s-dl), transform .8s var(--dn-levee) var(--s-dl); }
.s-lignes.is-joue .s-ligne { --s-dl: calc(var(--i) * 95ms + 140ms); }
.s-lignes.is-joue[data-etat="avec"] .s-avec, .s-lignes.is-joue[data-etat="seul"] .s-seul { --s-dl: calc(var(--i) * 95ms + 230ms); }
.s-lignes.is-joue .s-ligne::before { transition: transform .9s var(--dn-levee) calc(var(--i) * 95ms + 120ms); }
.s-lignes.is-joue .s-ligne::after { transition: transform 1.05s var(--dn-glisse) calc(var(--i) * 95ms); }
.s-lignes.is-joue .s-ligne-icone, .s-lignes.is-joue .s-ligne-besoin { transition-delay: calc(var(--i) * 95ms + 200ms); }
.s-lignes.is-joue[data-etat="avec"] .s-trait { animation: s-trace .95s var(--dn-levee) calc(var(--i) * 95ms + 200ms) backwards; }
@keyframes s-trace { from { stroke-dashoffset: 1; } }
.s-non { margin-top: clamp(32px, 4vw, 48px); }
@media (max-width: 760px) {
  .s-ligne { grid-template-columns: 44px minmax(0, 1fr); align-items: start; column-gap: 16px; }
  .s-ligne-icone { grid-row: 1 / span 2; }
  .s-ligne-besoin { align-self: end; padding-top: 2px; }
  .s-ligne-texte { grid-column: 2; }
  .s-bascule button { padding: 0 20px; font-size: 14px; }
}
@media (max-width: 400px) { .s-bascule { width: 100%; } .s-bascule button { flex: 1; padding: 0 12px; } }

.s-offres-barre { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 32px; margin-top: clamp(28px, 4vw, 44px); }
.s-profils { display: none; gap: 12px; justify-items: start; min-width: 0; flex: 1 1 520px; }
html.s-pret .s-profils { display: grid; }
.s-profils-q { margin: 0; font: 700 15px/1.2 var(--dn-texte); color: var(--dn-argent-1); }
.s-profils-puces { display: flex; flex-wrap: wrap; gap: 8px; }
.s-puce.dn-chip { padding: 0 16px; font-size: 14px; }
.s-puce.dn-chip::after { content: ""; flex: none; width: 7px; height: 7px; margin-left: 2px; border-radius: 50%; background: #ffffff26; box-shadow: inset 0 0 0 1px #ffffff1a; transition: background var(--dn-t-2) ease, box-shadow var(--dn-t-2) ease; }
.s-puce.dn-chip[aria-pressed="true"]::after { background: var(--dn-blanc); box-shadow: 0 0 10px 1px #ffffff8c; }
.s-puce:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; }
.s-profils-raison { min-height: 3em; margin: 0; font-size: 15px; line-height: 1.5; color: var(--dn-argent-2); max-width: 62ch; }
.s-profils-raison > span { display: block; }
.s-profils-raison > span.is-neuve { animation: s-monte .55s var(--dn-levee) both; }
@keyframes s-monte { from { opacity: 0; transform: translateY(10px); } }
.s-periode { position: relative; isolation: isolate; flex: none; }
html.s-pret .s-periode button[aria-pressed="true"] { background: transparent; box-shadow: none; }
.s-periode button { position: relative; z-index: 1; transition: color var(--dn-t-2) ease; }
.s-periode .s-curseur { top: 5px; bottom: 5px; }

.s-offres-scene { position: relative; margin-top: clamp(36px, 4vw, 52px); }
.s-offres-grille.v-offres-grille { margin-top: 0; }
.s-offre { --s-leve: 0px; translate: 0 var(--s-leve); transition: translate .65s var(--dn-levee), scale .65s var(--dn-levee), box-shadow .5s var(--dn-pose); }
@media (min-width: 1101px) { .s-offre.v-offre--pro { --s-leve: -14px; } }
.s-offre:not(.v-offre--pro) { background: radial-gradient(420px circle at var(--mx, 50%) var(--my, -70%), #ffffff12, transparent 60%), var(--dn-satin-fond); }
.s-offre[data-arete] { --arete-r: 200px; }
.s-offre.v-offre--pro { overflow: visible; }
.s-offre.v-offre--pro::after { display: none; }
.s-offre.v-offre--pro .v-reco { z-index: 2; }
.s-offre.is-designee { --s-leve: -14px; box-shadow: 0 46px 80px -40px #000, 0 0 0 1px #ffffff26; }
@media (min-width: 1101px) { .s-offre.v-offre--pro.is-designee { --s-leve: -28px; } }
.s-offre.is-recule { scale: .965; box-shadow: inset 0 0 0 999px #0000003d; }
.s-offre.v-offre--pro.is-recule { box-shadow: inset 0 0 0 999px #0000002e, inset 0 1px 0 #fff, 0 0 0 1px #000; }
.s-lisere { position: absolute; z-index: 3; left: -7px; top: -7px; width: calc(100% + 14px); height: calc(100% + 14px); overflow: visible; pointer-events: none; }
.s-lisere rect { fill: none; stroke-width: 1.5; stroke-dasharray: 1 1; stroke-dashoffset: 1; opacity: 0; transition: stroke-dashoffset .3s var(--dn-pose), opacity .3s ease; }
.s-offre.is-designee .s-lisere rect { stroke-dashoffset: 0; opacity: 1; transition: stroke-dashoffset 1.1s var(--dn-levee) .08s, opacity .2s ease; }
.s-offre-reflet { position: absolute; z-index: 2; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.s-offre-reflet::before { content: ""; position: absolute; inset: -10% -70%; opacity: 0; background: linear-gradient(105deg, transparent 42%, #ffffff12 46%, #ffffff3d 50%, #ffffff12 54%, transparent 58%); }
.v-offre--pro .s-offre-reflet::before { background: linear-gradient(105deg, transparent 40%, #ffffff8c 47%, #ffffffe6 50%, #ffffff8c 53%, transparent 60%); }
.s-offres-scene.is-arme .s-offre { opacity: 0; transform: translateY(56px) rotateX(10deg); }
.s-offres-scene.is-arme.is-joue .s-offre { opacity: 1; transform: none; transition: opacity .7s var(--dn-pose) calc(var(--i) * 95ms), transform 1.1s var(--dn-levee) calc(var(--i) * 95ms), translate .65s var(--dn-levee), scale .65s var(--dn-levee), box-shadow .5s var(--dn-pose); }
.s-offres-scene.is-arme.is-joue .s-offre-reflet::before { animation: s-arete 1.25s var(--dn-glisse) calc(var(--i) * 95ms + 520ms) both; }
@keyframes s-arete { 0% { opacity: 0; translate: -46% 0; } 20% { opacity: 1; } 100% { opacity: 0; translate: 46% 0; } }
.s-offres-scene { perspective: 1400px; }
.s-quotas.v-quotas { grid-template-columns: max-content minmax(0, 1fr); column-gap: 12px; row-gap: 10px; }
.s-quotas li { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; align-items: baseline; }
.s-quotas li > b:first-child { justify-self: end; font: 600 15px/1.2 var(--dn-titre); letter-spacing: -.02em; color: var(--dn-argent-1); white-space: nowrap; }
.s-quotas li > span { line-height: 1.35; }
.s-quota-mot > i { justify-self: end; align-self: center; width: 12px; height: 7px; margin-right: 3px; border-left: 2px solid var(--dn-argent-1); border-bottom: 2px solid var(--dn-argent-1); rotate: -45deg; translate: 0 -2px; }
.v-offre--pro .s-quotas li > b:first-child { color: var(--dn-charbon); }
.v-offre--pro .s-quota-mot > i { border-color: var(--dn-charbon); }
.s-offre .v-offre-pour { font-weight: 600; }
.s-tout { margin: 0 0 -8px; padding-top: 14px; border-top: 1px solid #ffffff12; font: 700 12px/1.3 var(--dn-texte); letter-spacing: .06em; text-transform: uppercase; color: var(--dn-argent-2); }
.s-tout + .v-quotas { padding-top: 0; border-top: 0; }
.s-quota-mot > span > b { font-weight: 700; }
.s-rate { display: grid; gap: 8px; margin: 0; padding: 12px 0 0; list-style: none; border-top: 1px dashed #ffffff1a; font-size: 13px; line-height: 1.35; color: var(--dn-argent-3); }
.s-rate li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.s-rate svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; opacity: .8; }
.s-rate span { opacity: .78; }
.s-rate b { padding: 3px 8px; border-radius: var(--dn-r-rond, 99px); border: 1px solid #ffffff21; color: var(--dn-argent-2); font: 700 12px/1 var(--dn-texte); letter-spacing: .01em; white-space: nowrap; }
.v-offre--pro .s-tout { border-top-color: #0000002e; color: #23272c; }
.v-offre--pro .s-rate { border-top-color: #00000033; color: #3a3f46; }
.v-offre--pro .s-rate b { border-color: #00000033; color: var(--dn-charbon); }
.s-offre .v-prix > b { position: relative; display: inline-block; white-space: nowrap; }
.s-offre .v-prix > span { flex-basis: 100%; }
.s-prix-neuf, .s-prix-vieux { display: inline-block; white-space: nowrap; }
.s-prix-vieux { position: absolute; left: 0; top: 0; }
.s-pc { display: inline-block; white-space: pre; }
.s-prix-vieux .s-pc { animation: s-pc-sort .42s cubic-bezier(.55, 0, .75, .3) calc(var(--k) * 28ms) both; }
.s-prix-neuf .s-pc { animation: s-pc-entre .7s var(--s-ressort) calc(var(--k) * 34ms + 90ms) both; }
@keyframes s-pc-sort { to { opacity: 0; transform: translateY(-.55em) rotateX(70deg); } }
@keyframes s-pc-entre { from { opacity: 0; transform: translateY(.6em) rotateX(-70deg); } }
.s-offre .v-prix > span.is-neuve { animation: s-monte .5s var(--dn-levee) .12s both; }
.s-prix-an.v-prix-an { display: grid; min-height: 1.6em; }
.s-pa { grid-area: 1 / 1; align-self: center; transition: opacity .4s var(--dn-pose), transform .55s var(--dn-levee), visibility 0s; }
.s-offres-scene[data-s-periode="mois"] .s-pa[data-pour="an"], .s-offres-scene[data-s-periode="an"] .s-pa[data-pour="mois"] { visibility: hidden; opacity: 0; transform: translateY(8px); transition: opacity .25s ease, transform .3s ease, visibility 0s .3s; }
.s-eco { display: inline-block; margin-left: 2px; padding: 3px 8px; border-radius: var(--dn-r-rond); background: #ffffff12; box-shadow: inset 0 0 0 1px #ffffff26; color: var(--dn-argent-1); font-weight: 700; white-space: nowrap; transition: transform .6s var(--s-ressort) .18s, opacity .4s ease .18s; }
.v-offre--pro .s-eco { background: #0000000f; box-shadow: inset 0 0 0 1px #0000002e; color: var(--dn-charbon); }
.s-offres-scene[data-s-periode="mois"] .s-eco { opacity: 0; transform: scale(.7); }
.s-prix-an b.dn-num { font-size: 15px; font-weight: 700; color: var(--dn-argent-1); }
.v-offre--pro .s-prix-an b.dn-num { color: var(--dn-charbon); }
.s-pf { display: grid; flex: 1 1 12em; min-width: 0; }
.s-ichor { position: absolute; z-index: 6; left: 0; top: 0; width: 40px; height: 40px; pointer-events: none; opacity: 0; translate: var(--s-x, 0px) var(--s-y, 0px); scale: .4; transition: translate .62s cubic-bezier(.55, 0, .3, 1), scale .5s var(--s-ressort), opacity .3s ease; }
.s-ichor.is-la { opacity: 1; scale: 1; }
.s-ichor.s-net { transition: none; }
.s-offres-scene.is-arme:not(.is-joue) .s-ichor.is-la { opacity: 0; }
.s-offres-scene.is-arme.is-joue .s-ichor.is-la { transition: translate .62s cubic-bezier(.55, 0, .3, 1), scale .5s var(--s-ressort), opacity .5s ease .95s; }
.s-ichor-corps { display: block; width: 40px; height: 40px; transform-origin: 50% 100%; filter: drop-shadow(0 10px 12px #000c); }
.s-ichor-corps > [data-ichor] { display: block; width: 40px; height: 40px; }
.s-ichor-corps.is-saute { animation: s-saut .62s linear both; }
@keyframes s-saut {
  0% { transform: none; animation-timing-function: cubic-bezier(.3, 0, .6, 1); }
  14% { transform: scale(1.12, .84); animation-timing-function: cubic-bezier(.2, .7, .4, 1); }
  50% { transform: translateY(-58px) scale(.94, 1.08); animation-timing-function: cubic-bezier(.6, 0, .8, .5); }
  84% { transform: scale(1.14, .82); animation-timing-function: cubic-bezier(.2, .8, .3, 1); }
  100% { transform: none; }
}
html:not(.s-pret) .s-ichor { display: none; }
.s-fondateur.v-fondateur { position: relative; margin-top: clamp(32px, 4vw, 48px); padding: 24px 28px; border: 1px solid #ffffff21; background: linear-gradient(100deg, #ffffff0a, #ffffff02 60%), var(--dn-satin-fond); box-shadow: inset 0 1px 0 #ffffff12; }
.s-fondateur p { font-size: 15px; line-height: 1.6; }
@media (min-width: 900px) {
  .s-fondateur.v-fondateur { --s-cran: calc(100% - 312px); flex-wrap: nowrap; padding-right: 32px;
    -webkit-mask: radial-gradient(circle at var(--s-cran) 0, transparent 11px, #000 11.5px) 0 0 / 100% 51% no-repeat, radial-gradient(circle at var(--s-cran) 100%, transparent 11px, #000 11.5px) 0 100% / 100% 51% no-repeat;
    mask: radial-gradient(circle at var(--s-cran) 0, transparent 11px, #000 11.5px) 0 0 / 100% 51% no-repeat, radial-gradient(circle at var(--s-cran) 100%, transparent 11px, #000 11.5px) 0 100% / 100% 51% no-repeat; }
  .s-fondateur.v-fondateur::after { content: ""; position: absolute; left: var(--s-cran); top: 16px; bottom: 16px; border-left: 1px dashed #ffffff2e; }
  .s-fondateur p { max-width: none; padding-right: 48px; flex: 1; }
  .s-fondateur .dn-btn { flex: none; width: 248px; }
}

.s-mot-sur { margin-bottom: clamp(26px, 3.6vw, 44px); }
.s-citation { position: relative; margin: 0; max-width: 1120px; padding-left: clamp(0px, 9vw, 132px); }
.s-citation-texte { margin: 0; }
.s-citation-texte p, .s-cit-visuel { margin: 0; font: 500 clamp(26px, 3.4vw, 52px)/1.17 var(--dn-titre); letter-spacing: -.045em; color: var(--dn-argent-2); text-wrap: balance; }
.s-cit-fort { color: transparent; -webkit-background-clip: text; background-clip: text; background-image: var(--dn-chrome-doux); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.s-cit-ferme, .s-guillemet { color: transparent; -webkit-background-clip: text; background-clip: text; background-image: var(--dn-chrome-coupe); }
.s-guillemet { position: absolute; left: 0; top: -.08em; font: 600 clamp(72px, 9.4vw, 158px)/1 var(--dn-titre); letter-spacing: 0; filter: drop-shadow(0 16px 30px #000b); transform-origin: 70% 70%; }
.s-cit-visuel { display: block; }
.s-cit-ligne { display: block; overflow: hidden; padding: .1em 0 .12em; margin: -.1em 0 -.12em; }
.s-cit-dedans { display: inline-block; }
.s-citation-signe { margin-top: clamp(24px, 3vw, 36px); }
.s-citation-signe a { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; color: var(--dn-argent-2); font-size: 16px; text-decoration: none; transition: color var(--dn-t-2) ease; }
.s-citation-signe a:hover { color: var(--dn-blanc); }
.s-citation-signe a:hover span:last-child { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #ffffff59; }
.s-citation-signe b { color: var(--dn-argent-1); font-weight: 700; }
.s-citation-signe a:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 4px; border-radius: 6px; }
.s-signe-trait { flex: none; width: 48px; height: 1px; background: linear-gradient(90deg, transparent, #ffffffd9); transform-origin: 0 50%; }
.s-citation.is-arme .s-guillemet { opacity: 0; transform: translateY(-.35em) rotate(-16deg) scale(1.3); }
.s-citation.is-arme .s-cit-dedans { transform: translateY(115%); }
.s-citation.is-arme .s-cit-ferme { opacity: 0; }
.s-citation.is-arme .s-signe-trait { transform: scaleX(0); }
.s-citation.is-arme .s-citation-signe span:last-child { opacity: 0; }
.s-citation.is-arme.is-joue .s-guillemet { opacity: 1; transform: none; transition: opacity .35s ease .1s, transform 1s var(--s-ressort) .1s; }
.s-citation.is-arme.is-joue .s-cit-dedans { transform: none; transition: transform 1.05s var(--dn-levee) calc(var(--l) * 120ms + 300ms); }
.s-citation.is-arme.is-joue .s-cit-ferme { opacity: 1; transition: opacity .6s var(--dn-pose) calc(var(--nl, 3) * 120ms + 700ms); }
.s-citation.is-arme.is-joue .s-signe-trait { transform: none; transition: transform .9s var(--dn-levee) calc(var(--nl, 3) * 120ms + 600ms); }
.s-citation.is-arme.is-joue .s-citation-signe span:last-child { opacity: 1; transition: opacity .6s var(--dn-pose) calc(var(--nl, 3) * 120ms + 800ms); }
@media (max-width: 700px) {
  .s-citation { padding-left: 0; padding-top: clamp(52px, 15vw, 70px); }
  .s-guillemet { font-size: 88px; top: -.12em; }
}

.s-confiance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.6vw, 36px); margin-top: clamp(56px, 7vw, 104px); }
.s-raison { position: relative; display: grid; align-content: start; gap: 10px; padding-top: 26px; border-top: 1px solid #ffffff14; }
.s-raison::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: linear-gradient(90deg, #ffffffc4, #ffffff2e 60%, transparent); transform-origin: 0 50%; }
.s-raison-icone { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 8px; border-radius: 15px; background: var(--dn-satin-fond); border: 1px solid #ffffff1c; color: var(--dn-argent-1); box-shadow: inset 0 1px 0 #ffffff17, 0 18px 30px -18px #000; }
.s-raison h3 { margin: 0; font: 600 clamp(18px, 1.6vw, 22px)/1.2 var(--dn-titre); letter-spacing: -.03em; color: var(--dn-argent-1); }
.s-raison p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--dn-argent-3); max-width: 34ch; }
.s-confiance.is-arme .s-raison { opacity: 0; transform: translateY(26px); }
.s-confiance.is-arme .s-raison::before { transform: scaleX(0); }
.s-confiance.is-arme.is-joue .s-raison { opacity: 1; transform: none; transition: opacity .7s var(--dn-pose) calc(var(--i) * 120ms), transform .9s var(--dn-levee) calc(var(--i) * 120ms); }
.s-confiance.is-arme.is-joue .s-raison::before { transform: none; transition: transform 1.1s var(--dn-levee) calc(var(--i) * 120ms + 150ms); }
.s-confiance.is-arme.is-joue .s-trait { animation: s-trace 1.1s var(--dn-levee) calc(var(--i) * 120ms + 300ms) backwards; }
@media (max-width: 760px) { .s-confiance { grid-template-columns: minmax(0, 1fr); gap: 28px; } }

.s-questions-grille { display: grid; gap: clamp(28px, 4vw, 40px); }
.s-questions-h2.v-h2 { font-size: clamp(32px, 4vw, 60px); }
.s-bref { position: relative; margin-top: clamp(22px, 2.8vw, 34px); padding: 20px 22px 22px; max-width: 46ch; border-radius: 18px; background: linear-gradient(160deg, #ffffff0d, #ffffff03 60%); box-shadow: inset 0 0 0 1px #ffffff1a; }
.s-bref::before { content: ""; position: absolute; left: 22px; right: 22px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, #ffffff73, transparent); }
.s-bref-titre { margin: 0 0 12px; font: 600 12px/1 var(--dn-titre); letter-spacing: .08em; text-transform: uppercase; color: var(--dn-argent-2); }
.s-bref p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--dn-argent-2); text-wrap: pretty; }
.s-bref p + p { margin-top: 8px; padding-top: 8px; border-top: 1px solid #ffffff0f; }
.s-questions-autre { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: clamp(20px, 2.6vw, 32px); }
.s-questions-autre p { margin: 0; font-weight: 600; color: var(--dn-argent-2); }
.s-questions-autre .dn-btn { min-height: 46px; }
@media (min-width: 1000px) {
  .s-questions-grille { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 5vw, 96px); align-items: start; }
  .s-questions-tete { position: sticky; top: calc(var(--v-nav-h) + 56px); }
}
.s-q { position: relative; border-bottom: 1px solid #ffffff14; }
.s-q::before { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, #ffffffb3, #ffffff26 70%, transparent); transform: scaleX(0); transform-origin: 0 50%; transition: transform .7s var(--dn-levee); pointer-events: none; }
.s-q[open]:not(.is-ferme)::before { transform: none; }
.s-q summary { display: grid; grid-template-columns: 30px minmax(0, 1fr) 40px; align-items: center; gap: 14px; min-height: 76px; padding: 16px 2px; list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.s-q summary::-webkit-details-marker { display: none; }
.s-q summary:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; border-radius: 12px; }
.s-q-n { font: 600 12px/1 var(--dn-titre); letter-spacing: .02em; color: var(--dn-argent-3); transition: color var(--dn-t-3) ease; }
.s-q-titre { font: 700 clamp(16px, 1.3vw, 18px)/1.35 var(--dn-texte); color: var(--dn-argent-1); transition: color var(--dn-t-2) ease; text-wrap: pretty; }
.s-q summary:hover .s-q-titre { color: var(--dn-blanc); }
.s-q[open]:not(.is-ferme) .s-q-n { color: var(--dn-argent-1); }
.s-q-signe { position: relative; justify-self: end; width: 40px; height: 40px; border-radius: 50%; color: var(--dn-argent-2); box-shadow: inset 0 0 0 1px #ffffff21, inset 0 0 0 0 var(--dn-argent-1); transition: box-shadow .45s var(--dn-pose), color .3s ease; }
.s-q-signe::before, .s-q-signe::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px; border-radius: 2px; background: currentColor; transition: rotate .55s var(--s-ressort); }
.s-q-signe::after { rotate: 90deg; }
.s-q summary:hover .s-q-signe { box-shadow: inset 0 0 0 1px #ffffff4d, inset 0 0 0 0 var(--dn-argent-1); }
.s-q[open]:not(.is-ferme) .s-q-signe { color: var(--dn-charbon); box-shadow: inset 0 0 0 1px transparent, inset 0 0 0 20px var(--dn-argent-1); }
.s-q[open]:not(.is-ferme) .s-q-signe::after { rotate: 180deg; }
.s-q[open]:not(.is-ferme) .s-q-signe::before { rotate: 180deg; }
.s-q-corps { overflow: hidden; }
.s-q-texte { padding: 0 54px 26px 46px; max-width: 66ch; font-size: 16px; line-height: 1.68; color: var(--dn-argent-3); text-wrap: pretty; }
.s-q-texte p { margin: 0; }
.s-q-texte > * + * { margin-top: 10px; }
.s-q-texte .s-q-net { color: var(--dn-argent-1); font-weight: 600; }
.s-q-texte ul { display: grid; gap: 6px; margin-bottom: 0; padding: 0; list-style: none; }
.s-q-texte li { position: relative; padding-left: 20px; }
.s-q-texte li::before { content: ""; position: absolute; left: 3px; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, #9aa1aa 60%, #4a4f57); }
.s-q-texte b { color: var(--dn-argent-1); font-weight: 700; }
.s-q-corps a { color: var(--dn-argent-1); text-underline-offset: 3px; }
.s-q-corps a:hover { color: var(--dn-blanc); }
.s-q-groupe { margin: 0; padding: 34px 2px 10px; font: 600 12px/1 var(--dn-titre); letter-spacing: .08em; text-transform: uppercase; color: var(--dn-argent-3); border-bottom: 1px solid #ffffff14; }
.s-q-groupe:first-child { padding-top: 6px; }
@media (max-width: 600px) {
  .s-q summary { grid-template-columns: 24px minmax(0, 1fr) 40px; gap: 10px; }
  .s-q-texte { padding: 0 0 22px 34px; font-size: 15px; }
}

.s-final { position: relative; overflow: hidden; padding-bottom: 0; }
.s-final-texte { position: relative; z-index: 2; }
.s-champ { position: relative; display: flex; align-items: center; gap: 10px; width: min(100%, 680px); min-height: 72px; margin: clamp(30px, 4vw, 48px) auto 0; padding: 8px 8px 8px 24px; border-radius: var(--dn-r-rond); background: var(--dn-satin-fond); border: 1px solid #ffffff24; box-shadow: inset 0 1px 0 #ffffff17, 0 0 0 7px #ffffff07, 0 40px 80px -36px #000; color: var(--dn-argent-3); text-decoration: none; transition: border-color var(--dn-t-2) ease, box-shadow var(--dn-t-2) ease; }
.s-champ:hover { border-color: #ffffff40; box-shadow: inset 0 1px 0 #ffffff17, 0 0 0 7px var(--dn-bleui-lueur), 0 40px 80px -36px #000; }
.s-champ:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 4px; }
.s-champ-boite { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.s-champ-loupe { flex: none; color: var(--dn-argent-2); }
.s-champ-texte { display: flex; align-items: center; min-width: 0; overflow: hidden; white-space: nowrap; font-size: 16px; font-weight: 500; color: var(--dn-argent-2); text-align: left; }
.s-champ-fixe, .s-champ-frappe { overflow: hidden; text-overflow: ellipsis; }
.s-champ-frappe { display: none; }
.s-champ-frappe.is-modele { color: var(--dn-blanc); font-weight: 600; }
.s-champ-curseur { flex: none; display: inline-block; width: 2px; height: 1.15em; margin-left: 3px; background: var(--dn-bleui-1); opacity: 0; }
.s-champ.s-ecrit .s-champ-fixe { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.s-champ.s-ecrit .s-champ-frappe { display: block; }
.s-champ.is-actif .s-champ-curseur { opacity: 1; animation: s-curseur 1.05s steps(1) infinite; }
.s-champ.is-actif.is-tape .s-champ-curseur { animation: none; opacity: 1; }
@keyframes s-curseur { 0% { opacity: 1; } 50% { opacity: 0; } }
.s-champ-btn { position: relative; flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 56px; padding: 0 22px; overflow: hidden; border-radius: var(--dn-r-rond); background: radial-gradient(160px circle at 30% 0%, #ffffffd9, transparent 60%), var(--dn-acier-brosse); box-shadow: var(--dn-acier-ombre), 0 14px 28px -14px #000; color: var(--dn-charbon); text-shadow: 0 1px 0 #ffffffa6; font: 800 14px/1 var(--dn-texte); letter-spacing: .02em; }
.s-champ-btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 38%, #ffffffb3 50%, transparent 62%); translate: -120% 0; }
.s-champ:hover .s-champ-btn::after { translate: 120% 0; transition: translate .8s var(--dn-levee); }
@media (max-width: 600px) {
  .s-champ { flex-direction: column; align-items: stretch; gap: 8px; padding: 8px; border-radius: 30px; }
  .s-champ-boite { min-height: 52px; padding: 0 14px; }
  .s-champ-btn { justify-content: center; }
}
.s-final .v-garantie { margin-top: 20px; }
.s-final-photo { position: relative; z-index: 1; width: 100%; aspect-ratio: 4 / 5; margin-top: clamp(-110px, -6vw, -40px); -webkit-mask: linear-gradient(180deg, transparent 0%, #000 30%, #000 84%, transparent 100%); mask: linear-gradient(180deg, transparent 0%, #000 30%, #000 84%, transparent 100%); }
@media (min-width: 700px) { .s-final-photo { aspect-ratio: 1672 / 820; } }
.s-final-photo img { object-position: 50% 52%; }
.s-final-ecran { display: none; }
html.s-pret .s-final-ecran { display: block; position: absolute; left: 0; top: 0; width: 390px; height: 844px; transform-origin: 0 0; overflow: hidden; border-radius: 46px; pointer-events: none; -webkit-mask: linear-gradient(180deg, #000 0%, #000 40%, transparent 54%); mask: linear-gradient(180deg, #000 0%, #000 40%, transparent 54%); }
.s-fe { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; padding-top: 74px; background: radial-gradient(70% 34% at 50% 26%, #1d2025, transparent 70%), #07080a; color: var(--dn-argent-1); font: 500 15px/1.4 var(--dn-texte); }
.s-fe::before { content: ""; position: absolute; z-index: 3; top: 11px; left: 50%; translate: -50% 0; width: 116px; height: 32px; border-radius: 999px; background: #000; box-shadow: inset 0 0 0 1px #ffffff0d; }
.s-fe::after { content: ""; position: absolute; z-index: 4; inset: -20% -60%; opacity: 0; pointer-events: none; background: linear-gradient(118deg, transparent 43%, #ffffff12 46%, #ffffff5c 50%, #ffffff12 54%, transparent 57%); }
.s-fe-mot { display: block; width: 104px; aspect-ratio: 5362 / 842; background: var(--dn-chrome-doux, #e8eaed); -webkit-mask: url("/shared/dn/logos/mot.svg") center / contain no-repeat; mask: url("/shared/dn/logos/mot.svg") center / contain no-repeat; }
.s-fe-ichor { display: block; width: 104px; height: 104px; margin-top: 30px; filter: drop-shadow(0 16px 26px #000); }
.s-fe-ichor > * { width: 100% !important; height: 100% !important; }
.s-fe-titre { margin: 16px 0 0; font: 600 46px/1.02 var(--dn-titre); letter-spacing: -.055em; color: transparent; background-image: var(--dn-chrome-reflet), var(--dn-chrome-coupe); -webkit-background-clip: text; background-clip: text; padding-bottom: .08em; }
.s-fe-champ { display: flex; align-items: center; gap: 10px; width: calc(100% - 44px); min-height: 60px; margin: 22px 0 0; padding: 0 20px; border-radius: 999px; background: #ffffff0a; border: 1px solid #ffffff2e; box-shadow: inset 0 1px 0 #ffffff14, 0 0 0 6px #ffffff06; font-size: 16px; font-weight: 600; color: var(--dn-argent-2); white-space: nowrap; }
.s-fe-champ svg { flex: none; width: 20px; height: 20px; color: var(--dn-argent-2); }
.s-fe-texte { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.s-fe-texte.is-modele { color: #fff; }
.s-fe-curseur { flex: none; width: 2px; height: 1.2em; margin-left: -6px; background: #fff; opacity: 0; }
.s-final.is-ecrit .s-fe-curseur { opacity: 1; animation: s-curseur 1.05s steps(1) infinite; }
.s-final-photo.is-arme .s-fe { background: #050607; }
.s-final-photo.is-arme .s-fe > * { opacity: 0; translate: 0 22px; filter: blur(6px); }
.s-final-photo.is-arme.is-joue .s-fe { background: radial-gradient(70% 34% at 50% 26%, #1d2025, transparent 70%), #07080a; transition: background .9s ease .25s; }
.s-final-photo.is-arme.is-joue .s-fe > * { opacity: 1; translate: 0 0; filter: blur(0); transition: opacity .7s ease, translate .9s var(--dn-levee), filter .7s ease; transition-delay: calc(.55s + var(--n, 0) * .12s); }
.s-final-photo.is-arme.is-joue .s-fe::after { animation: s-eclat 1.2s var(--dn-glisse) .15s both; }
.s-final-photo.is-arme.is-joue .s-fe-titre { animation: dn-reflet 1.8s var(--dn-levee) 1.1s backwards; }
.s-fe > .s-fe-mot { --n: 0; } .s-fe > .s-fe-ichor { --n: 1; } .s-fe > .s-fe-titre { --n: 2; } .s-fe > .s-fe-champ { --n: 3; }
@keyframes s-eclat { 0% { translate: -42% 0; opacity: 0; } 18% { opacity: 1; } 100% { translate: 42% 0; opacity: 0; } }


@media (prefers-reduced-motion: reduce) {
  .s-offre, .s-ichor, .s-lisere rect, .s-pa, .s-eco, .s-q::before, .s-q-signe, .s-q-signe::before, .s-q-signe::after, .s-bascule .s-curseur::before, .s-ligne-icone, .s-ligne-besoin, .s-bascule button { transition: none !important; }
  .s-ichor-corps.is-saute, .s-prix-vieux .s-pc, .s-prix-neuf .s-pc, .s-profils-raison > span.is-neuve, .s-offre .v-prix > span.is-neuve, .s-champ-curseur { animation: none !important; }
}

.a-ia, .s-chiffres, .s-offres, .s-comparer { position: relative; isolation: isolate; }
.f-fond { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; -webkit-mask: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent); mask: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent); }
.f-fond > i { position: absolute; display: block; }
@keyframes f-derive { from { transform: translate3d(-4%, -3%, 0) scale(1); } to { transform: translate3d(5%, 4%, 0) scale(1.14); } }
@keyframes f-respire { from { transform: translate3d(0, 0, 0) scale(1); opacity: .65; } to { transform: translate3d(3%, -4%, 0) scale(1.12); opacity: 1; } }

.f-ia-halo { left: 50%; top: 50%; width: min(130vw, 1300px); aspect-ratio: 1; margin: calc(min(130vw, 1300px) / -2) 0 0 calc(min(130vw, 1300px) / -2); border-radius: 50%; background: radial-gradient(closest-side, #7f98bf47, #7f98bf1a 46%, transparent 74%); animation: f-derive 24s ease-in-out infinite alternate; }
.f-ia-grille, .f-ia-scan { inset: 0; -webkit-mask: radial-gradient(74% 30% at 50% 80%, #000 35%, transparent 90%); mask: radial-gradient(74% 30% at 50% 80%, #000 35%, transparent 90%); }
.f-ia-grille { background-image: radial-gradient(circle, #ffffff40 1px, transparent 1.7px); background-size: 24px 24px; background-position: center; }
.f-fond .f-ia-scan { display: none; overflow: hidden; }
.f-ia-scan::before { content: ""; position: absolute; inset: 0 -60%; background: linear-gradient(100deg, transparent 43%, #b9cbe61f 47%, #ffffff4d 50%, #b9cbe61f 53%, transparent 57%); animation: f-balaye 11s cubic-bezier(.45, 0, .55, 1) infinite; }
@keyframes f-balaye { from { transform: translate3d(-34%, 0, 0); } to { transform: translate3d(34%, 0, 0); } }
@media (min-width: 1000px) {
  .f-ia-halo { left: 68%; }
  .f-fond .f-ia-scan { display: block; }
  .f-ia-grille, .f-ia-scan { -webkit-mask: radial-gradient(46% 72% at 68% 50%, #000 40%, transparent 92%); mask: radial-gradient(46% 72% at 68% 50%, #000 40%, transparent 92%); }
}

.f-fond.f-donnees { -webkit-mask: radial-gradient(72% 66% at 50% 46%, #000 25%, transparent 84%); mask: radial-gradient(72% 66% at 50% 46%, #000 25%, transparent 84%); }
.f-donnees > i:not(.f-horizon) { left: 0; right: 0; top: 0; bottom: -710px; }
.f-donnees > i:nth-child(1) { background-image: radial-gradient(circle, #ffffff33 1px, transparent 1.6px); background-size: 34px 34px; animation: f-monte-1 46s linear infinite; }
.f-donnees > i:nth-child(2) { background-image: radial-gradient(circle, #b9cbe673 1.4px, transparent 2.1px); background-size: 71px 71px; background-position: 17px 9px; animation: f-monte-2 28s linear infinite; }
@keyframes f-monte-1 { to { transform: translate3d(0, -340px, 0); } }
@keyframes f-monte-2 { to { transform: translate3d(0, -710px, 0); } }
.f-horizon { left: 50%; bottom: 8%; width: min(1100px, 120vw); height: 260px; translate: -50% 0; border-radius: 50%; background: radial-gradient(closest-side, #b9cbe638, #ffffff0f 55%, transparent 75%); }
.f-donnees > i.f-scan, .f-donnees > i.f-scan-vif { display: none; left: 0; right: 0; top: 0; bottom: auto; }
.f-donnees.is-scan > i.f-scan, .f-donnees.is-scan > i.f-scan-vif { display: block; }
.f-donnees > i.f-scan { height: 200px; translate: 0 calc(var(--f-by, 0) * 1px - 100%); will-change: translate;
  background: linear-gradient(180deg, transparent, #b9cbe608 55%, #b9cbe624 100%); }
.f-donnees > i.f-scan::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent 4%, #b9cbe6a6 28%, #ffffff 50%, #b9cbe6a6 72%, transparent 96%); box-shadow: 0 0 14px 1px #b9cbe659, 0 0 3px #ffffff4d; }
.f-donnees > i.f-scan-vif { height: 300px; overflow: hidden; translate: 0 calc(var(--f-by, 0) * 1px - 150px); will-change: translate;
  -webkit-mask: linear-gradient(180deg, transparent, #000 50%, transparent); mask: linear-gradient(180deg, transparent, #000 50%, transparent); }
.f-scan-vif > i { position: absolute; display: block; left: 0; right: 0; top: 0; height: calc(var(--f-h, 900px) + 710px); translate: 0 calc(150px - var(--f-by, 0) * 1px); }
.f-scan-vif > i:nth-child(1) { background-image: radial-gradient(circle, #fff 1.3px, #ffffff40 2.2px, transparent 3px); background-size: 34px 34px; animation: f-monte-1 46s linear infinite; }
.f-scan-vif > i:nth-child(2) { background-image: radial-gradient(circle, #fff 1.8px, #b9cbe673 2.8px, transparent 4.6px); background-size: 71px 71px; background-position: 17px 9px; animation: f-monte-2 28s linear infinite; }

.f-bascule > i { inset: -10% -20% -10% 20%; background: radial-gradient(50% 55% at 62% 48%, #b9cbe640, #ffffff12 45%, transparent 72%); opacity: 0; transition: opacity 1.4s ease; }
.s-comparer:has([data-s-bascule][data-etat="avec"]) .f-bascule > i { opacity: 1; }

.f-projo-cone { left: var(--f-x, 62.5%); top: 0; width: min(980px, 150vw); height: calc(var(--f-y, 55%) + 260px); translate: -50% 0; transform-origin: 50% 0; background: conic-gradient(from 180deg at 50% 0%, transparent 162deg, #ffffff17 171deg, #eef2f845 180deg, #ffffff17 189deg, transparent 198deg); -webkit-mask: linear-gradient(180deg, #000 55%, transparent); mask: linear-gradient(180deg, #000 55%, transparent); transition: left 1.1s cubic-bezier(.22, 1, .36, 1), height 1.1s cubic-bezier(.22, 1, .36, 1); animation: f-balance 15s ease-in-out infinite alternate; }
.f-projo-halo { left: var(--f-x, 62.5%); top: var(--f-y, 55%); width: min(760px, 120vw); aspect-ratio: 1.3; translate: -50% -50%; border-radius: 50%; background: radial-gradient(closest-side, #e9eef638, #b9cbe617 50%, transparent 74%); transition: left 1.1s cubic-bezier(.22, 1, .36, 1), top 1.1s cubic-bezier(.22, 1, .36, 1); }
@keyframes f-balance { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }

.f-visite { display: none; }
@media (min-width: 900px) {
  html.t-anime .f-visite { display: block; position: sticky; top: 0; z-index: 0; height: 100vh; height: 100svh; margin-bottom: -100vh; margin-bottom: -100svh; overflow: hidden; pointer-events: none; }
  .f-visite > i { position: absolute; display: block; border-radius: 50%; }
  .f-visite > i:nth-child(1) { left: -16%; top: 22%; width: 64vw; aspect-ratio: 1; background: radial-gradient(closest-side, #7f98bf30, #7f98bf0f 50%, transparent 74%); animation: f-respire 19s ease-in-out infinite alternate; }
  .f-visite > i:nth-child(2) { right: -18%; top: -14%; width: 60vw; aspect-ratio: 1; background: radial-gradient(closest-side, #ffffff14, transparent 72%); animation: f-respire 23s ease-in-out -7s infinite alternate; }
}

.f-fond.is-hors i, .f-fond.is-hors > i::before, .f-visite.is-hors > i { animation-name: none; }
@media (hover: none) and (pointer: coarse) {
  .f-fond i, .f-fond i::before { animation: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .f-fond i, .f-fond > i::before, .f-visite > i { animation: none !important; transition: none !important; }
  .f-donnees.is-scan > :is(i.f-scan, i.f-scan-vif) { display: none; }
}

.tf-tete { display: grid; gap: 18px; max-width: 780px; }
.tf-dit { max-width: 56ch; }
.tf-panneau { position: relative; margin-top: clamp(32px, 4vw, 52px); padding: clamp(18px, 3vw, 36px); border-radius: calc(var(--dn-r-4) + 6px); background: var(--dn-satin-fond); border: 1px solid #ffffff14; box-shadow: inset 0 1px 0 #ffffff12, 0 50px 90px -50px #000; }

.tf-offres { min-width: 0; margin: 0; padding: 0; border: 0; }
.tf-offres-q { float: left; width: 100%; margin: 0 0 14px; padding: 0; font: 700 12px/1.2 var(--dn-texte); letter-spacing: 0.12em; text-transform: uppercase; color: var(--dn-argent-3); }
.tf-offres-choix { --tf-i: 2; clear: both; position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 5px; border-radius: 22px; background: #00000059; border: 1px solid #ffffff14; isolation: isolate; }
.tf-offres-choix::before { content: ""; position: absolute; z-index: -1; top: 5px; bottom: 5px; left: 5px; width: calc((100% - 22px) / 4); border-radius: 17px; background: var(--dn-argent-massif); box-shadow: inset 0 1px 0 #fff, inset 0 -2px 0 #0000002e, 0 10px 26px -10px #000; translate: calc(var(--tf-i) * (100% + 4px)) 0; transition: translate 0.55s var(--dn-ressort); }
.tf-offres-choix:has([value="0"]:checked) { --tf-i: 0; }
.tf-offres-choix:has([value="1"]:checked) { --tf-i: 1; }
.tf-offres-choix:has([value="3"]:checked) { --tf-i: 3; }
.tf-offre { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 64px; padding: 10px 6px; border-radius: 17px; color: var(--dn-argent-2); cursor: pointer; transition: color 0.3s var(--dn-levee); }
.tf-offre input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.tf-offre-nom { font: 600 15px/1 var(--dn-titre); letter-spacing: -0.03em; }
.tf-offre-compte { font-size: 12px; font-weight: 600; color: var(--dn-argent-3); transition: color 0.3s var(--dn-levee); }
.tf-offre-compte b { font: 600 14px/1 var(--dn-titre); color: var(--dn-argent-1); }
.tf-offre-compte { text-align: center; }
.tf-offre-renvoi { display: block; margin-top: 3px; font: 600 10px/1.15 var(--dn-texte); letter-spacing: 0; color: var(--dn-argent-3); }
.tf-offre:has(input:checked) .tf-offre-renvoi { color: #3b4047; }
.tf-offre:has(input:checked) { color: var(--dn-charbon); }
.tf-offre:has(input:checked) :is(.tf-offre-compte, .tf-offre-compte b) { color: #23272c; }
.tf-offre:hover:not(:has(input:checked)) { color: var(--dn-blanc); }
.tf-offre:has(input:focus-visible) { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; }

.tf-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(24px, 4vw, 56px); margin-top: 18px; }
.tf-cap { --tf-on: 1; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: baseline; gap: 6px 14px; padding: 18px 0 20px; border-top: 1px solid #ffffff10; }
.tf-voyant { align-self: center; width: 10px; height: 10px; border-radius: 50%;
  background: color-mix(in srgb, #f2f6ff calc(var(--tf-on) * 100%), #ffffff1f);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dn-bleui-1) calc(var(--tf-on) * 30%), transparent), 0 0 calc(var(--tf-on) * 18px) color-mix(in srgb, var(--dn-bleui-1) calc(var(--tf-on) * 85%), transparent);
  transition: background 0.4s var(--dn-levee), box-shadow 0.5s var(--dn-levee); transition-delay: calc(var(--k) * 45ms); }
.tf-nom { margin: 0; font: 700 16px/1.3 var(--dn-texte); color: color-mix(in srgb, var(--dn-argent-1) calc(var(--tf-on) * 100%), var(--dn-argent-3)); text-wrap: balance; transition: color 0.4s var(--dn-levee); transition-delay: calc(var(--k) * 45ms); }
.tf-texte { grid-column: 2 / 4; margin: 0; font-size: 14px; line-height: 1.55; color: var(--dn-argent-3); max-width: 52ch; text-wrap: pretty; }
.tf-v { grid-column: 3; grid-row: 1; justify-self: end; margin: 0; font: 700 12px/1 var(--dn-texte); white-space: nowrap; }
.tf-v > span { display: inline-flex; }
.tf-v > span > span { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 0 10px; border-radius: var(--dn-r-rond); animation: tf-pose 0.45s var(--dn-levee) both; animation-delay: calc(var(--k) * 45ms); }
.tf-v svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tf-v-oui { color: var(--dn-argent-1); background: #ffffff0d; }
.tf-v-oui svg { color: var(--dn-bleui-1); stroke-width: 2.2; }
.tf-v-val { color: var(--dn-blanc); background: #ffffff14; box-shadow: inset 0 1px 0 #ffffff14; }
.tf-v-apercu { color: var(--dn-argent-2); border: 1px dashed #ffffff3d; }
.tf-v-non { color: var(--dn-argent-3); border: 1px solid #ffffff14; }
@keyframes tf-pose { from { opacity: 0; translate: 6px 0; } }

.tf-v > span:not([data-o="2"]), .tf-cta:not([data-o="2"]) { display: none; }
.tf-cap[data-n="3"] { --tf-on: 0; }
.tf:has([value="0"]:checked) .tf-v > span:not([data-o="0"]), .tf:has([value="0"]:checked) .tf-cta:not([data-o="0"]),
.tf:has([value="1"]:checked) .tf-v > span:not([data-o="1"]), .tf:has([value="1"]:checked) .tf-cta:not([data-o="1"]),
.tf:has([value="3"]:checked) .tf-v > span:not([data-o="3"]), .tf:has([value="3"]:checked) .tf-cta:not([data-o="3"]) { display: none; }
.tf:has([value="0"]:checked) .tf-v > [data-o="0"], .tf:has([value="1"]:checked) .tf-v > [data-o="1"], .tf:has([value="3"]:checked) .tf-v > [data-o="3"] { display: inline-flex; }
.tf:has([value="0"]:checked) .tf-cta[data-o="0"], .tf:has([value="1"]:checked) .tf-cta[data-o="1"], .tf:has([value="3"]:checked) .tf-cta[data-o="3"] { display: flex; }
.tf:has([value="0"]:checked) .tf-cap:not([data-n="0"]), .tf:has([value="1"]:checked) .tf-cap:is([data-n="2"], [data-n="3"]) { --tf-on: 0; }
.tf:has([value="3"]:checked) .tf-cap[data-n="3"] { --tf-on: 1; }
.tf:has([value="0"]:checked) .tf-cap[data-a~="0"], .tf:has([value="1"]:checked) .tf-cap[data-a~="1"] { --tf-on: 0.5; }

.tf-pied { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; margin-top: 8px; padding-top: 24px; border-top: 1px solid #ffffff14; }
.tf-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin: 0; }
.tf-cta-dit { font-size: 15px; color: var(--dn-argent-2); }
.tf-cta-dit b { margin-right: 2px; font: 600 22px/1 var(--dn-titre); letter-spacing: -0.03em; color: var(--dn-blanc); }
.tf-cta .dn-btn { min-height: 50px; }
.tf-tarifs { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; color: var(--dn-argent-2); text-decoration: underline; text-decoration-color: #ffffff40; text-underline-offset: 4px; }
.tf-tarifs:hover { color: var(--dn-blanc); text-decoration-color: currentColor; }
.tf-bientot { margin-top: 26px; padding-top: 24px; border-top: 1px dashed #ffffff24; }
.tf-bientot-mot { display: inline-flex; align-items: center; min-height: 26px; margin: 0; padding: 0 10px; border-radius: var(--dn-r-rond); border: 1px dashed #ffffff3d; color: var(--dn-argent-2); font: 700 12px/1 var(--dn-texte); letter-spacing: 0.03em; }
.tf-bientot-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px clamp(24px, 4vw, 56px); margin-top: 16px; }
.tf-bientot-cap { display: grid; grid-template-columns: 10px minmax(0, 1fr); align-items: baseline; align-content: start; gap: 3px 14px; }
.tf-bientot-cap::before { content: ""; align-self: center; width: 10px; height: 10px; box-sizing: border-box; border-radius: 50%; border: 1px dashed #ffffff4d; }
.tf-bientot-nom { margin: 0; font: 650 15px/1.3 var(--dn-texte); color: var(--dn-argent-2); text-wrap: balance; }
.tf-bientot-texte { grid-column: 2; margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--dn-argent-3); max-width: 52ch; text-wrap: pretty; }

@media (max-width: 860px) {
  .tf-liste, .tf-bientot-liste { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .tf-offre { min-height: 58px; padding: 8px 2px; }
  .tf-offre-nom { font-size: 12px; letter-spacing: -0.04em; }
  .tf-offre-compte b { font-size: 12px; letter-spacing: -0.03em; }
  .tf-cap { grid-template-columns: 10px minmax(0, 1fr); }
  .tf-v { grid-column: 2; grid-row: auto; justify-self: start; }
  .tf-texte { grid-column: 2; }
  .tf-cta, .tf-cta .dn-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .tf-offres-choix::before, .tf-voyant, .tf-nom, .tf-offre { transition: none; }
  .tf-v > span > span { animation: none; }
}
