/* ==========================================================================
   CORNER — Page d'accueil publique (visiteur non connecté)
   Même langage que reakly.com (voir css/app.css) : papier blanc, encre,
   scènes grises #F4F3EF, cartes blanches, pilules noires, surtitres mono,
   mot d'accent en Instrument Serif italique. Toutes les maquettes de
   l'interface sont en HTML/CSS (pas d'image) : elles montrent l'app
   réelle avec des données d'exemple clairement présentées comme telles.
   ========================================================================== */

.landing{position:relative;z-index:5;background:var(--paper);color:var(--ink);min-height:100vh;overflow-x:clip;}
.l-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--l-gutter);}
.landing{--l-gutter:clamp(16px,5vw,64px);}

/* ---- en-tête flottant */
.l-header{position:fixed;top:calc(10px + var(--safe-t));left:10px;right:10px;z-index:50;}
.l-header-in{
  max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  height:58px;padding:0 8px 0 18px;border-radius:999px;
  background:rgb(255 255 255 / 0.82);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid var(--line);box-shadow:0 10px 30px rgb(17 17 16 / 0.06);
}
.l-brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:720;font-size:20px;letter-spacing:-0.02em;color:var(--ink);text-decoration:none;background:none;border:none;cursor:pointer;padding:0;}
.l-brand .brand-mark{width:22px;height:22px;}
.l-nav{display:none;gap:4px;}
.l-nav a{font-size:14px;font-weight:500;color:var(--ink-soft);text-decoration:none;padding:8px 12px;border-radius:999px;}
.l-nav a:hover{color:var(--ink);background:var(--paper-2);}
.l-header-cta{display:flex;align-items:center;gap:6px;}
.l-login{background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);padding:10px 10px;border-radius:999px;white-space:nowrap;}
@media (max-width:374px){ .l-login{display:none;} }
.l-login:hover{background:var(--paper-2);}
.l-cta-sm{
  display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;border:none;cursor:pointer;
  background:var(--ink);color:var(--paper);font-family:var(--display);font-weight:650;font-size:14px;box-shadow:var(--shadow-cta);
}
.l-cta-sm:hover{background:var(--ink-700);}
@media (min-width:880px){ .l-nav{display:flex;} }

/* ---- hero */
.l-hero{
  position:relative;padding:calc(122px + var(--safe-t)) 0 40px;text-align:center;
  background:radial-gradient(120% 70% at 50% 0%, #FFFFFF 40%, #F4F3EF 100%);
}
.l-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;color:var(--ink);letter-spacing:0;margin-bottom:18px;}
.l-eyebrow.caps{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}
.l-eyebrow .dot{width:6px;height:6px;background:var(--ink);}
.l-h1{
  font-family:var(--display);font-weight:720;font-size:clamp(40px,10.4vw,84px);line-height:1.02;letter-spacing:-0.035em;
  margin:0 auto;max-width:15ch;
}
.l-h1 .serif,.l-h2 .serif{display:block;font-size:1.04em;line-height:1.04;letter-spacing:-0.01em;margin-top:.04em;}
.l-lead{font-size:clamp(16px,2.2vw,19px);line-height:1.55;color:var(--ink-soft);max-width:44ch;margin:22px auto 0;}

.l-start{
  max-width:560px;margin:30px auto 0;padding:10px;border-radius:26px;background:var(--paper);
  border:1px solid var(--line);box-shadow:0 22px 46px rgb(17 17 16 / 0.12), 0 2px 8px rgb(17 17 16 / 0.05);
  display:flex;flex-direction:column;gap:8px;text-align:left;
}
.l-start-field{display:flex;align-items:center;gap:10px;padding:6px 12px;}
.l-start-field .ic{color:var(--ink);font-size:19px;}
.l-start-field input{border:none!important;box-shadow:none!important;padding:10px 0;min-height:44px;font-size:16px;background:transparent;}
.l-start .btn-primary{min-height:56px;font-size:15px;}
.l-start .btn-primary .ic svg{width:17px;height:17px;}
@media (min-width:640px){
  .l-start{flex-direction:row;align-items:center;border-radius:999px;padding:8px 8px 8px 12px;}
  .l-start-field{flex:1;}
  .l-start .btn-primary{width:auto;flex-shrink:0;}
}
.l-hero-sub{display:flex;align-items:center;justify-content:center;gap:10px 18px;flex-wrap:wrap;margin-top:18px;}
.l-textlink{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--ink);padding:6px 2px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--border-strong);}
.l-textlink:hover{text-decoration-color:var(--ink);}
.l-textlink .ic svg{width:14px;height:14px;}
.l-note{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);letter-spacing:.02em;}

.l-hero-visual{margin:44px auto 0;max-width:1080px;}

