
.px-lecteur { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.px-fx-pin { --x: 50.5; --y: 44; }
.px-fx-pin > b { left: auto; right: calc(100% + 1.5em); translate: calc(var(--cache) * .6em) -50%; }
.px-fx-pin > b::before { right: auto; left: 100%; background: linear-gradient(90deg, #fff, transparent); }
.px-fx-jauge { --x: 93; --y: 3; --h: 25; }
.px-fx-jauge .fx-jauge-m { display: inline-flex; align-items: center; border-radius: 999px; background: #0b0c0ee6; border: 1px solid #ffffff3d; color: #fff; font: 700 1em/1 var(--dn-texte); white-space: nowrap; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 #ffffff1f, 0 14px 28px -12px #000; }
.px-fx-courbe { --x: 25; --y: 87; --w: 38; --h: 6; }
.px-fx-courbe > small { right: auto; left: 0; }
.px-fx-courbe path { stroke-dasharray: none; }
.px-fx-courbe svg { clip-path: inset(-20% calc(var(--cache) * 100%) -20% 0); }
html.t-anime .px-scene .p-filet path { transition-delay: 1.1s; }
html.t-anime .px-scene.is-relie .p-filet circle { transition-delay: 1.05s; }
html.t-anime .px-scene.is-relie .p-filet circle:last-of-type { transition-delay: 2.1s; }

@media (max-width: 699.98px) {
  .px-fx-pin { --x: 52; --y: 45; }
  .px-fx-jauge { --x: 94; --y: 17; --h: 26; }
  .px-fx-courbe { --x: 67; --y: 57; --w: 28; --h: 5; }
  .px-fx-courbe > small { left: auto; right: 0; }
  .px-scene { --p-ichor-x: 4%; --p-ichor-y: 41.5%; }
  .px-scene .p-scene-pied { top: 66%; }
}

.px-fiche-mini { display: inline-flex; align-items: center; gap: 12px; margin: 22px 0 0; padding: 8px 18px 8px 8px; border-radius: 20px; background: linear-gradient(180deg, #16181cf2, #0e1013f2); box-shadow: inset 0 1px 0 #ffffff17, 0 0 0 1px #ffffff14; }
.px-fiche-mini img { width: 48px; height: 48px; border-radius: 14px; object-fit: cover; background: #ececec; }
.px-fiche-mini > span { font: 600 17px/1.1 var(--dn-titre); letter-spacing: -.03em; color: #fff; }
.px-fiche-mini > span small, .px-fiche-mini b small { display: block; margin-bottom: 4px; font: 700 12px/1 var(--dn-texte); letter-spacing: .08em; text-transform: uppercase; color: var(--dn-argent-3); }
.px-fiche-mini b { display: grid; justify-items: end; margin-left: 10px; font: 600 22px/1 var(--dn-titre); letter-spacing: -.04em; color: #fff; }
.px-fiche-mini b small { order: 2; margin: 4px 0 0; }
.px-mini { display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: 8px; margin-top: 22px; }
.px-mini li { display: grid; gap: 5px; padding: 12px 14px; border-radius: 16px; background: #ffffff08; border: 1px solid #ffffff14; }
.px-mini span { margin-bottom: 3px; font: 500 12px/1 var(--dn-texte); color: var(--dn-argent-2); white-space: nowrap; }
.px-mini li.is-choisi { border-color: color-mix(in srgb, var(--dn-bleui-1) 60%, transparent); background: linear-gradient(180deg, #b9cbe61f, #b9cbe608); box-shadow: 0 0 22px -8px var(--dn-bleui-lueur); }
.px-mini .px-mini-achat { border-style: dashed; }
.px-mini small { font: 700 12px/1 var(--dn-texte); letter-spacing: .04em; color: var(--dn-argent-3); white-space: nowrap; }
.px-mini b { font: 600 22px/1 var(--dn-titre); letter-spacing: -.04em; color: #fff; white-space: nowrap; }
.px-entrees { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.px-entrees li { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 16px 6px 6px; border-radius: var(--dn-r-rond); background: linear-gradient(180deg, #16181cf2, #0e1013f2); box-shadow: inset 0 1px 0 #ffffff17, 0 0 0 1px #ffffff14; font-size: 14px; font-weight: 650; color: var(--dn-argent-1); }
.px-entree-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(160deg, #2a2e34, #121417); box-shadow: inset 0 1px 0 #ffffff26; }
.px-entree-ic svg { width: 17px; height: 17px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 560px) {
  .px-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.px-tete { max-width: 880px; }
.px-chapo { margin: 22px 0 0; max-width: 66ch; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.6; color: var(--dn-argent-2); text-wrap: pretty; }

.px-modeles { position: relative; display: inline-grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; max-width: 100%; margin-top: clamp(32px, 4vw, 48px); padding: 5px; border-radius: 24px; background: var(--dn-satin-fond); border: 1px solid #ffffff17; box-shadow: inset 0 1px 0 #ffffff12; }
.px-modeles[hidden] { display: none; }
.px-modele { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 56px; padding: 6px 18px 6px 6px; border: 0; border-radius: 19px; background: transparent; color: var(--dn-argent-2); text-align: left; font: 650 15px/1.15 var(--dn-texte); cursor: pointer; transition: color .25s ease; -webkit-tap-highlight-color: transparent; }
.px-modele img { flex: none; width: 44px; height: 44px; border-radius: 13px; object-fit: cover; background: #ececec; filter: saturate(.6) brightness(.85); transition: filter .3s ease; -webkit-user-drag: none; user-select: none; }
.px-modele span { min-width: 0; }
.px-modele small { display: block; margin-bottom: 3px; font: 700 12px/1 var(--dn-texte); letter-spacing: .06em; text-transform: uppercase; color: var(--dn-argent-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.px-modele:hover, .px-modele[aria-pressed="true"] { color: #fff; }
.px-modele:hover img, .px-modele[aria-pressed="true"] img { filter: none; }
.px-modele:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; }
.px-modeles-perle { position: absolute; z-index: 0; top: 5px; bottom: 5px; left: 0; width: var(--px-o-w, 0px); translate: var(--px-o-x, 0px) 0; border-radius: 19px; background: linear-gradient(180deg, #ffffff29, #ffffff0d); box-shadow: inset 0 1px 0 #ffffff47, 0 0 0 1px #ffffff47, 0 0 26px -8px #ffffff73; opacity: 0; }
.px-modeles.is-perle .px-modeles-perle { opacity: 1; }
html.t-anime .px-modeles.is-perle .px-modeles-perle { transition: translate .55s var(--dn-ressort), width .55s var(--dn-ressort); }
.px-modeles:not(.is-perle) .px-modele[aria-pressed="true"] { background: linear-gradient(180deg, #ffffff29, #ffffff0d); box-shadow: inset 0 1px 0 #ffffff47, 0 0 0 1px #ffffff47; }

.px-banc { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: clamp(16px, 2.4vw, 32px); margin-top: clamp(20px, 2.4vw, 28px); align-items: stretch; }
.px-modeles:not([hidden]) + .px-banc { margin-top: 16px; }
.px-graphe-bloc, .px-lecture { border-radius: 32px; box-shadow: inset 0 1px 0 #ffffff1a, 0 0 0 1px #ffffff12, 0 50px 80px -50px #000; }
.px-graphe-bloc { min-width: 0; padding: clamp(20px, 2.6vw, 34px) clamp(20px, 2.6vw, 34px) clamp(18px, 2vw, 26px); background: radial-gradient(120% 140% at 0% 0%, #1b1e22, #0c0d10 60%); }
.px-graphe-tete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 6px 16px; margin: 0; }
.px-modele-nom { font: 600 20px/1.1 var(--dn-titre); letter-spacing: -.03em; color: #fff; }
.px-modele-nom small { display: block; margin-bottom: 5px; font: 700 12px/1 var(--dn-texte); letter-spacing: .1em; text-transform: uppercase; color: var(--dn-argent-3); }
.px-graphe-sur { font: 700 12px/1.2 var(--dn-texte); letter-spacing: .1em; text-transform: uppercase; color: var(--dn-argent-3); }

.px-graphe { position: relative; height: clamp(260px, 26vw, 400px); margin: 84px 0 46px; touch-action: pan-y; cursor: pointer; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
.px-bandes, .px-grille { position: absolute; inset: 0; pointer-events: none; }
.px-bande-v { position: absolute; top: -14px; bottom: 0; left: calc(var(--de) * 1%); width: calc((var(--a) - var(--de)) * 1%); border-radius: 16px 16px 4px 4px; transition: background .35s ease, box-shadow .35s ease; }
.px-bande-v.is-actif { background: linear-gradient(180deg, #b9cbe614, #b9cbe603 80%, transparent); box-shadow: inset 0 1px 0 #b9cbe62e; }
.px-bande-v small { display: none; }
.px-bande-v.is-manque { background: repeating-linear-gradient(135deg, #ffffff0a 0 2px, transparent 2px 10px); }
.px-bande-v.is-manque small { position: absolute; left: 8px; right: 8px; top: 26px; display: block; font: 700 12px/1.3 var(--dn-texte); color: var(--dn-argent-3); text-align: center; text-wrap: balance; }
.px-grille span { position: absolute; left: 0; right: 0; top: calc(var(--y) * 1%); border-top: 1px dashed #ffffff14; }
.px-grille b { position: absolute; left: 0; bottom: 5px; font: 700 12px/1 var(--dn-texte); color: var(--dn-argent-3); }
.px-graphe::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: #ffffff26; }

.px-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.px-aire { fill: url(#px-aire-g); }
.px-marge-bande { fill: #b9cbe612; }
.px-fantome { fill: none; stroke: var(--dn-bleui-2); stroke-width: 1.6; stroke-dasharray: 6 6; vector-effect: non-scaling-stroke; }
.px-trace { fill: none; stroke: url(#px-trace-g); stroke-width: 3.2; stroke-linecap: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 6px #ffffff73); }

.px-noeud { position: absolute; z-index: 2; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: 12px; height: 12px; translate: -50% -50%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, #b9bec4 55%, #4a4f57); box-shadow: 0 0 0 4px #0b0c0e, 0 0 12px #ffffff80; pointer-events: none; }
.px-noeud.is-manque { display: none; }
.px-ancre { position: absolute; z-index: 3; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); display: grid; justify-items: center; gap: 4px; min-width: 76px; min-height: 52px; padding: 8px 12px; translate: -50% calc(-100% - 16px); border-radius: 16px; border: 1px solid #ffffff2b; background: linear-gradient(180deg, #1c1f24f2, #101215f2); color: var(--dn-argent-1); cursor: pointer; box-shadow: inset 0 1px 0 #ffffff1f, 0 14px 24px -14px #000; transition: border-color .3s ease, box-shadow .3s ease, background .3s ease, translate .5s var(--dn-ressort), top .7s var(--dn-ressort); -webkit-tap-highlight-color: transparent; }
.px-ancre::after { content: ""; position: absolute; left: 50%; top: 100%; width: 1px; height: 12px; background: linear-gradient(180deg, #ffffff59, transparent); }
.px-ancre small { font: 700 12px/1 var(--dn-texte); letter-spacing: .02em; color: var(--dn-argent-3); white-space: nowrap; }
.px-ancre b { font: 600 20px/1 var(--dn-titre); letter-spacing: -.04em; color: #fff; white-space: nowrap; }
.px-ancre:hover { border-color: #ffffff59; }
.px-ancre:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; }
.px-ancre.is-choisi { border-color: var(--dn-bleui-1); background: linear-gradient(180deg, #2a3240f2, #12161df2); box-shadow: inset 0 1px 0 #ffffff33, 0 0 0 4px var(--dn-bleui-lueur), 0 18px 30px -14px #000; }
.px-ancre.is-choisi small { color: var(--dn-bleui-1); }
.px-ancre.is-manque { top: 100%; translate: -50% calc(-100% - 46px); border-style: dashed; background: #0e1013e6; }
.px-ancre.is-manque b { color: var(--dn-argent-3); }

.px-perle { position: absolute; z-index: 5; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: 48px; height: 48px; translate: -50% -50%; border-radius: 50%; touch-action: none; cursor: grab; outline: none; transition: left .55s var(--dn-ressort), top .55s var(--dn-ressort); }
.px-perle > span { position: absolute; inset: 10px; border-radius: 50%; background: radial-gradient(circle at 34% 28%, #fff, #e3e6ea 30%, #9aa1a9 62%, #3f444b); box-shadow: inset 0 -2px 4px #0007, 0 0 0 2px #0b0c0e, 0 0 0 4px #ffffffd9, 0 0 26px #ffffffa6, 0 10px 18px -6px #000; transition: scale .3s var(--dn-levee), box-shadow .3s ease; }
.px-perle:hover > span { scale: 1.08; }
.px-perle:focus-visible > span { box-shadow: inset 0 -2px 4px #0007, 0 0 0 2px #0b0c0e, 0 0 0 4px var(--dn-bleui-1), 0 0 0 8px var(--dn-bleui-lueur), 0 10px 18px -6px #000; }
.px-graphe.is-tenu .px-perle { cursor: grabbing; transition: none; }
.px-graphe.is-tenu .px-perle > span { scale: 1.22; box-shadow: inset 0 -2px 4px #0007, 0 0 0 2px #0b0c0e, 0 0 0 4px #fff, 0 0 40px #ffffffd9, 0 16px 24px -8px #000; }
.px-perle.is-vide > span { background: #0b0c0e; box-shadow: inset 0 0 0 2px #ffffff80, 0 0 0 2px #0b0c0e, 0 0 0 4px #ffffff33; }
.px-perle.is-vide { translate: -50% calc(-50% - 16px); }

.px-crochet { position: absolute; z-index: 4; left: calc(var(--x) * 1%); top: calc(var(--y1) * 1%); height: calc((var(--y2) - var(--y1)) * 1%); width: 0; border-left: 2px solid var(--dn-bleui-1); pointer-events: none; transition: left .55s var(--dn-ressort), top .55s var(--dn-ressort), height .5s var(--dn-ressort), opacity .3s ease; }
.px-crochet::before, .px-crochet::after { content: ""; position: absolute; left: -6px; width: 10px; height: 2px; background: var(--dn-bleui-1); }
.px-crochet::before { top: 0; } .px-crochet::after { bottom: 0; }
.px-crochet b { position: absolute; right: 12px; top: 50%; translate: 0 -50%; padding: 5px 9px; border-radius: var(--dn-r-rond); background: #0b0c0ee6; border: 1px solid #b9cbe666; font: 700 13px/1 var(--dn-texte); color: var(--dn-bleui-1); white-space: nowrap; }
.px-achat { position: absolute; z-index: 4; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); pointer-events: none; transition: left .55s var(--dn-ressort), top .5s var(--dn-ressort), opacity .3s ease; }
.px-achat i { position: absolute; left: -7px; top: -7px; width: 14px; height: 14px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #e6edf8, var(--dn-bleui-2) 60%, var(--dn-bleui-3)); box-shadow: 0 0 0 3px #0b0c0e, 0 0 14px var(--dn-bleui-lueur); }
.px-achat b { position: absolute; left: 14px; top: 0; translate: 0 -50%; padding: 6px 10px; border-radius: var(--dn-r-rond); background: #0b0c0ee6; border: 1px solid #b9cbe666; font: 700 13px/1 var(--dn-texte); color: #fff; white-space: nowrap; }
.px-achat.is-gauche b { left: auto; right: 14px; }
.px-crochet.is-gauche b { right: auto; left: 12px; }
.px-graphe.is-vide :is(.px-crochet, .px-achat) { opacity: 0; }

.px-axe { position: absolute; left: 0; right: 0; top: calc(100% + 12px); height: 20px; pointer-events: none; }
.px-axe span { position: absolute; left: calc(var(--x) * 1%); top: 0; translate: -50% 0; font: 700 12px/1 var(--dn-texte); color: var(--dn-argent-2); white-space: nowrap; }
.px-axe .px-axe-0 { translate: 0 0; color: var(--dn-argent-3); }
.px-aide { margin: 0; font-size: 14px; color: var(--dn-argent-3); }
@media (hover: none) and (pointer: coarse) { .px-aide-clavier { display: none; } }

.px-lecture { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(22px, 2.6vw, 36px); background: radial-gradient(120% 120% at 100% 0%, #1e2126, #0c0d10 62%); overflow: hidden; isolation: isolate; }
.px-lecture::before { content: ""; position: absolute; z-index: -1; inset: auto -30% -40% -30%; height: 70%; pointer-events: none; background: radial-gradient(closest-side, #b9cbe612, transparent); }
.px-lecture-ichor { position: absolute; right: 16px; top: 14px; width: 64px; height: 64px; }
.px-lecture-ichor > span { display: block; width: 100%; height: 100%; }
.px-l-sur { margin: 0; font: 700 12px/1.2 var(--dn-texte); letter-spacing: .12em; text-transform: uppercase; color: var(--dn-argent-3); }
.px-l-vitesse { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 12px 72px 0 0; }
.px-l-vitesse b { font: 600 clamp(26px, 2.4vw, 34px)/1 var(--dn-titre); letter-spacing: -.05em; color: #fff; }
.px-l-vitesse span { font-size: 15px; font-weight: 650; color: var(--dn-bleui-1); }
.px-l-prix { display: grid; justify-items: start; gap: 6px; margin: 22px 0 0; }
.px-l-prix > b { font: 600 clamp(56px, 5.6vw, 86px)/.95 var(--dn-titre); letter-spacing: -.06em; color: transparent; background-image: var(--dn-chrome-reflet), var(--dn-chrome-chiffre); -webkit-background-clip: text; background-clip: text; padding-bottom: .04em; white-space: nowrap; }
.px-l-prix > span { font-size: 15px; color: var(--dn-argent-3); }
.px-l-base { min-height: 3em; margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: var(--dn-argent-2); }
.px-marge { margin-top: 18px; padding-top: 18px; border-top: 1px solid #ffffff14; }
.px-marge-mot { margin: 0; font: 700 12px/1.2 var(--dn-texte); letter-spacing: .12em; text-transform: uppercase; color: var(--dn-argent-3); }
.px-marge-fixe { letter-spacing: 0; text-transform: none; color: #fff; }
.px-crans { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.px-crans[hidden] { display: none; }
.px-cran { min-width: 0; min-height: 44px; padding: 0 4px; border-radius: 14px; border: 1px solid #ffffff24; background: #ffffff08; color: var(--dn-argent-1); font: 600 15px/1 var(--dn-titre); letter-spacing: -.02em; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .3s ease; }
.px-cran:hover { border-color: #ffffff5c; background: #ffffff14; color: #fff; }
.px-cran[aria-pressed="true"] { border-color: var(--dn-bleui-1); background: linear-gradient(180deg, #2a3240, #141921); color: #fff; box-shadow: inset 0 1px 0 #ffffff33, 0 0 0 3px var(--dn-bleui-lueur); }
.px-cran:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; }
.px-l-achat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 18px 0 0; }
.px-l-achat span { font-size: 15px; font-weight: 650; color: var(--dn-argent-2); }
.px-l-achat b { font: 600 clamp(32px, 3vw, 44px)/1 var(--dn-titre); letter-spacing: -.05em; color: #fff; white-space: nowrap; }
.px-l-phrase { min-height: 3em; margin: 8px 0 0; max-width: 36ch; font-size: 14px; line-height: 1.5; color: var(--dn-argent-3); }
.px-demo { margin-top: 16px; }
.px-lecture-ichor.is-hop { animation: px-hop .7s var(--dn-ressort); }
.px-lecture-ichor.is-hoche { animation: px-hoche .6s ease-in-out; }
@keyframes px-hop { 35% { translate: 0 -12px; scale: 1.06 .94; } 60% { translate: 0 0; scale: .96 1.04; } }
@keyframes px-hoche { 30% { rotate: 8deg; } 65% { rotate: -4deg; } }

html.t-anime .px-graphe.is-arme .px-svg { clip-path: inset(-10% 100% -10% 0); }
html.t-anime .px-graphe.is-arme.is-vu .px-svg { clip-path: inset(-10% 0 -10% 0); transition: clip-path 1.3s var(--dn-glisse) .15s; }
html.t-anime .px-graphe.is-arme .px-noeud { scale: 0; }
html.t-anime .px-graphe.is-arme.is-vu .px-noeud { scale: 1; transition: scale .5s var(--dn-ressort) calc(.5s + var(--x) * 6ms); }
html.t-anime .px-graphe.is-arme .px-ancre { clip-path: inset(0 0 100% 0 round 16px); translate: -50% calc(-100% - 4px); }
html.t-anime .px-graphe.is-arme.is-vu .px-ancre { clip-path: inset(0 0 0 0 round 16px); translate: -50% calc(-100% - 16px); transition: clip-path .5s var(--dn-levee) calc(.65s + var(--x) * 6ms), translate .7s var(--dn-ressort) calc(.65s + var(--x) * 6ms), border-color .3s ease, box-shadow .3s ease, background .3s ease; }
html.t-anime .px-graphe.is-arme.is-vu .px-ancre.is-manque { translate: -50% calc(-100% - 46px); }
html.t-anime .px-graphe.is-arme .px-perle > span { scale: 0; }
html.t-anime .px-graphe.is-arme.is-vu .px-perle > span { scale: 1; transition: scale .6s var(--dn-ressort) 1.45s, box-shadow .3s ease; }
html.t-anime .px-graphe.is-arme:not(.is-pose) :is(.px-crochet, .px-achat) { opacity: 0; }
html.t-anime .px-graphe.is-arme:not(.is-pose) .px-fantome { translate: 0 calc(var(--px-dm, 0) * -1px); }
html.t-anime .px-graphe.is-arme:not(.is-pose) .px-marge-bande { opacity: 0; }
html.t-anime .px-graphe.is-arme .px-fantome { transition: translate .8s var(--dn-ressort); }
html.t-anime .px-graphe.is-arme .px-marge-bande { transition: opacity .6s ease .2s; }
html.t-anime .px-graphe.is-arme.is-pose .px-crochet { transition: left .55s var(--dn-ressort), top .55s var(--dn-ressort), height .5s var(--dn-ressort), opacity .4s ease .35s; }
html.t-anime .px-graphe.is-arme.is-pose .px-achat { transition: left .55s var(--dn-ressort), top .5s var(--dn-ressort), opacity .4s ease .5s; }
html.t-anime .px-graphe.is-change .px-svg { opacity: 0; translate: 0 10px; transition: opacity .2s ease, translate .25s ease; }
html.t-anime .px-graphe.is-change :is(.px-noeud, .px-crochet, .px-achat) { opacity: 0; transition: opacity .15s ease; }
html.t-anime .px-graphe.is-change .px-ancre { clip-path: inset(0 0 100% 0 round 16px); translate: -50% calc(-100% - 6px); transition: clip-path .22s ease, translate .22s ease; }
html.t-anime .px-graphe.is-redessine .px-svg { clip-path: inset(-10% 100% -10% 0); transition: none; }
html.t-anime .px-graphe.is-redessine .px-noeud { scale: 0; transition: none; }
html.t-anime .px-graphe.is-redessine .px-ancre { clip-path: inset(0 0 100% 0 round 16px); transition: none; }
html.t-anime .px-graphe.is-dessine .px-svg { clip-path: inset(-10% 0 -10% 0); transition: clip-path .95s var(--dn-glisse); }
html.t-anime .px-graphe.is-dessine .px-noeud { scale: 1; transition: scale .45s var(--dn-ressort) calc(.25s + var(--x) * 4.4ms); }
html.t-anime .px-graphe.is-dessine .px-ancre { clip-path: inset(0 0 0 0 round 16px); transition: clip-path .45s var(--dn-levee) calc(.35s + var(--x) * 4.4ms), translate .6s var(--dn-ressort) calc(.35s + var(--x) * 4.4ms), top .6s var(--dn-ressort), border-color .3s ease, box-shadow .3s ease, background .3s ease; }

@media (max-width: 899.98px) {
  .px-banc { grid-template-columns: minmax(0, 1fr); }
  .px-graphe-bloc, .px-lecture { border-radius: 26px; }
  .px-lecture { padding: 22px 22px 24px; }
  .px-lecture-ichor { width: 52px; height: 52px; right: 12px; top: 10px; }
  .px-l-prix > b { font-size: clamp(48px, 13vw, 64px); }
}
@media (max-width: 560px) {
  .px-modeles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row; width: 100%; }
  .px-modele { flex-direction: column; justify-content: center; gap: 6px; min-height: 96px; padding: 8px 4px; text-align: center; font-size: 13px; }
  .px-modele small { letter-spacing: .02em; }
  .px-graphe-bloc { padding: 18px 14px 16px; }
  .px-graphe { height: 236px; margin: 76px 0 44px; }
  .px-ancre { min-width: 0; min-height: 48px; padding: 6px 8px; border-radius: 14px; }
  .px-ancre small { font-size: 12px; letter-spacing: 0; }
  .px-ancre b { font-size: 17px; }
  .px-ancre-delai { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .px-grille b { bottom: 3px; }
  .px-crochet b, .px-achat b { font-size: 12px; padding: 4px 7px; }
  .px-bande-v.is-manque small { display: none; }
}

.px-obj-base .p-obj-l b.px-obj-prix { font: 600 20px/1 var(--dn-titre); letter-spacing: -.04em; color: #fff; }
.px-obj-base .p-obj-l--muet b.px-obj-prix { color: var(--dn-argent-4); }

@media (prefers-reduced-motion: reduce) {
  .px-courbe *, .px-courbe { transition: none !important; animation: none !important; }
}

.px-dos-cache { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.px-dos-tete { display: grid; gap: 18px; max-width: 780px; }
.px-dos-dit { max-width: 60ch; }
.px-dos-boite { margin-top: clamp(32px, 4vw, 52px); }
.px-dos-barre { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-bottom: 22px; }
.px-dos-onglets, .px-dos-tailles { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; margin: 0; padding: 0; border: 0; }
.px-dos-onglets { gap: 4px; padding: 5px; border-radius: var(--dn-r-rond); background: #00000059; border: 1px solid #ffffff14; }
.px-dos-onglet, .px-dos-taille { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; transition: color 0.25s var(--dn-levee), background-color 0.25s var(--dn-levee); }
.px-dos-onglet input, .px-dos-taille input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.px-dos-onglet { min-height: 44px; padding: 0 16px; border-radius: var(--dn-r-rond); color: var(--dn-argent-2); font: 700 14px/1 var(--dn-texte); }
.px-dos-onglet b { min-width: 22px; padding: 4px 6px; border-radius: var(--dn-r-rond); background: #ffffff12; font: 700 12px/1 var(--dn-texte); text-align: center; color: var(--dn-argent-1); }
.px-dos-onglet:has(input:checked) { color: var(--dn-charbon); background: var(--dn-argent-massif); box-shadow: inset 0 1px 0 #fff, inset 0 -2px 0 #0000002e, 0 8px 20px -10px #000; }
.px-dos-onglet:has(input:checked) b { background: #0000001f; color: var(--dn-charbon); }
.px-dos-onglet:hover:not(:has(input:checked)) { color: var(--dn-blanc); }
.px-dos-tailles { gap: 6px; }
.px-dos-l { float: left; margin-right: 6px; padding: 0; font: 700 12px/1 var(--dn-texte); letter-spacing: 0.12em; text-transform: uppercase; color: var(--dn-argent-3); }
.px-dos-taille { min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: var(--dn-r-rond); border: 1px solid #ffffff1f; color: var(--dn-argent-2); font: 700 13px/1 var(--dn-texte); }
.px-dos-taille:has(input:checked) { color: var(--dn-blanc); background: #ffffff1a; border-color: #ffffff59; }
.px-dos-taille:hover:not(:has(input:checked)) { color: var(--dn-blanc); border-color: #ffffff38; }
:is(.px-dos-onglet, .px-dos-taille):has(input:focus-visible) { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; }
.px-dos-pro { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 0 auto; font-size: 13px; color: var(--dn-argent-3); }
.px-dos-pro svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.px-dos-pro b { padding: 5px 10px; border-radius: var(--dn-r-rond); border: 1px solid #ffffff1f; font-size: 12px; color: var(--dn-argent-1); }

.px-dos-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 14px; }
.px-dos-annonce { display: grid; align-content: start; gap: 6px; padding: 8px 8px 14px; border-radius: 20px; background: var(--dn-satin-fond); border: 1px solid #ffffff12; box-shadow: inset 0 1px 0 #ffffff0d; animation: px-dos-pose 0.5s var(--dn-levee) both; animation-delay: min(calc(var(--k) * 28ms), 280ms); }
@keyframes px-dos-pose { from { opacity: 0; translate: 0 10px; } }
.px-dos-photo { position: relative; display: block; aspect-ratio: 1; margin-bottom: 6px; overflow: hidden; border-radius: 14px; background: #1a1c20; }
.px-dos-photo img { width: 100%; height: 100%; object-fit: cover; object-position: var(--ox, 50%) var(--oy, 50%); scale: calc(var(--z, 1) * var(--sx, 1)) var(--z, 1); }
.px-dos-statut { position: absolute; top: 8px; left: 8px; padding: 6px 9px; border-radius: var(--dn-r-rond); font: 700 12px/1 var(--dn-texte); font-style: normal; letter-spacing: 0.02em; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.px-dos-statut--parties { background: #0b0c0ecc; color: var(--dn-blanc); box-shadow: inset 0 0 0 1px #ffffff33; }
.px-dos-statut--ligne { background: #f5f6f8e6; color: var(--dn-charbon); }
.px-dos-statut--confirmer { background: #0b0c0ecc; color: var(--dn-argent-2); box-shadow: inset 0 0 0 1px #ffffff26; border: 1px dashed #ffffff40; }
.px-dos-prix { padding-inline: 6px; font: 600 22px/1 var(--dn-titre); letter-spacing: -0.04em; color: var(--dn-blanc); }
.px-dos-sur { padding-inline: 6px; font-size: 13px; line-height: 1.4; color: var(--dn-argent-3); }
.px-dos-sur b { color: var(--dn-argent-1); }
.px-dos-duree { padding-inline: 6px; font-size: 13px; color: var(--dn-argent-2); }
.px-dos-duree b { color: var(--dn-blanc); }
.px-dos-liens { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 4px; padding: 10px 6px 0; border-top: 1px solid #ffffff10; font-size: 12px; font-weight: 700; color: var(--dn-argent-2); }
.px-dos-verif { color: var(--dn-bleui-1); }
.px-dos-demo { margin-top: 20px; }

.px-dos:has([name="px-dos-statut"][value="parties"]:checked) .px-dos-annonce:not([data-statut="parties"]),
.px-dos:has([name="px-dos-statut"][value="ligne"]:checked) .px-dos-annonce:not([data-statut="ligne"]),
.px-dos:has([name="px-dos-statut"][value="confirmer"]:checked) .px-dos-annonce:not([data-statut="confirmer"]),
.px-dos:has([name="px-dos-taille"][value="S"]:checked) .px-dos-annonce:not([data-taille="S"]),
.px-dos:has([name="px-dos-taille"][value="M"]:checked) .px-dos-annonce:not([data-taille="M"]),
.px-dos:has([name="px-dos-taille"][value="L"]:checked) .px-dos-annonce:not([data-taille="L"]),
.px-dos:has([name="px-dos-taille"][value="XL"]:checked) .px-dos-annonce:not([data-taille="XL"]) { display: none; }

@media (max-width: 760px) {
  .px-dos-barre { gap: 12px; }
  .px-dos-onglets { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .px-dos-onglet { flex-direction: column; gap: 4px; min-height: 52px; padding: 6px 2px; font-size: 12px; }
  .px-dos-pro { margin: 0; }
  .px-dos-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .px-dos-prix { font-size: 19px; }
  .px-dos-liens { flex-direction: column; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .px-dos-annonce { animation: none; }
  .px-dos-onglet, .px-dos-taille { transition: none; }
}

.px-graphe--bientot { min-height: 0; }
.px-graphe--bientot .px-noeud { z-index: 1; }
.px-bientot-v { position: absolute; left: calc(var(--x) * 1%); bottom: 10px; translate: -50% 0; font: 700 12px/1 var(--dn-texte); letter-spacing: .1em; text-transform: uppercase; color: var(--dn-argent-3); }
.px-bientot-dit { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 18px 0 0; font-size: 14.5px; line-height: 1.45; color: var(--dn-argent-2); }
.px-bientot-dit > span:last-child { flex: 1 1 220px; }
.px-mini--deux { grid-template-columns: repeat(2, minmax(0, 1fr)); }
