
.heros{position:relative;margin:16px 0 0;padding:72px 56px 64px;min-height:min(72vh,620px);border-radius:20px;
display:flex;align-items:center;overflow:hidden;isolation:isolate;
--nuit:#1c1d22;--nuit-2:#222329;--encre:#edeef0;--pale:#b4b6bf;--doc:#d9dade;--accent-texte:#f7b84b;
--bord-fort:#4a4c56;--bord-survol:#7b7d88;--survol:rgba(255,255,255,.05);--voile-fort:rgba(34,35,41,.94);
--voile-moyen:rgba(34,35,41,.58);--voile-leger:rgba(34,35,41,.38);--mur-opacite:.5;
background:var(--nuit-2);color:var(--encre)}
.heros-texte{position:relative;max-width:640px}
.heros h1{font-size:clamp(38px,6vw,68px);line-height:1.04;letter-spacing:-.03em;font-weight:800;margin:0 0 20px}
.heros .sous{color:var(--doc);font-size:clamp(16px,1.8vw,19px);max-width:560px;margin:0 0 30px}
.heros .boutons{gap:12px}
.stats{display:flex;gap:28px;list-style:none;padding:0;margin:34px 0 0;flex-wrap:wrap;color:var(--pale);font-size:15px}
.stats b{color:var(--encre);font-size:17px}
.mur{position:absolute;inset:0;z-index:-2;display:flex;flex-direction:column;justify-content:center;gap:14px;
opacity:var(--mur-opacite);transform:rotate(-4deg) scale(1.15)}
.mur-rangee{overflow:hidden}
.mur-piste{display:flex;gap:14px;width:max-content;animation:glisse 90s linear infinite}
.mur-rangee.r2 .mur-piste{animation-direction:reverse;animation-duration:110s}
.mur-rangee.r3 .mur-piste{animation-duration:130s}
.mur img{width:168px;height:168px;border-radius:8px;object-fit:cover;flex:none;background:var(--haute)}
@keyframes glisse{to{transform:translateX(-50%)}}
.heros.avec-mur::after{content:"";position:absolute;inset:0;z-index:-1;
background:linear-gradient(90deg,var(--nuit-2) 0,var(--voile-fort) 32%,var(--voile-moyen) 70%,var(--voile-leger) 100%),
linear-gradient(0deg,var(--nuit-2) 0,transparent 22%)}
.rangee .rang{font-variant-numeric:tabular-nums}
.portraits{grid-auto-columns:minmax(132px,150px)}
.carte .calque{position:absolute;left:0;right:0;top:0;aspect-ratio:1;pointer-events:none}
.carte .calque button.ecouter{top:auto;bottom:10px;pointer-events:auto}
.formules{padding-top:56px}
.formules-tete{max-width:640px;margin:0 0 28px}
.formules-tete h2{font-size:clamp(26px,3.6vw,36px);margin-bottom:10px}
.formules-tete p{color:var(--pale);margin:0}
.cadeau{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:24px;
padding:22px 26px;border-radius:12px;border:1px solid var(--bord);background:var(--surface)}
.cadeau h3{margin:0 0 4px;font-size:18px}
.cadeau p{margin:0;color:var(--pale);max-width:560px}
.etapes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.etapes li{padding:24px;border-radius:12px;background:var(--surface);border:1px solid var(--bord)}
.etapes .numero{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;
border:1px solid var(--accent);color:var(--accent);font-weight:700;font-size:15px;margin-bottom:14px}
.etapes h3{margin:0 0 6px;font-size:18px}
.etapes p{margin:0;color:var(--pale)}
.langues a span{background:none;border:0;padding:0}
.final{margin-top:24px;padding:48px 32px;border-radius:16px;border:1px solid var(--bord);background:var(--surface);text-align:center}
.final h2{font-size:clamp(26px,3.6vw,36px)}
.final p{color:var(--pale);margin:0 auto 24px;max-width:540px}
.final .boutons,.final .boutiques{justify-content:center}
@media (max-width:900px){
.etapes{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
.heros{margin:0 -16px;border-radius:0;padding:220px 16px 36px;min-height:0;align-items:flex-end}
.mur{justify-content:flex-start;padding-top:10px;transform:rotate(-4deg) scale(1.1)}
.mur img{width:110px;height:110px}
.heros.avec-mur::after{background:linear-gradient(0deg,var(--nuit-2) 0,var(--voile-fort) 46%,var(--voile-moyen) 72%,var(--voile-leger) 100%)}
.heros h1{font-size:clamp(34px,9.5vw,46px)}
.heros .boutons .bouton{width:100%}
.stats{gap:18px;font-size:14px}
.final{padding:32px 20px}
}