/* ---- bandeau défilant (domaines) */
.l-marquee{padding:26px 0 30px;border-bottom:1px solid var(--line);background:var(--paper);overflow:hidden;}
.l-marquee-label{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px;}
.l-marquee-track{display:flex;gap:48px;width:max-content;animation:l-marquee 38s linear infinite;}
.l-marquee-track span{font-family:var(--display);font-weight:720;font-size:26px;letter-spacing:-0.02em;color:#C9C6BC;white-space:nowrap;display:inline-flex;align-items:center;gap:12px;}
.l-marquee-track span i{width:7px;height:7px;border-radius:50%;display:inline-block;}
@keyframes l-marquee{to{transform:translateX(-50%);}}

/* ---- sections */
.l-section{padding:clamp(72px,11vw,140px) 0;}
.l-section.tight{padding-top:clamp(40px,6vw,80px);}
.l-center{text-align:center;}
.l-h2{font-family:var(--display);font-weight:720;font-size:clamp(34px,6.4vw,60px);line-height:1.04;letter-spacing:-0.03em;margin:0;}
.l-h2.sm{font-size:clamp(28px,4.6vw,44px);}
.l-p{font-size:16.5px;line-height:1.6;color:var(--ink-soft);margin:14px 0 0;max-width:52ch;}
.l-center .l-p{margin-left:auto;margin-right:auto;}

/* ---- parcours en 4 étapes */
.l-steps{display:flex;flex-direction:column;gap:clamp(72px,10vw,120px);}
.l-step{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:center;}
.l-step-no{font-family:var(--mono);font-size:13px;color:var(--ink);margin-bottom:14px;}
.l-step-no span{color:var(--ink-faint);}
.l-step h3{font-family:var(--display);font-weight:720;font-size:clamp(32px,5.6vw,52px);line-height:1.04;letter-spacing:-0.03em;margin:0;}
.l-step p{font-size:16.5px;line-height:1.6;color:var(--ink-soft);margin:14px 0 0;max-width:46ch;}
.l-bullets{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.l-bullets li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--ink);}
.l-bullets li .ic{width:20px;height:20px;border-radius:999px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.l-bullets li .ic svg{width:11px;height:11px;}
@media (min-width:960px){
  .l-step{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;}
  .l-step.flip{grid-template-columns:minmax(0,7fr) minmax(0,5fr);}
  .l-step.flip > .l-step-text{order:2;}
}
.l-steps-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:clamp(56px,8vw,96px);}
.l-steps-cta .btn-primary,.l-steps-cta .btn-ghost{width:auto;min-width:200px;}

/* ---- scène grise + maquettes d'interface */
.stage{
  position:relative;background:var(--paper-2);border-radius:var(--r-xl);padding:clamp(18px,4vw,44px);padding-top:clamp(40px,5vw,52px);
  display:flex;flex-direction:column;align-items:center;gap:14px;overflow:hidden;
}
.stage.left{align-items:stretch;}
.stage-tag-top{position:absolute;top:14px;left:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
.m-card{
  width:100%;max-width:420px;background:var(--paper);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 16px 36px rgb(17 17 16 / 0.09), 0 2px 8px rgb(17 17 16 / 0.04);padding:14px;text-align:left;
}
.m-card.wide{max-width:520px;}
.m-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.m-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;}
.m-title .dot{background:var(--violet-400);}
.m-more{font-family:var(--mono);font-size:12px;color:var(--ink-faint);letter-spacing:.1em;}
.m-field{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-top:8px;}
.m-field:first-of-type{margin-top:0;}
.m-field .tile{width:34px;height:34px;border-radius:10px;}
.m-field-k{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.m-field-v{font-size:14.5px;font-weight:600;line-height:1.25;}
.m-field-chev{margin-left:auto;color:var(--ink-faint);}
.m-field-chev svg{width:14px;height:14px;}
.m-chips{display:flex;flex-wrap:wrap;gap:6px;}
.m-chip{font-size:12.5px;font-weight:500;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--paper);}
.m-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.m-seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-family:var(--body);font-size:11.5px;}
.m-seg span{padding:5px 10px;border-radius:999px;color:var(--ink-soft);}
.m-seg span.on{background:var(--paper-2);color:var(--ink);font-weight:600;}

