@font-face{font-family:"DM Sans";src:url(fonts/dmsans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-italic.woff2) format("woff2");font-style:italic;font-display:swap}
:root{
  --bg:#12072b;--bg2:#1f0c4a;--ink:#f6f2ff;--muted:#c9bfe6;--accent:#b18cff;--accent2:#7c3aed;
  --line:rgba(255,255,255,.14);--card:rgba(255,255,255,.05);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);
  background-image:radial-gradient(1200px 700px at 80% -10%,#3b1a8a 0,transparent 60%),radial-gradient(900px 600px at -10% 110%,#2a1166 0,transparent 55%);
  min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:.2px}
.brand img{width:44px;height:44px;border-radius:12px}
.brand b{color:var(--accent)}
.lang{border:1px solid var(--line);background:transparent;color:var(--ink);font:600 13px "DM Sans",sans-serif;padding:8px 14px;border-radius:999px;cursor:pointer}
.lang:hover{border-color:var(--accent)}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:56px 0 72px}
.badge{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:7px 14px;border-radius:999px}
.dot{width:8px;height:8px;border-radius:50%;background:#ff5577;box-shadow:0 0 0 0 rgba(255,85,119,.7);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,85,119,0)}100%{box-shadow:0 0 0 0 rgba(255,85,119,0)}}
h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(56px,9vw,112px);line-height:.95;margin:22px 0 10px;letter-spacing:-.01em}
h1 em{font-style:normal;color:var(--accent)}
.tag{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:clamp(24px,3vw,32px);color:var(--accent);margin-bottom:20px}
.lead{font-size:clamp(17px,1.6vw,19px);color:var(--muted);max-width:34em;margin-bottom:32px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:16px;padding:15px 26px;border-radius:999px;border:1px solid var(--ink);transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--ink);color:#1a0b3d}
.btn.ghost{color:var(--ink)}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.btn.off{opacity:.5;border-color:var(--line);cursor:not-allowed}
.where{margin-top:26px;font-size:14px;color:var(--muted)}
.art{position:relative;display:grid;place-items:center;aspect-ratio:1}
.art::before,.art::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--line)}
.art::after{inset:12%}
.art img{width:72%;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:22%;box-shadow:0 30px 80px rgba(124,58,237,.45);position:relative}
.bars{position:absolute;bottom:4%;display:flex;gap:5px;align-items:flex-end;height:34px}
.bars i{width:5px;background:var(--accent);border-radius:3px;animation:eq 1.2s ease-in-out infinite}
.bars i:nth-child(2){animation-delay:.2s}.bars i:nth-child(3){animation-delay:.4s}.bars i:nth-child(4){animation-delay:.1s}.bars i:nth-child(5){animation-delay:.3s}
@keyframes eq{0%,100%{height:20%}50%{height:100%}}
@media (prefers-reduced-motion:reduce){.dot,.bars i{animation:none}.bars i{height:60%}}
section.how{padding:24px 0 80px}
h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(36px,5vw,52px);margin-bottom:28px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;counter-reset:s}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px 22px;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-family:"Instrument Serif",Georgia,serif;font-size:34px;color:var(--accent);margin-bottom:10px}
.steps strong{display:block;margin-bottom:6px;font-size:17px}
.steps p{color:var(--muted);font-size:15px}
footer{border-top:1px solid var(--line);padding:28px 0 40px;font-size:14px;color:var(--muted)}
footer .row{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between}
footer a{text-decoration:none;border-bottom:1px solid var(--line)}
footer a:hover{color:var(--ink);border-color:var(--accent)}
.ai{margin-top:12px;font-size:13px;opacity:.85}
[data-l="en"]{display:none}
html[lang="en"] [data-l="fr"]{display:none}
html[lang="en"] [data-l="en"]{display:revert}
@media (max-width:900px){.hero{grid-template-columns:1fr;padding-top:24px;gap:32px}.art{max-width:360px;margin:0 auto;order:-1}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.wrap{padding:0 16px}.steps{grid-template-columns:1fr}.btn{width:100%;justify-content:center}}
/* Lecteur */
.player{margin-top:8px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:18px;display:flex;align-items:center;gap:18px;max-width:560px}
.play{flex:none;width:64px;height:64px;border-radius:50%;border:0;background:var(--ink);color:#1a0b3d;cursor:pointer;display:grid;place-items:center;transition:transform .15s}
.play:hover{transform:scale(1.05)}
.play svg{width:26px;height:26px}
.play .i-pause{display:none}
.playing .play .i-play{display:none}
.playing .play .i-pause{display:block}
.np{min-width:0;flex:1}
.np small{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.np .t{font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.np .c{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cover{flex:none;width:64px;height:64px;border-radius:14px;object-fit:cover;background:var(--bg2)}
.skip{flex:none;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;width:42px;height:42px;cursor:pointer;display:grid;place-items:center}
.skip:hover{border-color:var(--accent)}
.skip svg{width:18px;height:18px}
.vol{display:flex;align-items:center;gap:10px;margin-top:12px;max-width:560px;font-size:13px;color:var(--muted)}
.vol input{flex:1;accent-color:var(--accent)}
.art .bars{opacity:0;transition:opacity .3s}
.playing .art .bars{opacity:1}
.bars i{animation-play-state:paused}
.playing .bars i{animation-play-state:running}
/* Pages légales */
.legal{max-width:760px;padding:24px 0 80px}
.legal h1{font-size:clamp(40px,6vw,64px);margin:16px 0 8px}
.legal h3{font-family:"DM Sans",sans-serif;font-size:19px;margin:32px 0 10px;color:var(--ink)}
.legal p,.legal li{color:var(--muted);margin-bottom:10px}
.legal ul{padding-left:22px}
.legal strong{color:var(--ink)}
.legal em{color:var(--muted)}
.legal table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:15px}
.legal th,.legal td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;color:var(--muted)}
.legal th{color:var(--ink);background:var(--card)}
.tablewrap{overflow-x:auto}
.back{display:inline-block;margin-top:8px;font-size:14px;color:var(--muted)}
@media (max-width:560px){.player{flex-wrap:wrap}.np{flex-basis:calc(100% - 90px)}.cover{display:none}}
/* Lecteur YouTube (chargé seulement au clic) */
.ytbox{position:relative;width:100%;max-width:560px;aspect-ratio:16/9;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#2a1166,#12072b);margin-top:8px}
.ytbox #yt,.ytbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ytstart{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:0;background:transparent;color:var(--ink);cursor:pointer;font:inherit;padding:20px;text-align:center}
.ytstart .ytlabel{font-weight:700;font-size:18px}
.ytstart small{font-size:12px;color:var(--muted);max-width:30em}
.ytbox.on .ytstart{display:none}
.ytbox .play{width:72px;height:72px}
.np{margin-top:14px;max-width:560px}
.yt-link{margin-top:10px;font-size:14px}
.yt-link a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}
.yt-link a:hover{color:var(--ink)}
