/* Pages phares (docs/MOUVEMENT.md) : états masqués seulement avec html.js:not(.sans-mouvement) ; on anime transform, opacity et stroke-dash*. */
.entete-page--luxe{border-bottom-color:var(--or);box-shadow:0 6px 24px rgba(0,0,0,.5)}
.entete-page--luxe::after{background:radial-gradient(70% 120% at 18% 50%,rgba(27,18,12,.55),rgba(27,18,12,.88)),linear-gradient(180deg,transparent 60%,rgba(27,18,12,.7))}
.entete-page--luxe .page{padding-block:52px 48px}
.entete-page--luxe h1{text-shadow:none;font-size:clamp(2.2rem,5.5vw,3.4rem)}
/* Filet des titres de section et frise d'étapes */
.frise{position:relative;list-style:none;margin-inline:0;margin-bottom:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.frise::before{content:'';position:absolute;top:24px;left:16%;right:16%;height:2px;background:linear-gradient(90deg,transparent,var(--or) 12%,var(--or) 88%,transparent);box-shadow:0 0 10px rgba(226,176,74,.5)}
.frise__etape{position:relative;text-align:center}
.frise__rond{position:relative;z-index:1;display:grid;place-items:center;width:50px;height:50px;margin:0 auto 10px;border-radius:50%;border:3px solid var(--or);background:radial-gradient(circle at 35% 30%,#6c4626,#2a1b11);color:var(--or-clair);font-family:var(--police-titre);font-size:1.5rem;font-weight:700;box-shadow:0 0 0 5px rgba(226,176,74,.16),0 5px 12px rgba(0,0,0,.55)}
.frise__etape--active .frise__rond{background:linear-gradient(180deg,#f6a03f,var(--orange-fonce));color:var(--creme)}
.frise__titre{margin:0 0 4px;color:var(--or-clair);font-size:1.25rem}
.frise__texte{margin:0 auto;max-width:32ch;font-size:.95rem;color:var(--texte-sombre)}
.frise--images .frise__etape{padding:0 0 16px;border:3px solid var(--bois);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#3a2616,#241810);box-shadow:var(--ombre),inset 0 0 0 1px var(--filet)}
.frise--images .frise__rond{position:absolute;top:10px;left:10px;margin:0;z-index:2}
.frise__image{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;margin-bottom:12px;border-bottom:3px solid var(--bois)}
.frise--images .frise__texte{padding-inline:14px}
.offres,.paquets{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));padding-top:16px}
.offres>li,.paquets>li{display:flex}
.offre,.paquet{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:34px 18px 22px;border:3px solid var(--bois);border-radius:14px;color:var(--encre);background:radial-gradient(120% 70% at 50% 0,#fff7de,var(--parchemin) 55%,var(--parchemin-3));box-shadow:var(--ombre),inset 0 0 0 2px var(--filet),inset 0 0 44px rgba(184,138,85,.28)}
.offre--vedette{border-color:var(--or);transform:scale(1.035);z-index:1;box-shadow:0 14px 34px rgba(0,0,0,.6),0 0 40px rgba(226,176,74,.28),inset 0 0 0 2px var(--or-clair)}
.sceau-coin{position:absolute;top:-16px;left:-12px;width:56px;height:56px;rotate:-10deg;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))}
.ruban{position:absolute;z-index:3;top:-15px;left:50%;translate:-50% 0;width:158px;height:34px;color:var(--rouge-fonce);filter:drop-shadow(0 3px 3px rgba(0,0,0,.5))}
.ruban svg{position:absolute;inset:0;width:100%;height:100%}
.ruban span{position:relative;display:block;line-height:34px;color:var(--creme);font-family:var(--police-titre);font-size:.95rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.offre__duree{display:grid;place-content:center;width:86px;height:86px;border-radius:50%;border:3px solid var(--or);background:radial-gradient(circle at 35% 28%,#6c4626,#2a1b11);box-shadow:0 0 0 4px rgba(184,138,85,.35),0 6px 12px rgba(60,30,5,.4);color:var(--or-clair);line-height:1}
.offre__duree strong{font-family:var(--police-titre);font-size:2.1rem}
.offre__duree span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texte-sombre)}
.offre__titre,.paquet__titre{margin:4px 0 0;color:var(--bois);font-size:1.3rem}
.offre__prix{margin:0;font-family:var(--police-titre);font-size:2.7rem;font-weight:700;line-height:1.1;color:var(--orange-fonce);text-shadow:0 2px 0 rgba(255,255,255,.6)}
.offre__detail{margin:0;font-size:.92rem;color:var(--encre-douce)}
.avantages{list-style:none;margin:6px 0 12px;padding:10px 0 0;display:grid;gap:7px;width:100%;text-align:left;font-size:.93rem;border-top:1px dashed var(--filet)}
.avantages li{display:flex;align-items:center;gap:8px}
.avantages img{flex:none}
.offre .bouton,.paquet .bouton{margin-top:auto}
.paquet{padding-top:26px}
.paquet__bonus{position:absolute;top:12px;right:10px;rotate:5deg;padding:2px 11px;border-radius:999px;border:2px solid #1f4f0f;background:linear-gradient(180deg,#7ccc54,var(--vert-fonce));color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.03em;box-shadow:0 2px 5px rgba(0,0,0,.35)}
.pieces{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;width:100%;height:196px;filter:drop-shadow(0 6px 5px rgba(60,30,5,.4))}
.pieces img{width:64px;height:64px;margin-block:-16px}
.pieces img:nth-child(even){translate:6px 0}
.paquet__nombre{margin:0;line-height:1.1}
.paquet__nombre strong{font-family:var(--police-titre);font-size:2.3rem;color:var(--bois)}
.paquet__nombre span{font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:var(--encre-douce)}
.confiance{list-style:none;margin-inline:0;margin-bottom:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.confiance li{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--bois);border-radius:10px;background:linear-gradient(180deg,rgba(58,38,22,.85),rgba(36,24,16,.9));box-shadow:inset 0 1px 0 rgba(226,176,74,.35)}
.confiance img{flex:none}
.confiance strong{color:var(--or-clair)}
.commande{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;max-width:980px;align-items:start}
.recap__corps{position:relative;text-align:center}
.recap .sceau-coin{top:-6px;left:-6px}
.recap__visuel{display:grid;place-items:center;min-height:100px;margin-bottom:6px}
.recap__titre{margin:8px 0 12px;color:var(--bois);font-size:1.5rem}
.recap__liste{margin:0;display:grid;gap:4px;text-align:left}
.recap__liste div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px dashed var(--filet)}
.recap__liste dt{color:var(--encre-douce);} .recap__liste dd { margin:0;font-weight:700;text-align:right}
.recap__prix{font-family:var(--police-titre);font-size:2.1rem;color:var(--orange-fonce)}
.bouton--payer{width:100%;margin:6px 0 10px;background:linear-gradient(180deg,var(--or-clair),var(--or) 55%,#b57a18);color:var(--encre);border-color:#8a5a12}
.panneau .bouton--payer,.panneau .bouton--payer:hover{color:var(--encre)}
.lueur-survol{transition:box-shadow .2s ease}
.lueur-survol:hover{box-shadow:0 0 0 2px var(--or),0 10px 24px rgba(0,0,0,.5),0 0 24px rgba(226,176,74,.35)}
.jauge{position:relative;margin:0;width:176px;aspect-ratio:1;display:grid;place-items:center;text-align:center}
.jauge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.jauge__fond{fill:none;stroke:rgba(184,138,85,.3);stroke-width:10}
.jauge__val{fill:none;stroke:var(--or);stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(226,176,74,.6));transition:stroke-dasharray 1.7s cubic-bezier(.2,.7,.2,1)}
.jauge figcaption{position:relative;display:grid;gap:1px;padding:0 26px;line-height:1.15}
.jauge strong{font-family:var(--police-titre);font-size:1.9rem;color:var(--or-clair)}
.jauge span{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--texte-sombre)}
.jauge em{font-size:.72rem;font-style:normal;color:var(--filet)}
.panneau .jauge strong{color:var(--bois);} .panneau .jauge span { color:var(--encre-douce)}
html.js:not(.sans-mouvement) .jauge:not(.est-visible) .jauge__val{stroke-dasharray:0 100}
.barre-svg{display:block;width:100%;height:10px}
.barre-svg__fond{fill:rgba(91,58,31,.25)}
.barre-svg__val{fill:var(--orange);transform-box:fill-box;transform-origin:0 50%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
html.js:not(.sans-mouvement) [data-phare]:not(.est-visible) .barre-svg__val{transform:scaleX(0)}
.courbe__ligne{transition:stroke-dashoffset 2.2s cubic-bezier(.3,.6,.2,1)}
.courbe__aire{transition:opacity 1.4s ease .8s}
.courbe__point{fill:#fff4de;stroke:#c9660f;stroke-width:2;opacity:0;transition:opacity .15s}
.courbe__point:hover{opacity:1}
html.js:not(.sans-mouvement) .courbe:not(.est-visible) .courbe__ligne{stroke-dashoffset:100}
html.js:not(.sans-mouvement) .courbe:not(.est-visible) .courbe__aire{opacity:0}
.site-vote .carte__corps{display:flex;flex-direction:column;text-align:center}
.site-vote__logo{order:-2;margin:0 0 10px;padding:12px 10px;border:2px solid var(--or);border-radius:8px;background:linear-gradient(180deg,#3a2616,#241810);color:var(--or-clair) !important;font-size:1.55rem;letter-spacing:.08em;text-shadow:0 2px 3px rgba(0,0,0,.7);box-shadow:inset 0 1px 0 rgba(226,176,74,.4)}
.site-vote__etat{order:-1;align-self:center;margin-bottom:8px;padding:1px 12px;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.site-vote__etat--pret{background:#dcefd0;color:#1f4f0f;border:1px solid var(--vert)}
.site-vote__etat--attente{background:var(--parchemin-3);color:var(--bois);border:1px solid var(--filet)}
.palier-ciel{margin:16px 0 20px}
.palier__barre svg{display:block;width:100%;height:auto;overflow:visible}
.palier__rail{fill:#d8c79e;stroke:var(--bois);stroke-width:2}
.palier__plein{transform-box:fill-box;transform-origin:0 50%;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.palier__etoile{fill:#cdb98a;stroke:var(--bois);stroke-width:.8;transform-box:fill-box;transform-origin:center}
.palier__etoile--atteinte{fill:var(--or);filter:drop-shadow(0 0 4px rgba(226,176,74,.9));transition:transform .5s cubic-bezier(.3,1.6,.5,1) 1.2s}
html.js:not(.sans-mouvement) .palier__barre:not(.est-pleine) .palier__plein{transform:scaleX(0)}
html.js:not(.sans-mouvement) .palier__barre:not(.est-pleine) .palier__etoile--atteinte{transform:scale(0)}
.rebours{display:flex;align-items:center;gap:20px}
.rebours .jauge{flex:none;width:112px}
.rebours .jauge strong{font-size:1.6rem}
.rebours .vote-mois-info{margin:0}
.podium--luxe{gap:12px;margin-block:22px 26px}
.podium--luxe .podium__carte{--metal:var(--filet);--metal-clair:#e9dcc0;position:relative;padding:14px 8px 0;gap:5px;border-width:3px 3px 0;border-radius:14px 14px 0 0;overflow:visible}
.podium--luxe .podium__carte--or{--metal:var(--or);--metal-clair:var(--or-clair);padding-top:22px}
.podium--luxe .podium__carte--argent{--metal:#8e97a0;--metal-clair:#e3e7ea}
.podium--luxe .podium__carte--bronze{--metal:#a0602b;--metal-clair:#e2b88e}
.podium__laurier{display:block;width:132px;height:auto;margin:-2px 0 -16px;filter:drop-shadow(0 2px 2px rgba(91,58,31,.5))}
.couronne{display:block;width:46px;height:auto}
.podium__couronne{color:var(--metal);filter:drop-shadow(0 2px 2px rgba(60,30,5,.45));line-height:0}
.podium__couronne--argent{color:#aeb6bd;} .podium__couronne--bronze { color:#b8702f;} .podium__couronne--or { color:#d9a233}
.podium__medaillon{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;border:3px solid var(--metal);background:radial-gradient(circle at 35% 28%,#fffbe9,var(--parchemin-3));box-shadow:0 4px 8px rgba(60,30,5,.35)}
.podium--luxe .socle,.marche .socle{display:grid;place-items:center;width:calc(100% + 6px);margin:8px -3px 0;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--metal-clair),var(--metal));box-shadow:inset 0 3px 0 rgba(255,255,255,.55),inset 0 -14px 20px rgba(0,0,0,.2)}
.socle--or{height:100px;} .socle--argent { height:70px;} .socle--bronze { height:50px}
.podium--luxe .podium__numero,.marche__rang{position:static;width:auto;min-width:0;height:auto;background:none;font-family:var(--police-titre);font-size:2.1rem;line-height:1;color:rgba(43,27,16,.6);text-shadow:0 1px 0 rgba(255,255,255,.5)}
.orbe-zone{padding:28px 16px 24px;text-align:center;border:3px solid var(--bois);border-radius:16px;background:radial-gradient(70% 90% at 50% 0,rgba(226,176,74,.17),transparent 65%),linear-gradient(180deg,#33200f,#1d130b);box-shadow:var(--ombre),inset 0 0 0 1px var(--filet)}
.orbe-ligne{display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:center}
.orbe{--pulse-couleur:var(--vert);--c1:#d4f7ae;--c2:#58a33b;--c3:#1d4710;--halo:rgba(88,163,59,.6);position:relative;width:230px;height:230px;display:grid;place-items:center}
.orbe--ko{--pulse-couleur:var(--rouge);--c1:#ffc9b9;--c2:#c9452b;--c3:#5c1608;--halo:rgba(201,69,43,.6)}
.orbe__halo,.orbe__disque{position:absolute;inset:16px;border-radius:50%}
.orbe__disque{background:radial-gradient(circle at 35% 28%,var(--c1),var(--c2) 45%,var(--c3));box-shadow:0 0 46px var(--halo),inset 0 -16px 32px rgba(0,0,0,.38),inset 0 12px 20px rgba(255,255,255,.25);animation:respire 4.2s ease-in-out infinite}
.orbe__texte{position:relative;z-index:2;margin:0;display:grid;gap:8px;justify-items:center;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.8)}
.orbe__texte .badge{font-size:1rem;padding:3px 16px;text-shadow:none}
.orbe__version{font-size:.92rem}
@keyframes respire { 50% { transform: scale(1.05); filter: brightness(1.12); } }
.leds{list-style:none;margin:0;padding:0}
.leds--gauche{justify-self:end;} .leds--droite { justify-self:start}
.led{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--creme);text-align:center}
.led__point{width:24px;height:24px}
.led--ok .led__point{background:#8fe168;box-shadow:0 0 0 4px rgba(88,163,59,.3),0 0 18px 5px rgba(127,211,90,.75);animation:led 2.6s ease-in-out infinite}
.led--ko .led__point{background:#e8553a;box-shadow:0 0 0 4px rgba(201,69,43,.3),0 0 18px 5px rgba(232,85,58,.7)}
@keyframes led { 50% { opacity: .7; } }
.anneaux{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 44px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(184,138,85,.35)}
.barres-classes .barre{margin:0}
.podium-classement{list-style:none;margin-inline:0;margin-bottom:0;padding:18px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.marche{--metal:var(--filet);--metal-clair:#e9dcc0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px 0;text-align:center;border:2px solid var(--metal);border-bottom:0;border-radius:14px 14px 0 0;background:linear-gradient(180deg,rgba(74,47,25,.92),rgba(36,24,16,.96));box-shadow:0 -4px 22px rgba(0,0,0,.35)}
.marche:nth-child(1){order:2;--metal:var(--or);--metal-clair:var(--or-clair);padding-top:22px;box-shadow:0 -6px 30px rgba(226,176,74,.28)}
.marche:nth-child(2){order:1;--metal:#9aa3ab;--metal-clair:#e3e7ea}
.marche:nth-child(3){order:3;--metal:#b8702f;--metal-clair:#e2b88e}
.marche__couronne{line-height:0;color:var(--metal);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
.portrait{position:relative;display:inline-block;width:84px;height:84px}
.portrait img{position:absolute;display:block}
.portrait__fond{inset:0;width:100%;height:100%;border-radius:50%;border:3px solid var(--metal);box-shadow:0 4px 10px rgba(0,0,0,.5),0 0 16px rgba(226,176,74,.2)}
.portrait__classe{inset:12%;width:76%;height:76%}
.portrait--icone{display:grid;place-items:center;border-radius:50%;border:3px solid var(--metal);background:radial-gradient(circle at 35% 28%,#6c4626,#2a1b11)}
.portrait--icone img{position:static}
.marche__nom{max-width:100%;font-family:var(--police-titre);font-size:1.3rem;color:var(--creme);overflow-wrap:anywhere}
.marche__nom a{color:var(--creme);text-decoration:none;} .marche__nom a:hover { color:var(--or-clair)}
.marche__sous{font-size:.85rem;color:var(--texte-sombre)}
.marche__valeur{font-family:var(--police-titre);font-size:2.6rem;font-weight:700;line-height:1;color:var(--metal-clair);text-shadow:0 0 18px rgba(226,176,74,.35),0 2px 3px rgba(0,0,0,.6)}
.marche__xp{display:block;width:70%;margin-top:2px}
.marche__xp .barre-svg__fond{fill:rgba(255,244,222,.16);} .marche__xp .barre-svg__val { fill:var(--metal)}
.marche:nth-child(1) .socle{height:64px;} .marche:nth-child(2) .socle { height:44px;} .marche:nth-child(3) .socle { height:32px}
.classement-zone>.onglets-nav{position:sticky;top:64px;z-index:30;padding-top:6px;background:linear-gradient(180deg,var(--fond-haut) 78%,transparent)}
.tableau tbody tr.rang-1{background:linear-gradient(90deg,rgba(226,176,74,.5),rgba(226,176,74,.1))}
.tableau tbody tr.rang-2{background:linear-gradient(90deg,rgba(154,163,171,.45),rgba(154,163,171,.08))}
.tableau tbody tr.rang-3{background:linear-gradient(90deg,rgba(184,112,47,.38),rgba(184,112,47,.08))}
.tableau tbody tr.rang-1 th,.tableau tbody tr.rang-2 th,.tableau tbody tr.rang-3 th{font-family:var(--police-titre);font-size:1.3rem}
.tableau tbody tr.rang-1 th{color:#a06d08;} .tableau tbody tr.rang-2 th { color:#5f6a74;} .tableau tbody tr.rang-3 th { color:#8c4f1a}
.recherche-or:focus-within .panneau{box-shadow:0 0 0 3px rgba(226,176,74,.6),0 0 36px rgba(226,176,74,.4)}
.bibliotheque{list-style:none;margin-inline:0;margin-bottom:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px}
.bibliotheque>li{display:flex}
.grimoire{position:relative;flex:1;display:flex;min-height:400px;border-radius:6px 14px 14px 6px;color:var(--creme);text-decoration:none;box-shadow:0 16px 30px rgba(0,0,0,.55),0 2px 0 rgba(255,255,255,.05) inset}
.grimoire__dos{flex:0 0 28px;border-radius:6px 0 0 6px;border:3px solid #24160a;border-right:2px solid var(--or);background:linear-gradient(90deg,#2b1a0c,#6b4423 45%,#3a2412);box-shadow:inset -4px 0 8px rgba(0,0,0,.5)}
.grimoire__couverture{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 14px 18px;text-align:center;border:3px solid #24160a;border-left:0;border-radius:0 14px 14px 0;background:linear-gradient(135deg,#774b26,#4d2f17 60%,#3a2412);box-shadow:inset 0 0 0 2px rgba(226,176,74,.6),inset 0 0 28px rgba(0,0,0,.4)}
.grimoire__medaillon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:3px solid var(--or);background:radial-gradient(circle at 35% 28%,#5a3a1f,#1d130b);box-shadow:0 4px 8px rgba(0,0,0,.5),inset 0 0 0 2px rgba(0,0,0,.3)}
.grimoire__titre{font-family:var(--police-titre);font-size:1.75rem;letter-spacing:.07em;line-height:1.1}
.grimoire__apercu{display:flex;justify-content:center;align-items:center;gap:4px;width:100%;min-height:86px;background:radial-gradient(closest-side,rgba(255,244,222,.16),transparent)}
.grimoire__apercu img{height:72px;width:72px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.55))}
.grimoire__apercu--3 img{height:58px;width:58px}
.grimoire__apercu img[src$='.jpg']{width:120px;height:76px;object-fit:cover;border:2px solid var(--or);border-radius:8px}
.grimoire__texte{font-size:.92rem;color:var(--texte-sombre)}
.grimoire__nombre{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--texte-sombre)}
.grimoire__nombre b{display:block;font-family:var(--police-titre);font-size:1.7rem;letter-spacing:0;color:var(--or-clair);text-shadow:0 2px 3px rgba(0,0,0,.6)}
.grimoire__lien{margin-top:auto;padding:3px 18px;border:2px solid var(--or);border-radius:999px;font-weight:700;color:var(--or-clair);transition:background .2s,color .2s}
.grimoire:hover .grimoire__lien,.grimoire:focus-visible .grimoire__lien{background:var(--or);color:var(--encre)}
.classe-carte{position:relative;height:100%;display:flex;flex-direction:column;text-align:center;padding:0 12px 16px;overflow:hidden;border:3px solid var(--bois);border-radius:12px;color:var(--encre);background:var(--parchemin);box-shadow:var(--ombre),inset 0 0 0 1px var(--filet)}
.classe-carte__figure{position:relative;display:block;height:236px;margin:0 -12px 10px;overflow:hidden;background:linear-gradient(180deg,#3a2616,#241810);border-bottom:3px solid var(--bois)}
.classe-carte__fond{position:absolute;left:50%;top:34px;width:170px;height:170px;translate:-50% 0;border-radius:50%;box-shadow:0 0 0 3px var(--or),0 0 30px rgba(226,176,74,.3)}
.classe-carte__pied{position:absolute;left:50%;bottom:0;width:auto;height:218px;translate:-50% 0;transition:transform .4s ease;transform-origin:bottom center}
.classe-carte:hover .classe-carte__pied{transform:scale(1.06)}
.classe-carte__titre{margin:0 0 4px;font-size:1.4rem;} .classe-carte__titre a { text-decoration:none}
.classe-carte__texte{flex:1;margin:0 0 8px;font-size:.93rem;color:var(--encre-douce)}
.telecharger-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center;padding-block:8px}
.telecharger-hero__os{margin:0 0 6px;font-size:.88rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--or-clair)}
.telecharger-hero__version{margin:0 0 8px;font-family:var(--police-titre);font-size:clamp(1.8rem,4vw,2.5rem);color:var(--creme)}
.telecharger-hero__action{margin:22px 0 14px}
.cta-cadre{display:inline-block;padding:7px;border-radius:16px;box-shadow:0 0 36px rgba(226,176,74,.28)}
.apercu-lanceur{margin:0}
.apercu-lanceur__cadre{position:relative;overflow:hidden;border:4px solid var(--bois);border-radius:14px;background:#120b07;box-shadow:0 26px 50px rgba(0,0,0,.65),0 0 0 2px var(--or);transform:perspective(1100px) rotateY(-9deg) rotateX(3deg)}
.apercu-lanceur__cadre img{display:block;width:100%}
.apercu-lanceur__reflet{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.2),transparent 34%,transparent 70%,rgba(226,176,74,.15))}
.requis{list-style:none;margin-inline:0;margin-bottom:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.duo{display:grid;grid-template-columns:minmax(0,760px) 340px;justify-content:center;gap:40px;align-items:start}
.duo:has(.page-etroite){grid-template-columns:minmax(0,520px) 340px;align-items:center}
.duo>.page-formulaire{width:min(760px,100%);margin:0}
.duo>.page-formulaire.page-etroite{width:min(520px,100%)}
.duo .panneau{box-shadow:var(--ombre),0 0 0 2px var(--filet),0 0 40px rgba(226,176,74,.16)}
.duo .champ:focus-within label{color:var(--orange-fonce)}
.duo .champ input:focus,.duo .champ select:focus{border-color:var(--or);outline:0;box-shadow:0 0 0 3px rgba(226,176,74,.45),0 0 20px rgba(226,176,74,.4)}
.duo__art{position:sticky;top:96px;height:470px}
.duo:has(.page-etroite) .duo__art{position:relative;top:0}
.duo__rond{position:absolute;left:50%;bottom:36px;width:290px;height:290px;translate:-50% 0;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--or),0 0 56px rgba(226,176,74,.35)}
.duo__fond{display:block;width:100%;height:100%}
.duo__classe{position:absolute;left:50%;bottom:14px;width:auto;height:440px;margin-left:-165px;filter:drop-shadow(0 12px 10px rgba(0,0,0,.5))}
@media (max-width: 1000px) {
  .bibliotheque{grid-template-columns:repeat(2,minmax(0,1fr))}
  .telecharger-hero{grid-template-columns:1fr;gap:28px}
  .requis,.confiance{grid-template-columns:1fr}
  .commande{grid-template-columns:1fr}
}
@media (max-width: 960px) {
  .duo{grid-template-columns:minmax(0,1fr)}
  .duo__art{display:none}
  .orbe-ligne{grid-template-columns:1fr 1fr;gap:14px}
  .orbe{grid-column:1 / -1;order:-1;margin-inline:auto}
  .leds--gauche,.leds--droite{justify-self:center}
}
@media (max-width: 640px) {
  .bibliotheque{grid-template-columns:1fr}
  .grimoire{min-height:0}
  .podium--luxe .socle--or,.podium--luxe .socle--argent,.podium--luxe .socle--bronze{height:34px}
  .podium--luxe .podium__numero{font-size:1.6rem}
  .podium-classement{grid-template-columns:1fr}
  .marche:nth-child(n){order:0}
  .marche:nth-child(n) .socle{height:30px}
  .rebours{flex-direction:column;text-align:center}
  .offre--vedette{transform:none}
  .entete-page--luxe .page{padding-block:34px 30px}
  .jauge{width:132px}
  .orbe{width:200px;height:200px}
  .classement-zone>.onglets-nav{top:60px}
}
html.sans-mouvement .orbe__disque,html.sans-mouvement .led__point{animation:none}
html.sans-mouvement .jauge__val,html.sans-mouvement .barre-svg__val,html.sans-mouvement .courbe__ligne,html.sans-mouvement .courbe__aire,
html.sans-mouvement .palier__plein,html.sans-mouvement .palier__etoile{transition:none}
@media (prefers-reduced-motion: reduce) {
  .apercu-lanceur__cadre{transform:none}
}
.offre .aide a,.paquet .aide a{color:var(--lien)}
.offre--vedette .sceau-coin{left:auto;right:-12px;rotate:10deg}
.grimoire__apercu img[src*='/illustrations/']{width:118px;height:118px;margin-block:-16px}
.telecharger-hero .aide,.deux-colonnes + .aide{color:var(--texte-sombre)}
.classe-carte__titre,.classe-carte__titre a{color:var(--bois)}
@media (max-width:640px){.frise{gap:8px}.frise__titre{font-size:.98rem}.frise__texte{font-size:.8rem}.frise--images{grid-template-columns:1fr}.frise--images::before{display:none}}
.requis li{display:flex;gap:12px;padding:10px}
.marche__libelle{font-size:.74rem;text-transform:uppercase;color:var(--filet)}
.podium--luxe .podium__carte--or:only-child{grid-column:2}
.recap .pieces{height:112px}