/* séquence d'actions (façon "flow") */
.m-flow{display:flex;flex-direction:column;align-items:center;width:100%;max-width:440px;}
.m-node{width:100%;display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:0 10px 24px rgb(17 17 16 / 0.06);text-align:left;}
.m-node-k{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.m-node-t{font-size:14px;font-weight:650;font-family:var(--display);line-height:1.25;}
.m-node-s{font-size:11.5px;color:var(--ink-soft);}
.m-node .m-more{margin-left:auto;}
.m-link{width:1.5px;height:26px;background:var(--border-strong);position:relative;}
.m-link::after{content:"";position:absolute;left:50%;bottom:-2px;width:7px;height:7px;border-right:1.5px solid var(--border-strong);border-bottom:1.5px solid var(--border-strong);transform:translateX(-50%) rotate(45deg);}
.m-delay{align-self:flex-start;margin:6px 0 -2px 10px;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px 9px;}
.m-delay svg{width:11px;height:11px;}

/* liste "Aujourd'hui" */
.m-todo{padding:0;overflow:hidden;}
.m-todo .m-head{padding:14px 14px 4px;margin:0;}
.m-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid var(--line-soft);}
.m-row:first-of-type{border-top:none;}
.m-check{width:22px;height:22px;border-radius:999px;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent;}
.m-check svg{width:12px;height:12px;}
.m-row.done .m-check{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.m-row.done .m-row-t{color:var(--ink-faint);text-decoration:line-through;}
.m-row-b{flex:1;min-width:0;}
.m-row-t{font-size:13.5px;font-weight:600;line-height:1.3;}
.m-row-s{font-size:11.5px;color:var(--ink-soft);}
.m-row-s b{color:var(--slate-400);font-weight:600;}
.m-tag{font-family:var(--mono);font-size:10px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);flex-shrink:0;}
.m-tag.green{color:var(--sage-700);background:var(--tint-green);border-color:transparent;}
.m-tag.violet{color:#5B4BC0;background:var(--tint-violet);border-color:transparent;}
.m-dark{width:100%;max-width:420px;background:var(--ink);color:var(--on-night);border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 18px 38px rgb(17 17 16 / 0.22);text-align:left;}
.m-dark .tile{background:rgb(255 255 255 / 0.1);color:var(--sage-400);}
.m-dark-k{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-night-soft);}
.m-dark-t{font-family:var(--display);font-weight:650;font-size:15px;line-height:1.25;}
.m-dark-s{font-size:11.5px;color:var(--on-night-soft);}
.m-dark-go{margin-left:auto;width:34px;height:34px;border-radius:999px;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.m-dark-go svg{width:14px;height:14px;}

/* KPI + graphique */
.m-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:520px;}
.m-kpi{background:var(--paper-3);border-radius:16px;padding:5px;}
.stage .m-kpi{background:#EAE8E1;}
.m-kpi-h{font-size:10.5px;font-weight:600;padding:6px 6px 7px;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;}
.m-kpi-h svg{width:11px;height:11px;color:var(--ink-soft);flex-shrink:0;}
.m-kpi-b{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:9px;}
.m-kpi-v{font-family:var(--display);font-weight:720;font-size:22px;line-height:1;letter-spacing:-0.02em;}
.m-kpi-d{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:6px;}
.m-kpi-d .delta{font-size:10px;}
.m-kpi-d svg{width:44px;height:16px;}
.m-bars{display:flex;align-items:flex-end;gap:7px;height:120px;border-bottom:1px dashed var(--line);margin-top:4px;}
.m-bars i{flex:1;background:var(--paper-3);border-radius:7px 7px 2px 2px;display:block;}
.m-bars i.on{background:var(--ink);}
.m-bars-l{display:flex;gap:7px;margin-top:6px;}
.m-bars-l span{flex:1;text-align:center;font-family:var(--mono);font-size:9.5px;color:var(--ink-soft);}
.m-bars-l span.on{color:var(--ink);font-weight:600;}
.m-big{font-family:var(--display);font-weight:720;font-size:26px;letter-spacing:-0.02em;line-height:1;}
.m-prog{height:6px;border-radius:99px;background:var(--paper-3);overflow:hidden;margin-top:8px;}
.m-prog i{display:block;height:100%;background:var(--ink);border-radius:99px;}

/* bulle de conversation */
.m-chat{display:flex;flex-direction:column;gap:10px;}
.m-bubble-u{align-self:flex-end;max-width:86%;background:var(--ink);color:var(--paper);padding:10px 13px;border-radius:16px 16px 4px 16px;font-size:13px;line-height:1.45;}
.m-lya{font-size:13px;line-height:1.5;}
.m-lya-from{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;}
.m-lya-from i{width:6px;height:6px;border-radius:50%;background:var(--violet-400);display:inline-block;}
.m-draft{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--stone-50);}
.m-draft-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:4px 0;}
.m-draft-row span:first-child{color:var(--ink-soft);}
.m-draft-row span:last-child{font-weight:600;text-align:right;}
.m-btns{display:flex;gap:6px;margin-top:10px;}
.m-btn{font-family:var(--display);font-weight:650;font-size:12px;padding:7px 12px;border-radius:999px;background:var(--ink);color:var(--paper);}
.m-btn.ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line);}
.m-prompt{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;padding:12px 12px 12px 14px;font-size:13.5px;color:var(--ink-soft);background:var(--paper);}
.m-prompt span{flex:1;}
.m-prompt i{width:30px;height:30px;border-radius:999px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;}
.m-prompt i svg{width:13px;height:13px;}

