/* Page d'accueil publique — identité de la suite (noir profond + or), mise en page inspirée
   du studio voix et démonstration animée inspirée des démonstrations de la suite. Aucune ressource externe. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--jl-bg,#0a0a0f);color:var(--jl-text,#f0ece4);font-family:var(--jl-font-body,system-ui,sans-serif);line-height:1.6;overflow-x:hidden}
h1,h2,h3,.brand{font-family:var(--jl-font-display,'Syne',system-ui,sans-serif);letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit}
.shell{max-width:1160px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.cache{display:none!important}
.skip{position:absolute;left:-9999px;top:0;background:var(--jl-accent,#d4a853);color:var(--jl-accent-on,#0a0a0f);padding:10px 16px;border-radius:0 0 10px 0;z-index:100}
.skip:focus{left:0}
.dot{width:7px;height:7px;border-radius:50%;background:var(--jl-accent,#d4a853);box-shadow:0 0 10px var(--jl-accent,#d4a853);flex:0 0 auto}

/* ── En-tête ── */
.site-head{position:sticky;top:0;z-index:40;background:rgba(10,10,15,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--jl-border,rgba(255,255,255,.07))}
.site-head__in{display:flex;align-items:center;gap:24px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:20px}
.brand__mark{width:30px;height:30px;border-radius:9px;background:var(--jl-accent,#d4a853);color:var(--jl-accent-on,#0a0a0f);display:grid;place-items:center;font-family:var(--jl-font-display,system-ui,sans-serif);font-size:17px;font-weight:800}
.brand__mark::before{content:"J"}
.brand__accent{color:var(--jl-accent,#d4a853)}
.site-nav{display:flex;gap:26px;margin-left:auto;font-size:14px}
.site-nav a{color:var(--jl-text-muted,#c8c4bc);text-decoration:none;transition:color .2s}
.site-nav a:hover{color:var(--jl-accent,#d4a853)}
.site-actions{display:flex;align-items:center;gap:10px}
.langues{display:flex;gap:4px}
.langues button{min-height:32px;padding:2px 9px;border-radius:999px;border:1px solid var(--jl-border,rgba(255,255,255,.07));background:transparent;color:var(--jl-text-muted,#c8c4bc);font-size:12px;cursor:pointer}
.langues button[aria-pressed="true"]{border-color:var(--jl-accent,#d4a853);color:var(--jl-accent,#d4a853)}
@media(max-width:860px){.site-nav{display:none}.site-head__in{justify-content:space-between}}

/* ── Boutons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--jl-accent,#d4a853);color:var(--jl-accent-on,#0a0a0f);box-shadow:0 10px 30px rgba(212,168,83,.22)}
.btn--primary:hover{background:var(--jl-accent-hover,#e8c278)}
.btn--ghost{border-color:var(--jl-border-strong,rgba(255,255,255,.15));color:var(--jl-text,#f0ece4);background:transparent}
.btn--ghost:hover{border-color:var(--jl-accent,#d4a853);color:var(--jl-accent,#d4a853)}
.btn--sm{min-height:36px;padding:6px 14px;font-size:13px}

/* ── Héros ── */
.hero{position:relative;overflow:hidden;padding:clamp(56px,9vw,104px) 0 clamp(48px,7vw,80px)}
.hero__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 22% 10%,rgba(212,168,83,.14),transparent 65%),radial-gradient(ellipse 45% 45% at 88% 45%,rgba(212,168,83,.05),transparent 60%);animation:glow 9s ease-in-out infinite alternate}
.hero__glow::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(212,168,83,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(212,168,83,.035) 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(ellipse 70% 70% at 50% 45%,#000 25%,transparent 100%)}
@keyframes glow{from{opacity:.7}to{opacity:1;transform:scale(1.04)}}
.hero__in{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,5vw,64px);align-items:center}
.pill{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(212,168,83,.25);background:rgba(212,168,83,.08);border-radius:999px;padding:6px 14px;color:var(--jl-accent,#d4a853);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero h1{font-size:clamp(38px,5.3vw,68px);margin:20px 0 0;max-width:780px}
.gold{color:var(--jl-accent,#d4a853)}
.lead{color:var(--jl-text-muted,#c8c4bc);font-size:clamp(16px,1.5vw,19px);max-width:580px;margin:20px 0 0}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero__stats{display:flex;gap:clamp(18px,3vw,40px);margin-top:42px;flex-wrap:wrap}
.stat b{display:block;font-family:var(--jl-font-display,system-ui,sans-serif);font-size:26px;color:var(--jl-text,#f0ece4)}
.stat span{display:block;font-size:11px;color:var(--jl-text-subtle,#6b6878);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
@media(max-width:900px){.hero__in{grid-template-columns:1fr}.hero__visual{max-width:560px;margin:0 auto;width:100%}}

/* ── Visuel du héros ── */
.hero__visual{position:relative;min-height:390px;display:flex;align-items:center;justify-content:center}
.hero-card{position:relative;width:min(100%,430px);background:linear-gradient(180deg,var(--jl-surface-1,#12121a),rgba(18,18,26,.72));border:1px solid rgba(212,168,83,.18);border-radius:22px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 60px rgba(212,168,83,.10);animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.hero-card__head{display:flex;justify-content:space-between;align-items:center}
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--jl-border,rgba(255,255,255,.07));border-radius:999px;padding:4px 10px;font-size:11px;color:var(--jl-text-muted,#c8c4bc)}
.chip--live{color:var(--jl-accent,#d4a853);border-color:rgba(212,168,83,.25);background:rgba(212,168,83,.07)}
.hero-card__q{font-family:var(--jl-font-display,system-ui,sans-serif);font-size:20px;margin:18px 0 14px}
.hero-card__options{display:grid;gap:8px}
.hero-option{display:block;padding:10px 12px;border:1px solid var(--jl-border,rgba(255,255,255,.07));border-radius:10px;background:rgba(255,255,255,.02);font-size:13px;color:var(--jl-text-muted,#c8c4bc)}
.hero-option.is-lead{border-color:var(--jl-accent,#d4a853);color:var(--jl-accent,#d4a853);background:rgba(212,168,83,.08)}
.hero-card__bars{display:grid;gap:7px;margin-top:16px}
.hbar{display:block;height:7px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden}
.fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--jl-accent,#d4a853),var(--jl-accent-hover,#e8c278))}
.fill--66{width:66%}.fill--22{width:22%}.fill--12{width:12%}
.hero-card__total{margin:14px 0 0;font-size:12px;color:var(--jl-text-subtle,#6b6878)}
.hero-card__total b{color:var(--jl-text,#f0ece4);font-size:16px}
.hero-phone{position:absolute;right:-6px;bottom:-12px;width:150px;background:#0c0c12;border:1px solid rgba(212,168,83,.28);border-radius:20px;padding:14px 10px 12px;box-shadow:0 20px 50px rgba(0,0,0,.6);animation:float 7s ease-in-out infinite reverse}
.hero-phone__notch{width:38px;height:4px;border-radius:999px;background:rgba(255,255,255,.18);margin:0 auto 12px}
.hero-phone p{font-size:10px;color:var(--jl-text-muted,#c8c4bc);margin:0 0 8px;text-align:center}
.hero-phone__btn{display:block;padding:7px 8px;border:1px solid rgba(212,168,83,.25);border-radius:7px;font-size:9px;color:var(--jl-accent,#d4a853);margin-top:6px;text-align:center}
.hero-phone__hint{display:block;font-size:8px;color:var(--jl-text-subtle,#6b6878);text-align:center;margin-top:10px}
@media(max-width:520px){.hero-phone{display:none}.hero__visual{min-height:320px}}

/* ── Sections ── */
.section{padding:clamp(56px,8vw,92px) 0}
.section--alt{background:var(--jl-surface-1,#12121a);border-top:1px solid var(--jl-border,rgba(255,255,255,.07));border-bottom:1px solid var(--jl-border,rgba(255,255,255,.07))}
.section-head{max-width:660px;margin-bottom:36px}
.eyebrow{display:block;color:var(--jl-accent,#d4a853);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.section-head h2{font-size:clamp(25px,3.4vw,40px);margin:0}
.section-head p{color:var(--jl-text-muted,#c8c4bc);font-size:15px;margin:12px 0 0}

/* ── Démo ── */
.demo{background:var(--jl-surface-2,#1c1c28);border:1px solid rgba(212,168,83,.18);border-radius:22px;padding:clamp(16px,3vw,28px);box-shadow:0 24px 70px rgba(0,0,0,.35)}
.demo__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.demo__grid{display:grid;grid-template-columns:1fr 1.35fr .85fr;gap:16px;align-items:stretch}
.demo-step{opacity:.4;transition:opacity .25s,transform .25s;transform:translateY(3px)}
.demo-step.is-active{opacity:1;transform:none}
.demo-step.is-done{opacity:.72}
.demo__label{font-size:10px;color:var(--jl-text-subtle,#6b6878);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.mini-phone,.mini-screen,.rail{height:100%;min-height:210px;border-radius:16px;border:1px solid var(--jl-border,rgba(255,255,255,.07));background:rgba(10,10,15,.45);padding:14px}
.mini-phone{max-width:220px;margin:0 auto;border-color:rgba(212,168,83,.2)}
.mini-phone__top{display:grid;place-items:center;padding:6px 0 10px}
.mini-qr{width:54px;height:54px;border-radius:8px;background:repeating-linear-gradient(90deg,#f0ece4 0 4px,#0a0a0f 4px 8px),repeating-linear-gradient(0deg,#f0ece4 0 4px,#0a0a0f 4px 8px);background-blend-mode:multiply;opacity:.85}
.mini-phone__q{font-size:11px;color:var(--jl-text-muted,#c8c4bc);text-align:center;margin:4px 0 8px}
.mini-opt{display:block;padding:7px 8px;border:1px solid var(--jl-border,rgba(255,255,255,.07));border-radius:7px;font-size:9px;color:var(--jl-text-muted,#c8c4bc);margin-top:5px;transition:all .3s}
.demo.is-voting .mini-opt:nth-of-type(2){border-color:var(--jl-accent,#d4a853);color:var(--jl-accent,#d4a853);background:rgba(212,168,83,.08)}
.mini-screen__title{font-family:var(--jl-font-display,system-ui,sans-serif);font-size:15px;margin:0 0 12px}
.mini-screen__bars{display:grid;gap:9px}
.mini-bar{display:grid;grid-template-columns:minmax(60px,1fr) 1.4fr 28px;gap:8px;align-items:center;font-size:10px;color:var(--jl-text-muted,#c8c4bc)}
.mini-bar .track{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.mini-bar .track b{display:block;height:100%;width:0;border-radius:999px;background:var(--jl-accent,#d4a853);transition:width .8s ease}
.demo.is-results .mini-bar .track b.w-66{width:66%}
.demo.is-results .mini-bar .track b.w-22{width:22%}
.demo.is-results .mini-bar .track b.w-12{width:12%}
.mini-screen__total{font-size:11px;color:var(--jl-text-subtle,#6b6878);margin:14px 0 0}
.mini-screen__total b{color:var(--jl-text,#f0ece4);font-size:15px}
.rail{list-style:none;margin:0;padding:14px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.rail li{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--jl-text-subtle,#6b6878);transition:color .3s}
.rail li.is-on{color:var(--jl-text,#f0ece4)}
.rail__dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--jl-border-strong,rgba(255,255,255,.15));flex:0 0 auto}
.rail li.is-on .rail__dot{background:var(--jl-accent,#d4a853);border-color:var(--jl-accent,#d4a853);box-shadow:0 0 8px rgba(212,168,83,.7)}
.demo__bar{height:3px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin:20px 0 14px}
.demo__bar i{display:block;height:100%;width:0;background:var(--jl-accent,#d4a853);transition:width .4s linear}
.demo__bar i.p-25{width:25%}.demo__bar i.p-50{width:50%}.demo__bar i.p-75{width:75%}.demo__bar i.p-100{width:100%}
.demo__steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;color:var(--jl-text-subtle,#6b6878)}
.demo__steps li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.18);margin-right:7px;vertical-align:1px}
.demo__steps li.is-on{color:var(--jl-text,#f0ece4)}
.demo__steps li.is-on::before{background:var(--jl-accent,#d4a853)}
@media(max-width:860px){.demo__grid{grid-template-columns:1fr 1fr}.demo__rail{grid-column:1/-1}.mini-phone{max-width:none}}
@media(max-width:560px){.demo__grid{grid-template-columns:1fr}.mini-phone,.mini-screen,.rail{min-height:auto}}

/* ── Cartes événements ── */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{background:rgba(255,255,255,.025);border:1px solid var(--jl-border,rgba(255,255,255,.07));border-left:3px solid rgba(212,168,83,.55);border-radius:16px;padding:22px;transition:transform .18s,border-color .18s}
.card:hover{transform:translateY(-3px);border-color:rgba(212,168,83,.45)}
.card__icon{display:block;width:22px;height:22px;margin-bottom:12px;color:var(--jl-accent,#d4a853);font-size:20px}
.icon-heart::before{content:"♥"}.icon-diamond::before{content:"◆"}.icon-spark::before{content:"✦"}.icon-sun::before{content:"☼"}.icon-gem::before{content:"◈"}.icon-bolt::before{content:"⚡"}
.card h3{font-size:16px;margin:0 0 6px}
.card p{font-size:13px;color:var(--jl-text-muted,#c8c4bc);margin:0}

/* ── Étapes ── */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.step{background:var(--jl-surface-1,#12121a);border:1px solid var(--jl-border,rgba(255,255,255,.07));border-radius:16px;padding:22px}
.step__num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(212,168,83,.12);color:var(--jl-accent,#d4a853);font-family:var(--jl-font-display,system-ui,sans-serif);font-weight:700;margin-bottom:12px}
.step h3{font-size:15px;margin:0 0 6px}
.step p{font-size:13px;color:var(--jl-text-muted,#c8c4bc);margin:0}

/* ── Offres ── */
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.offer{background:var(--jl-surface-1,#12121a);border:1px solid var(--jl-border,rgba(255,255,255,.07));border-radius:20px;padding:26px;display:flex;flex-direction:column}
.offer--featured{border-color:var(--jl-accent,#d4a853);box-shadow:0 0 0 1px rgba(212,168,83,.4),0 20px 60px rgba(212,168,83,.10)}
.offer__tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--jl-text-subtle,#6b6878)}
.offer--featured .offer__tag{color:var(--jl-accent,#d4a853)}
.offer h3{font-size:24px;margin:8px 0 6px}
.offer__desc{font-size:13px;color:var(--jl-text-muted,#c8c4bc);margin:0}
.offer ul{list-style:none;margin:18px 0;padding:0;display:grid;gap:9px;font-size:13px;color:var(--jl-text-muted,#c8c4bc);flex:1}
.offer li{display:flex;gap:8px}
.offer li::before{content:"✓";color:var(--jl-accent,#d4a853);font-weight:700}
.offer .btn{margin-top:auto}

/* ── Exemples dynamiques ── */
.examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.example{display:block;text-decoration:none;background:rgba(255,255,255,.025);border:1px solid var(--jl-border,rgba(255,255,255,.07));border-radius:14px;padding:18px;transition:transform .18s,border-color .18s}
.example:hover{transform:translateY(-2px);border-color:rgba(212,168,83,.4)}
.example strong{display:block;font-size:14px;margin-bottom:4px}
.example span{font-size:12px;color:var(--jl-text-muted,#c8c4bc)}

/* ── Pied ── */
.site-foot{border-top:1px solid var(--jl-border,rgba(255,255,255,.07));padding:28px 0;color:var(--jl-text-subtle,#6b6878);font-size:13px}
.site-foot__in{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.site-foot__links{display:flex;gap:18px}
.site-foot a{color:var(--jl-text-muted,#c8c4bc);text-decoration:none}
.site-foot a:hover{color:var(--jl-accent,#d4a853)}

/* ── Thème clair (même grammaire, cream/or) ── */
.theme-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--jl-border-strong,rgba(255,255,255,.15));background:transparent;color:var(--jl-text,#f0ece4);cursor:pointer;display:grid;place-items:center;font-size:16px;line-height:1}
.theme-btn:hover{border-color:var(--jl-accent,#d4a853);color:var(--jl-accent,#d4a853)}
.theme-btn::before{content:"☾"}
[data-theme="light"] .theme-btn::before{content:"☀"}
[data-theme="light"] .site-head{background:rgba(255,255,255,.86)}
[data-theme="light"] .hero-card{background:linear-gradient(180deg,#fff,var(--jl-surface-1,#f0ece4));box-shadow:0 24px 60px rgba(10,10,15,.12),0 0 40px rgba(212,168,83,.10)}
[data-theme="light"] .hero-phone{background:#fff;box-shadow:0 20px 45px rgba(10,10,15,.16)}
[data-theme="light"] .hero-option{background:rgba(10,10,15,.03)}
[data-theme="light"] .mini-phone,[data-theme="light"] .mini-screen,[data-theme="light"] .rail{background:var(--jl-surface-1,#f0ece4)}
[data-theme="light"] .mini-phone{border-color:rgba(212,168,83,.3)}
[data-theme="light"] .mini-bar .track,[data-theme="light"] .hbar,[data-theme="light"] .demo__bar{background:rgba(10,10,15,.10)}
[data-theme="light"] .demo__steps li::before{background:rgba(10,10,15,.18)}
[data-theme="light"] .card,[data-theme="light"] .example{background:rgba(10,10,15,.025)}
[data-theme="light"] .card{border-left-color:rgba(184,134,43,.65)}
[data-theme="light"] .demo{box-shadow:0 18px 50px rgba(10,10,15,.10)}
[data-theme="light"] .site-foot{border-top-color:var(--jl-border,rgba(10,10,15,.08))}