/* ---- aperçu tableau de bord (hero + CTA final) */
.m-app{
  width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:0 30px 90px rgb(17 17 16 / 0.14);display:grid;grid-template-columns:minmax(0,1fr);text-align:left;
}
.m-app-side{display:none;}
.m-app-main{padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;background:var(--paper);}
.m-app-top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.m-app-date{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.m-app-hello{font-family:var(--display);font-weight:720;font-size:22px;letter-spacing:-0.02em;line-height:1.1;}
.m-app-hello-s{font-size:12px;color:var(--ink-soft);margin-top:2px;}
.m-app-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
.m-app-col{display:flex;flex-direction:column;gap:12px;min-width:0;}
.m-app .m-kpis{max-width:none;}
.m-app .m-kpi{background:var(--paper-2);}
.m-panel{background:var(--paper-2);border-radius:18px;padding:5px;}
.m-panel-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px 8px;font-size:11.5px;font-weight:600;}
.m-panel-h .m-tag{background:var(--paper);}
.m-panel-b{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px;}
.m-panel-b.flush{padding:0;overflow:hidden;}
.m-app .m-dark{max-width:none;}
.m-app .m-row{padding:10px 12px;}
@media (min-width:760px){
  .m-app{grid-template-columns:190px minmax(0,1fr);}
  .m-app-side{display:flex;flex-direction:column;gap:2px;padding:16px 10px;background:var(--stone-50);border-right:1px solid var(--line);}
  .m-side-brand{display:flex;align-items:center;gap:7px;font-family:var(--display);font-weight:720;font-size:15px;padding:2px 8px 16px;}
  .m-side-brand .brand-mark{width:17px;height:17px;}
  .m-side-g{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:12px 9px 5px;}
  .m-side-i{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-soft);padding:7px 9px;border-radius:9px;border:1px solid transparent;}
  .m-side-i svg{width:13px;height:13px;}
  .m-side-i.on{background:var(--paper);color:var(--ink);font-weight:600;border-color:var(--line);box-shadow:var(--shadow-sm);}
  .m-app-main{padding:22px;}
  .m-app-hello{font-size:26px;}
  .m-app-grid{grid-template-columns:minmax(0,1fr) 250px;}
}
@media (max-width:520px){
  .m-app-hide-sm{display:none!important;}
}

/* ---- 3 temps (inscription) */
.l-three{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:44px;}
@media (min-width:900px){ .l-three{grid-template-columns:repeat(3,minmax(0,1fr));} }
.l-three-card{background:var(--paper-2);border-radius:var(--r-xl);padding:22px;display:flex;flex-direction:column;gap:16px;text-align:left;}
.l-three-no{font-family:var(--mono);font-size:12px;color:var(--ink-soft);}
.l-three-card h3{font-family:var(--display);font-weight:720;font-size:26px;line-height:1.08;letter-spacing:-0.025em;margin:0;}
.l-three-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.55;margin:0;}
.l-three-card .m-card{max-width:none;margin-top:auto;}

/* ---- fonctionnalités */
.l-features{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:44px;}
@media (min-width:900px){
  .l-features{grid-template-columns:repeat(6,minmax(0,1fr));}
  .l-feature{grid-column:span 2;}
  .l-feature.big{grid-column:span 3;}
}
.l-feature{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;
  display:flex;flex-direction:column;gap:6px;min-height:340px;overflow:hidden;box-shadow:0 12px 30px rgb(17 17 16 / 0.04);
}
.l-feature-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;}
.l-feature h3{font-family:var(--display);font-weight:720;font-size:28px;line-height:1.06;letter-spacing:-0.025em;margin:0;}
.l-feature p{font-size:14.5px;color:var(--ink-soft);margin:4px 0 0;}
.l-feature-vis{margin-top:auto;padding-top:22px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.l-feature-vis .m-card{box-shadow:0 12px 28px rgb(17 17 16 / 0.08);}

/* ---- Lya */
.l-lya{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center;}
@media (min-width:960px){ .l-lya{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;} }
.l-lya-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:22px;}
.l-lya-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--paper);}
.l-lya-card-k{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.l-lya-card-v{font-size:14px;font-weight:650;font-family:var(--display);}

/* ---- FAQ */
.l-faq{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;}
@media (min-width:960px){ .l-faq{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;} }
.l-faq details{border-bottom:1px solid var(--line);}
.l-faq details:first-of-type{border-top:1px solid var(--line);}
.l-faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 2px;font-family:var(--display);font-weight:650;font-size:17px;line-height:1.3;
}
.l-faq summary::-webkit-details-marker{display:none;}
.l-faq summary .ic{color:var(--ink-soft);font-size:18px;transition:transform .2s var(--ease-standard);flex-shrink:0;}
.l-faq details[open] summary .ic{transform:rotate(45deg);}
.l-faq details p{padding:0 2px 22px;margin:0;color:var(--ink-soft);font-size:15px;line-height:1.6;max-width:62ch;}

/* ---- CTA final + pied de page (nuit) */
.l-night{background:var(--night);color:var(--on-night);position:relative;overflow:hidden;}
.l-final{padding:clamp(80px,12vw,150px) 0 0;text-align:center;}
.l-final .l-eyebrow{color:var(--on-night-soft);}
.l-final .l-eyebrow .dot{background:var(--on-night);}
.l-final .l-h2{color:var(--on-night);font-size:clamp(40px,8vw,78px);max-width:13ch;margin:0 auto;}
.l-final-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:32px;}
.btn-light{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 26px;border-radius:999px;border:none;cursor:pointer;background:var(--paper);color:var(--ink);font-family:var(--display);font-weight:650;font-size:15px;}
.btn-light:hover{background:#E8E8E6;}
.btn-outline-night{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 24px;border-radius:999px;cursor:pointer;background:transparent;color:var(--on-night);border:1px solid rgb(244 243 239 / 0.3);font-family:var(--display);font-weight:650;font-size:15px;}
.btn-outline-night:hover{border-color:var(--on-night);}
.btn-light .ic svg,.btn-outline-night .ic svg{width:16px;height:16px;}
.l-final .l-note{color:var(--on-night-soft);margin-top:18px;display:block;letter-spacing:.08em;text-transform:uppercase;}
.l-final-visual{margin:56px auto 0;max-width:1000px;padding:0 0 0;position:relative;}
.l-final-visual .m-app{border-radius:22px 22px 0 0;border-bottom:none;box-shadow:0 -10px 80px rgb(255 255 255 / 0.06);}
.l-glow{position:absolute;left:50%;top:40%;width:720px;height:720px;transform:translate(-50%,-50%);border-radius:50%;border:80px solid rgb(244 243 239 / 0.035);pointer-events:none;}

.l-footer{padding:56px 0 calc(40px + var(--safe-b));border-top:1px solid var(--on-night-line);text-align:left;}
.l-footer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;}
@media (min-width:880px){ .l-footer-grid{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));} }
.l-footer .l-brand{color:var(--on-night);}
.l-footer .brand-mark{color:var(--on-night);}
.l-footer-desc{color:var(--on-night-soft);font-size:15px;line-height:1.6;max-width:38ch;margin-top:14px;}
.l-footer h4{font-family:var(--display);font-weight:650;font-size:14px;color:var(--on-night);margin:0 0 12px;}
.l-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.l-footer a,.l-footer button.l-flink{color:var(--on-night-soft);font-size:14.5px;text-decoration:none;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:var(--body);}
.l-footer a:hover,.l-footer button.l-flink:hover{color:var(--on-night);}
.l-copy{margin-top:40px;padding-top:22px;border-top:1px solid var(--on-night-line);font-family:var(--mono);font-size:11.5px;color:var(--on-night-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* ---- apparition au défilement */
.l-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.l-reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .l-reveal{opacity:1;transform:none;}
  .l-marquee-track{animation:none;}
}

/* ==========================================================================
   ANIMATIONS (28/09) — "micro-demo video" + scenes animees + effets.
   Tout est desactive (etat final statique) si prefers-reduced-motion.
   ========================================================================== */

/* ---- lecteur de la micro-demo (hero) */
.demo-player{position:relative;}
.demo-stage{padding:clamp(10px,3vw,36px)!important;overflow:hidden;}
.demo-bar-ctrl{
  display:flex;align-items:center;gap:12px;margin:12px auto 0;max-width:720px;
  padding:8px 14px 8px 8px;border-radius:999px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-md);
}
.demo-play{width:36px;height:36px;border-radius:999px;border:none;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.demo-play .ic svg{width:14px;height:14px;}
.demo-chapters{flex:1;display:flex;gap:6px;min-width:0;}
.demo-chap{flex:1;min-width:0;background:none;border:none;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:5px;text-align:left;}
.demo-chap i{display:block;height:4px;border-radius:99px;background:var(--paper-3);overflow:hidden;}
.demo-chap i b{display:block;height:100%;width:0;background:var(--ink);border-radius:99px;}
.demo-chap span{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s;}
.demo-chap.on span{color:var(--ink);font-weight:600;}
.demo-time{font-family:var(--mono);font-size:11px;color:var(--ink-soft);flex-shrink:0;min-width:30px;text-align:right;}
@media (max-width:520px){ .demo-chap span{font-size:9.5px;} .demo-time{display:none;} }

.hd-newgoal{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--paper);transition:transform .15s,background .15s;}
.hd-newgoal .ic svg{width:11px;height:11px;}
.hd-newgoal.press{transform:scale(.94);background:var(--paper-2);}
.hd-spark path{stroke-dasharray:80;stroke-dashoffset:0;}
.hd-dots{display:flex;gap:3px;}
.hd-dots i{width:7px;height:7px;border-radius:2px;background:var(--paper-3);display:block;transition:background .4s,transform .4s var(--ease-out);}
.hd-dots i.on{background:var(--ink);}
.hd-dots i.pop{transform:scale(1.5);}
.hd-bars i{height:var(--h);transform-origin:bottom;transition:height .7s var(--ease-out);}
.hd-bars.grow i{animation:hd-bar .8s var(--ease-out) both;animation-delay:calc(var(--n,0) * 70ms);}
@keyframes hd-bar{from{transform:scaleY(0);}to{transform:scaleY(1);}}
.hd-next{transition:transform .5s var(--ease-out),opacity .5s;}
.hd-next.swap{animation:hd-swap .7s var(--ease-out);}
@keyframes hd-swap{0%{transform:translateY(0);opacity:1;}40%{transform:translateY(-8px);opacity:0;}41%{transform:translateY(10px);opacity:0;}100%{transform:none;opacity:1;}}
.m-kpi-v.bump,.count-badge.bump{animation:hd-bump .45s var(--ease-out);}
@keyframes hd-bump{40%{transform:scale(1.18);}100%{transform:none;}}
.m-row .m-row-t{background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-repeat:no-repeat;background-position:0 55%;transition:background-size .45s var(--ease-out),color .3s;}
.m-row.checking .m-check{animation:hd-check .45s var(--ease-out) forwards;}
.m-row.checking .m-row-t{background-size:100% 1.5px;color:var(--ink-faint);}
.m-row.done .m-row-t{text-decoration:none;background-size:100% 1.5px;}
@keyframes hd-check{0%{transform:scale(1);}45%{transform:scale(.8);}100%{transform:scale(1);background:var(--ink);border-color:var(--ink);color:var(--paper);}}
.m-row.flash{background:var(--tint-green);transition:background .6s;}
.m-row{transition:background .8s;}

.hd-veil{position:absolute;inset:0;background:rgb(244 243 239 / 0.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .35s;}
.hd-veil.on{opacity:1;}
.hd-modal{
  position:absolute;left:50%;top:50%;width:min(360px,84%);transform:translate(-50%,-44%) scale(.96);opacity:0;pointer-events:none;
  background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:16px;text-align:left;
  box-shadow:0 30px 70px rgb(17 17 16 / 0.2);transition:opacity .35s var(--ease-out),transform .45s var(--ease-out);
}
.hd-modal.on{opacity:1;transform:translate(-50%,-50%) scale(1);}
.hd-input{display:flex;align-items:center;gap:8px;margin-top:6px;border:1.5px solid var(--ink);border-radius:12px;padding:10px 12px;font-size:15px;font-weight:600;min-height:44px;}
.hd-input .ic{color:var(--ink-soft);font-size:16px;}
.hd-caret{display:inline-block;width:1.5px;height:18px;background:var(--ink);margin-left:-6px;animation:hd-blink 1s steps(1) infinite;}
@keyframes hd-blink{50%{opacity:0;}}
.m-chip{transition:background .25s,color .25s,border-color .25s,transform .15s;}
.m-chip.press{transform:scale(.94);}
.hd-create{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--display);font-weight:650;font-size:13px;transition:transform .15s;box-shadow:var(--shadow-cta);}
.hd-create .ic svg{width:13px;height:13px;}
.hd-create.press{transform:scale(.94);}
.hd-toast{
  position:absolute;left:50%;bottom:18px;transform:translate(-50%,20px);opacity:0;display:flex;align-items:center;gap:10px;
  background:var(--ink);color:var(--on-night);border-radius:16px;padding:9px 14px 9px 9px;box-shadow:0 18px 40px rgb(17 17 16 / 0.3);
  transition:opacity .35s,transform .45s var(--ease-out);pointer-events:none;white-space:nowrap;text-align:left;
}
.hd-toast .tile{width:30px;height:30px;border-radius:9px;}
.hd-toast.on{opacity:1;transform:translate(-50%,0);}
.hd-toast-t{font-family:var(--display);font-weight:650;font-size:13px;}
.hd-toast-s{font-size:11px;color:var(--on-night-soft);}
.hd-lya{
  position:absolute;right:clamp(14px,4vw,48px);bottom:clamp(14px,3vw,40px);width:min(300px,78%);
  background:var(--paper);border:1px solid var(--line);border-radius:18px 18px 4px 18px;padding:12px 14px;text-align:left;
  box-shadow:0 24px 60px rgb(17 17 16 / 0.18);opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;
  transition:opacity .4s,transform .5s var(--ease-out);pointer-events:none;
}
.hd-lya.on{opacity:1;transform:none;}
.hd-lya-typing{display:flex;gap:4px;height:16px;align-items:center;}
.hd-lya-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.3;animation:c-typing 1.1s ease-in-out infinite;}
.hd-lya-typing span:nth-child(2){animation-delay:.15s;}
.hd-lya-typing span:nth-child(3){animation-delay:.3s;}
.hd-lya-text{font-size:13px;line-height:1.5;display:none;}
.hd-lya.said .hd-lya-typing{display:none;}
.hd-lya.said .hd-lya-text{display:block;animation:c-fade .4s var(--ease-out);}
.hd-cursor{
  position:absolute;left:0;top:0;z-index:5;pointer-events:none;opacity:0;
  transform:translate(var(--cx,60%),var(--cy,70%));transition:transform .9s cubic-bezier(.6,.05,.2,1),opacity .3s;
  filter:drop-shadow(0 4px 8px rgb(17 17 16 / 0.25));
}
.hd-cursor.on{opacity:1;}
.hd-cursor svg{display:block;transition:transform .12s;}
.hd-cursor.click svg{transform:scale(.82);}
.hd-ripple{position:absolute;left:4px;top:2px;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;border:2px solid var(--ink);opacity:0;}
.hd-cursor.click .hd-ripple{animation:hd-ripple .55s var(--ease-out);}
@keyframes hd-ripple{0%{opacity:.6;transform:scale(.3);}100%{opacity:0;transform:scale(1.6);}}

/* ---- scenes des 4 etapes : se jouent en boucle quand elles sont visibles */
.stage [data-a]{opacity:0;transform:translateY(14px) scale(.98);}
.stage.play [data-a]{animation:a-in .65s var(--ease-out) forwards;animation-delay:calc(var(--d,0) * 1ms);}
@keyframes a-in{to{opacity:1;transform:none;}}
.stage [data-a="line"]{transform:scaleY(0);transform-origin:top;}
.stage.play [data-a="line"]{animation:a-line .4s var(--ease-out) forwards;animation-delay:calc(var(--d,0) * 1ms);}
@keyframes a-line{to{opacity:1;transform:scaleY(1);}}
.stage .m-bars[data-bars] i{transform:scaleY(0);transform-origin:bottom;}
.stage.play .m-bars[data-bars] i{animation:hd-bar .8s var(--ease-out) forwards;}
.stage.play .m-bars[data-bars] i:nth-child(1){animation-delay:.5s}
.stage.play .m-bars[data-bars] i:nth-child(2){animation-delay:.58s}
.stage.play .m-bars[data-bars] i:nth-child(3){animation-delay:.66s}
.stage.play .m-bars[data-bars] i:nth-child(4){animation-delay:.74s}
.stage.play .m-bars[data-bars] i:nth-child(5){animation-delay:.82s}
.stage.play .m-bars[data-bars] i:nth-child(6){animation-delay:.9s}
.stage.play .m-bars[data-bars] i:nth-child(7){animation-delay:1.1s}
.stage svg[data-draw] path{stroke-dasharray:80;stroke-dashoffset:80;}
.stage.play svg[data-draw] path{animation:a-draw 1.2s var(--ease-out) .6s forwards;}
@keyframes a-draw{to{stroke-dashoffset:0;}}
.stage .m-prog i{transform:scaleX(0);transform-origin:left;}
.stage.play .m-prog i{animation:a-prog 1.1s var(--ease-out) .9s forwards;}
@keyframes a-prog{to{transform:scaleX(1);}}
.stage .m-chip[data-pick]{}
.stage.play .m-chip[data-pick]{animation:a-pick .01s linear forwards;animation-delay:calc(var(--d,0) * 1ms);}
@keyframes a-pick{to{background:var(--ink);color:var(--paper);border-color:var(--ink);}}
.stage .m-row[data-check] .m-check{}
.stage.play .m-row[data-check] .m-check{animation:hd-check .45s var(--ease-out) forwards;animation-delay:calc(var(--d,0) * 1ms);}
.stage.play .m-row[data-check] .m-row-t{animation:a-strike .45s var(--ease-out) forwards;animation-delay:calc(var(--d,0) * 1ms);}
@keyframes a-strike{to{background-size:100% 1.5px;color:var(--ink-faint);}}
.stage.play .m-row[data-check] .m-tag{animation:a-in .4s var(--ease-out) forwards;animation-delay:calc((var(--d,0) + 250) * 1ms);}
.stage .m-row[data-check] .m-tag{opacity:0;transform:scale(.8);}
.stage [data-typed]::after{content:"";display:inline-block;width:1.5px;height:1em;background:var(--ink);margin-left:2px;vertical-align:-2px;animation:hd-blink 1s steps(1) infinite;}
.stage [data-typed].typed-done::after{display:none;}

/* ---- titre du hero : mots qui apparaissent */
.l-h1 .w{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(18px);animation:w-in .9s var(--ease-out) forwards;animation-delay:calc(var(--i) * 70ms + 80ms);}
@keyframes w-in{to{opacity:1;filter:none;transform:none;}}
.l-hero .l-eyebrow,.l-lead,.l-start,.l-hero-sub{animation:w-in .9s var(--ease-out) both;}
.l-hero .l-eyebrow{animation-delay:0s;}
.l-lead{animation-delay:.55s;}
.l-start{animation-delay:.7s;}
.l-hero-sub{animation-delay:.85s;}
.l-hero-visual.l-reveal{transform:translateY(40px) scale(.97);transition:opacity 1s var(--ease-out),transform 1.1s var(--ease-out);}
.l-hero-visual.l-reveal.in{transform:none;}

/* ---- en-tete qui se resserre au defilement */
.l-header-in{transition:max-width .5s var(--ease-out),box-shadow .4s,height .4s;}
.l-header.scrolled .l-header-in{max-width:980px;height:54px;box-shadow:0 14px 40px rgb(17 17 16 / 0.1);}

/* ---- boutons : reflet au survol, fleche qui avance */
.btn-primary,.l-cta-sm,.btn-light{position:relative;overflow:hidden;isolation:isolate;}
.btn-primary::after,.l-cta-sm::after,.btn-light::after{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgb(255 255 255 / 0.22),transparent);transform:skewX(-20deg);transition:left .7s var(--ease-out);
}
.btn-light::after{background:linear-gradient(100deg,transparent,rgb(17 17 16 / 0.08),transparent);}
.btn-primary:hover::after,.l-cta-sm:hover::after,.btn-light:hover::after{left:130%;}
.btn-primary .ic,.btn-light .ic{transition:transform .3s var(--ease-out);}
.btn-primary:hover .ic,.btn-light:hover .ic{transform:translateX(3px);}

/* ---- cartes de fonctionnalites : legere inclinaison suivant la souris */
.l-feature{transition:transform .5s var(--ease-out),box-shadow .4s;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;}
.l-feature:hover{box-shadow:0 26px 60px rgb(17 17 16 / 0.1);}
.l-three-card{transition:transform .4s var(--ease-out);}
.l-three-card:hover{transform:translateY(-4px);}

/* ---- lueur qui suit la souris dans le hero */
.l-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px circle at var(--mx,50%) var(--my,30%), rgb(17 17 16 / 0.045), transparent 60%);
}

@media (prefers-reduced-motion:reduce){
  .stage [data-a],.stage [data-a="line"],.stage .m-bars[data-bars] i,.stage .m-prog i,.l-h1 .w{opacity:1!important;transform:none!important;filter:none!important;animation:none!important;}
  .stage svg[data-draw] path{stroke-dashoffset:0;}
  .stage [data-typed]::after{display:none;}
  .stage .m-row[data-check] .m-tag{opacity:1;transform:none;}
  .l-feature{transform:none;}
}

/* ---- micro-demo v2 : l'ecran Aujourd'hui en miniature */
.hd-today{display:flex;flex-direction:column;gap:12px;max-width:560px;width:100%;margin:0 auto;}
.hd-today .lya-line{font-size:13.5px;padding:10px 12px;}
.hd-today .now-card{padding:18px 16px 16px;border-radius:22px;}
.hd-today .now-title{font-size:clamp(22px,4.4vw,30px);}
.hd-today .now-done,.hd-today .now-later{min-height:50px;font-size:15px;}
.hd-today .now-done .ic svg{width:18px;height:18px;}
.hd-today .now-done{min-width:150px;}
.hd-today .now-done.press,.hd-today .now-later.press{transform:scale(.95);}
.hd-now.enter{animation:c-rise .45s var(--ease-out) both;}
.hd-today .day-list{padding:12px 14px 6px;}
.hd-today .day-row{padding:9px 0;}
.hd-today .day-row .day-check{transition:background .3s,border-color .3s;}
.m-side-i{transition:background .3s,color .3s;}
@media (max-width:520px){ .hd-today .day-goal{display:none;} }
