/* Robotmeet · site public (refonte du 5 octobre 2026, explorations 05 et 06).
   Chargée après brand.css et style.css, seulement hors session. Le mouvement montre le produit
   travailler : la transcription s'écrit, le compte rendu se construit, la décision renvoie à son
   passage, les états d'une visio défilent. Les boucles vivent sous
   @media (prefers-reduced-motion:no-preference) : « réduire les animations » les arrête et montre
   l'état final. L'apparition au défilement attend la classe .vt-motion, posée par motion.mjs :
   sans script, tout est affiché. Une seule bande sombre (confiance), l'iris rare, l'encre pour
   l'action. */

/* ---------- Typographie du site ---------- */
.site{display:grid;min-width:0;font-size:var(--fs-3);line-height:1.6}
.site h2{font-size:var(--fs-site-h2);line-height:1.15;letter-spacing:-.028em}
.site h3{font-size:var(--fs-site-h3);line-height:1.3;letter-spacing:-.015em}
.site .lead{font-size:15px;line-height:1.6;max-width:56ch}
.site .muted{color:var(--muted)}
.hero-title{font-size:var(--fs-site-hero);line-height:1.02;letter-spacing:-.045em;font-weight:var(--fw-title);max-width:15ch;overflow-wrap:normal}
.site .two{display:block;color:var(--iris-text)}
.avail{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:6px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font:550 var(--fs-1)/1.3 var(--font-ui);letter-spacing:0;vertical-align:1px;white-space:nowrap}
.vt-fine{color:var(--muted);font-size:var(--fs-1);line-height:1.55}
.vt-fine .avail{min-height:18px}

/* ---------- En-tête du site : sur le fond de page, filet dans la largeur du contenu ---------- */
.site-header{background:transparent;border-bottom:0}
.site-header .header-inner{min-height:68px;border-bottom:1px solid var(--line)}
.site-header .brand svg{height:21px}
.header-actions .button-subtle{border-color:transparent;background:transparent}
.header-actions .button-subtle:hover{border-color:var(--line-strong)}

/* ---------- Actions ---------- */
.vt-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:6px}
.vt-big{min-height:42px;padding:0 18px;border-radius:10px;font-size:var(--fs-3)}
.site .button{transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.site .button-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(22,19,43,.18)}
.vt-arrow{width:15px;height:15px;flex:none;transition:transform var(--t-base) var(--ease)}
.button:hover .vt-arrow{transform:translateX(3px)}
.vt-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--line-strong);text-decoration-thickness:1.5px;text-underline-offset:4px;transition:text-decoration-color var(--t-fast) var(--ease)}
.vt-link:hover{text-decoration-color:var(--ink)}

/* ---------- Sections ---------- */
.vt-section{display:grid;gap:22px;padding-top:64px;min-width:0}
.vt-heading{display:grid;gap:8px;max-width:680px}
.vt-heading .lead{margin-top:2px}
.vt-page-head{display:grid;gap:12px;padding:36px 0 8px;max-width:780px}
.vt-page-head .hero-title{font-size:clamp(32px,3.6vw,46px);max-width:20ch}
.vt-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.vt-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vt-card{display:grid;gap:10px;align-content:start;min-width:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.vt-card h3{margin-top:2px}
.vt-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.vt-card-head b{font-size:15px;font-weight:600;letter-spacing:-.01em}
.vt-card-link{color:var(--ink);font-weight:400;text-decoration:none;transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),border-color var(--t-fast) var(--ease)}
.vt-card-link:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 18px 40px rgba(22,19,43,.08);text-decoration:none}
.vt-card-link b{font-size:15px;font-weight:600}
.vt-kv{display:grid;margin:2px 0}
.vt-kv>div{display:grid;grid-template-columns:128px minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:var(--fs-2)}
.vt-kv dt{color:var(--muted)}
.vt-kv dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.vt-card.vt-kv{gap:0;padding:6px 20px}
.vt-card.vt-kv>div:first-child{border-top:0}

/* ---------- Héros ---------- */
.vt-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:56px;align-items:center;padding:36px 0 44px}
.vt-hero-copy{display:grid;gap:14px;align-content:center;min-width:0}
.vt-hero-copy .lead{max-width:470px}

/* ---------- Démonstration de l'accueil ---------- */
.vt-demo,.vt-join{margin:0;display:grid;gap:10px;min-width:0}
.vt-window{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 1px 2px rgba(22,19,43,.04),0 30px 70px rgba(22,19,43,.10);overflow:hidden}
.vt-bar{display:flex;align-items:center;gap:12px;height:38px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--bg)}
.vt-dots{display:flex;gap:6px}
.vt-dots i{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}
.vt-url{flex:1;max-width:320px;margin:0 auto;padding:3px 12px;border-radius:7px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:var(--fs-1);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt-app{display:grid;grid-template-columns:150px minmax(0,1fr) 220px;min-height:390px;font-size:var(--fs-1);line-height:1.5}
.vt-list{padding:14px 8px;border-right:1px solid var(--line);background:var(--bg)}
.vt-li{display:grid;margin:0 0 2px;padding:6px 8px;border-radius:7px}
.vt-li b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt-li span{color:var(--muted)}
.vt-li.is-on{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.vt-doc{position:relative;padding:16px 20px;display:grid;align-content:start;gap:5px;min-width:0}
.vt-head{position:relative;height:22px}
.vt-head>span{position:absolute;left:0;top:0}
.vt-head .vt-rec{opacity:0}
.vt-rec,.vt-live{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.vt-rec i,.vt-live i,.vt-mini-rec i{width:8px;height:8px;border-radius:50%;background:var(--iris)}
.vt-badge{display:inline-flex;padding:1px 8px;border-radius:6px;background:var(--signal-soft);color:var(--iris-text);font-weight:600;font-size:var(--fs-1)}
.vt-title{margin:2px 0 0;font-size:var(--fs-4);font-weight:600;letter-spacing:-.015em}
.vt-meta{margin:0 0 6px;color:var(--muted)}
.vt-k{margin:6px 0 0;color:var(--muted);font-size:var(--fs-1);font-weight:600}
.vt-decision{padding:7px 10px;border-left:2px solid var(--iris);border-radius:0 8px 8px 0;background:var(--signal-soft)}
.vt-decision b{font-weight:650}
.vt-src{display:inline-block;padding:0 6px;border-radius:5px;background:var(--surface);color:var(--iris-text);font-weight:600;font-variant-numeric:tabular-nums}
.vt-act{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--line)}
.vt-act small{color:var(--muted);font-size:var(--fs-1);white-space:nowrap}
.vt-box{position:relative;width:14px;height:14px;border:1.5px solid var(--line-strong);border-radius:4px}
.vt-box.is-checked{border-color:var(--ink);background:var(--ink)}
.vt-box.is-checked::after{content:"";position:absolute;left:3.5px;top:.5px;width:4px;height:8px;border:solid var(--white);border-width:0 1.8px 1.8px 0;transform:rotate(45deg)}
.vt-trans{padding:14px 12px;border-left:1px solid var(--line);background:var(--bg);display:grid;align-content:start;gap:2px}
.vt-line{display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 8px;margin:0;padding:6px;border-radius:8px}
.vt-line span{grid-row:span 2;color:var(--iris-text);font-variant-numeric:tabular-nums}
.vt-line b{font-weight:600}
.vt-caption{color:var(--muted);font-size:var(--fs-1);text-align:center}
.vt-wait{position:absolute;left:20px;right:20px;top:96px;display:grid;gap:8px;opacity:0}
.vt-wait i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--sunken),var(--line),var(--sunken));background-size:200% 100%}
.vt-wait i:nth-child(2){width:84%}
.vt-wait i:nth-child(3){width:62%}
.vt-wait span{margin-top:4px;color:var(--muted);font-size:var(--fs-1)}

/* La boucle de 12 s : enregistrement et transcription, puis compte rendu, puis la source */
@media (prefers-reduced-motion:no-preference){
  .vt-a{will-change:opacity,transform}
  .vt-head .vt-rec{animation:vt-rec 12s infinite}
  .vt-head .vt-badge{animation:vt-badge 12s infinite}
  .vt-rec i,.vt-live i{animation:vt-pulse 1.6s ease-out infinite}
  .vt-wait{animation:vt-wait 12s infinite}
  .vt-wait i{animation:vt-shimmer 1.4s linear infinite}
  .vt-doc .vt-box.is-checked{animation:vt-check 12s infinite}
  .vt-doc .vt-box.is-checked::after{animation:vt-tick 12s infinite}
  .vt-doc .vt-decision .vt-src{animation:vt-src 12s infinite}
  .vt-line.is-target{animation:vt-a11 12s var(--ease) infinite,vt-hl 12s infinite}
  .vt-a4{animation:vt-a4 12s var(--ease) infinite}
  .vt-a11{animation:vt-a11 12s var(--ease) infinite}
  .vt-a18{animation:vt-a18 12s var(--ease) infinite}
  .vt-a25{animation:vt-a25 12s var(--ease) infinite}
  .vt-a44{animation:vt-a44 12s var(--ease) infinite}
  .vt-a52{animation:vt-a52 12s var(--ease) infinite}
  .vt-a60{animation:vt-a60 12s var(--ease) infinite}
  .vt-a66{animation:vt-a66 12s var(--ease) infinite}
}
@keyframes vt-rec{0%,36%{opacity:1}40%,100%{opacity:0}}
@keyframes vt-badge{0%,38%{opacity:0;transform:translateY(4px)}42%,93%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes vt-wait{0%,34%{opacity:1}38%,100%{opacity:0}}
@keyframes vt-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@keyframes vt-check{0%,72%{background:transparent;border-color:var(--line-strong)}75%,93%{background:var(--ink);border-color:var(--ink)}97%,100%{background:transparent;border-color:var(--line-strong)}}
@keyframes vt-tick{0%,73%{opacity:0}76%,93%{opacity:1}97%,100%{opacity:0}}
@keyframes vt-src{0%,78%{box-shadow:0 0 0 0 rgba(132,103,255,0)}80%{box-shadow:0 0 0 0 rgba(132,103,255,.55)}86%,100%{box-shadow:0 0 0 9px rgba(132,103,255,0)}}
@keyframes vt-hl{0%,80%{background:transparent}83%,93%{background:var(--signal-soft)}97%,100%{background:transparent}}
@keyframes vt-pulse{0%{box-shadow:0 0 0 0 rgba(132,103,255,.55)}70%{box-shadow:0 0 0 8px rgba(132,103,255,0)}100%{box-shadow:0 0 0 0 rgba(132,103,255,0)}}
@keyframes vt-a4{0%,4%{opacity:0;transform:translateY(6px)}7%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes vt-a11{0%,11%{opacity:0;transform:translateY(6px)}14%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes vt-a18{0%,18%{opacity:0;transform:translateY(6px)}21%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes vt-a25{0%,25%{opacity:0;transform:translateY(6px)}28%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes vt-a44{0%,44%{opacity:0;transform:translateY(6px)}47%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes vt-a52{0%,52%{opacity:0;transform:translateY(6px)}55%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes vt-a60{0%,60%{opacity:0;transform:translateY(6px)}63%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes vt-a66{0%,66%{opacity:0;transform:translateY(6px)}69%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}

/* ---------- Bande des plateformes ---------- */
.vt-platforms{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:var(--fs-3);font-weight:600}
.vt-platforms i{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}
.vt-platforms .muted{font-weight:500}

/* ---------- Comment ça marche ---------- */
.vt-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.vt-step{display:grid;gap:6px;align-content:start;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.vt-step-n{color:var(--muted);font-size:var(--fs-1);font-weight:600;font-variant-numeric:tabular-nums}
.vt-step-visual{display:flex;align-items:center;gap:10px;height:64px;margin-bottom:6px;padding:0 14px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}
.vt-mini-rec{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--ink)}
.vt-mini-rec i{width:12px;height:12px}
.vt-chip{padding:4px 10px;border-radius:8px;background:var(--iris);color:var(--ink);font-size:var(--fs-1);font-weight:600;white-space:nowrap}
.vt-mini-doc{display:grid;gap:6px;width:100%}
.vt-mini-doc i{display:block;height:6px;border-radius:3px;background:var(--line)}
.vt-mini-doc i:nth-child(2){width:80%}
.vt-mini-doc i:nth-child(4){width:60%}
.vt-mini-doc i.is-iris{background:var(--signal-soft);box-shadow:inset 2px 0 0 var(--iris)}
.vt-mini-search{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--line);font-size:var(--fs-2)}
.vt-mini-search::before{content:"";width:10px;height:10px;flex:none;border:1.6px solid var(--muted);border-radius:50%}
@media (prefers-reduced-motion:no-preference){
  .vt-mini-doc i.is-iris{animation:vt-grow 6s var(--ease) infinite}
}
@keyframes vt-grow{0%,20%{transform:scaleX(.4);transform-origin:left}45%,90%{transform:none;transform-origin:left}100%{transform:scaleX(.4);transform-origin:left}}

/* ---------- Trois usages ---------- */
.vt-uses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vt-use{display:grid;gap:6px;align-content:start;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}
.vt-use:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(22,19,43,.08)}
.vt-use .vt-link{justify-self:start;margin-top:4px}
.vt-use-visual{display:grid;gap:8px;align-content:center;height:176px;margin-bottom:10px;padding:16px;border-radius:12px;background:var(--bg);border:1px solid var(--line);overflow:hidden}
.vt-use-phone{justify-items:center}
.vt-clock{font-size:42px;font-weight:300;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}
.vt-levels{display:flex;align-items:center;gap:4px;height:42px}
.vt-levels i{width:4px;height:var(--h);border-radius:3px;background:var(--iris);transform-origin:center}
.vt-use-note{color:var(--muted);font-size:var(--fs-1)}
.vt-ag{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:var(--fs-2)}
.vt-ag span{color:var(--muted);font-variant-numeric:tabular-nums}
.vt-ag b{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt-ag.is-live{border-color:var(--ink)}
.vt-toggle{position:relative;width:30px;height:18px;border-radius:999px;background:var(--line-strong)}
.vt-toggle::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--white);box-shadow:var(--sh-1)}
.vt-toggle.is-anim{background:var(--ink)}
.vt-toggle.is-anim::after{transform:translateX(12px)}
.vt-use-invite{justify-items:center}
.vt-inv-host{padding:3px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:var(--fs-1);font-weight:550}
.vt-inv-tiles{display:grid;grid-template-columns:repeat(4,52px);gap:6px}
.vt-inv-tiles>span{display:grid;place-items:center;height:40px;border-radius:9px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:var(--fs-1);font-weight:600}
.vt-inv-tiles>.vt-inv-bot{border-color:var(--ink)}
.vt-inv-bot svg,.vt-join-bot svg{width:26px;height:26px;flex:none}
@media (prefers-reduced-motion:no-preference){
  .vt-levels i{animation:vt-level 1.1s ease-in-out var(--d) infinite alternate}
  .vt-toggle.is-anim{animation:vt-switch 6s infinite}
  .vt-toggle.is-anim::after{animation:vt-knob 6s var(--ease) infinite}
  .vt-inv-bot{animation:vt-invite 6s var(--ease) infinite}
}
@keyframes vt-level{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
@keyframes vt-switch{0%,30%{background:var(--line-strong)}36%,88%{background:var(--ink)}94%,100%{background:var(--line-strong)}}
@keyframes vt-knob{0%,30%{transform:translateX(0)}36%,88%{transform:translateX(12px)}94%,100%{transform:translateX(0)}}
@keyframes vt-invite{0%,14%{opacity:0;transform:scale(.86)}26%,88%{opacity:1;transform:none}100%{opacity:0;transform:scale(.94)}}

/* ---------- Le compte rendu, survolé ---------- */
.vt-showcase>.vt-link{justify-self:start}
.vt-shot{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 24px 60px rgba(22,19,43,.08);overflow:hidden;font-size:var(--fs-3);line-height:1.6}
.vt-shot:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.vt-shot-doc{display:grid;gap:6px;align-content:start;padding:22px 26px}
.vt-shot-doc>.vt-badge{justify-self:start}
.vt-shot-doc .vt-title{font-size:20px}
.vt-shot-trans{display:grid;gap:4px;align-content:start;padding:22px 18px;border-left:1px solid var(--line);background:var(--bg)}
.vt-shot .vt-line,.vt-shot .vt-act{font-size:var(--fs-2)}
.vt-shot .vt-line{transition:background var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}
.vt-shot .vt-src{transition:box-shadow var(--t-base) var(--ease)}
.vt-shot:hover .vt-hover-target,.vt-shot:focus .vt-hover-target,.vt-shot:focus-within .vt-hover-target{background:var(--signal-soft);box-shadow:inset 2px 0 0 var(--iris)}
.vt-shot:hover .vt-decision .vt-src,.vt-shot:focus .vt-decision .vt-src{box-shadow:0 0 0 3px rgba(132,103,255,.28)}

/* ---------- Confiance : la seule bande sombre ---------- */
.band{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px 48px;margin-top:64px;padding:44px 40px;border-radius:18px;background:var(--band);color:var(--band-ink)}
.band h2{color:var(--white)}
.band .eyebrow{color:var(--band-mute);margin-bottom:6px}
.band-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.band-list li{display:grid;gap:2px;padding-bottom:14px;border-bottom:1px solid var(--band-line)}
.band-list b{color:var(--white);font-size:15px;font-weight:600}
.band-list span{color:var(--band-mute);font-size:var(--fs-3)}
.band-note{grid-column:1/-1;margin:0;color:var(--band-mute);font-size:var(--fs-2)}
.band-note a{color:var(--white);text-decoration:underline;text-underline-offset:3px}

/* ---------- Tarif, questions, appel final ---------- */
.vt-section.vt-price{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:64px;padding:28px 30px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}
.vt-price p{margin-top:6px;max-width:560px}
.faq{max-width:820px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 2px;font-size:15px;font-weight:600;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:9px;height:9px;flex:none;margin-right:4px;border:solid var(--muted);border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--t-base) var(--ease)}
.faq details[open]>summary{margin-bottom:0}
.faq details[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.faq summary:hover{color:var(--ink)}
.faq summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
.faq p{max-width:72ch;margin:0 0 12px;color:var(--muted);font-size:var(--fs-3);line-height:1.65}
.faq p b{color:var(--ink);font-weight:600}
.vt-final{display:grid;justify-items:center;gap:20px;padding:80px 0 24px;text-align:center}
.vt-final h2{font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.035em;max-width:22ch}
.vt-final .vt-ctas{justify-content:center}
.vt-final .notice{max-width:560px;text-align:left}

/* ---------- Visio : les états d'une réunion ---------- */
.vt-join-card{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 30px 70px rgba(22,19,43,.10)}
.vt-join-top{display:grid}
.vt-join-top b{font-size:var(--fs-4);font-weight:600;letter-spacing:-.01em}
.vt-join-top span{color:var(--muted);font-size:var(--fs-2)}
.vt-join-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.vt-join-tiles>span{display:grid;place-items:center;aspect-ratio:4/3;border-radius:12px;background:var(--bg);border:1px solid var(--line);color:var(--muted);font-weight:600;font-size:15px}
.vt-join-tiles>.vt-join-bot{gap:4px;align-content:center;color:var(--ink);font-size:var(--fs-1)}
.vt-states{position:relative;height:30px}
.vt-st{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:8px;background:var(--sunken);border:1px solid var(--line);font-size:var(--fs-2);font-weight:600;white-space:nowrap;opacity:0}
.vt-st4{opacity:1;background:var(--signal-soft);border-color:transparent;color:var(--iris-text)}
.vt-st3 i{width:8px;height:8px;border-radius:50%;background:var(--iris)}
.vt-track{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.vt-track i{height:3px;border-radius:2px;background:var(--ink)}
.vt-join-note{margin:0;color:var(--muted);font-size:var(--fs-1)}
@media (prefers-reduced-motion:no-preference){
  .vt-join-bot{animation:vt-bot 12s infinite}
  .vt-st3 i{animation:vt-pulse 1.6s ease-out infinite}
  .vt-st0{animation:vt-st0 12s var(--ease) infinite}
  .vt-st1{animation:vt-st1 12s var(--ease) infinite}
  .vt-st2{animation:vt-st2 12s var(--ease) infinite}
  .vt-st3{animation:vt-st3 12s var(--ease) infinite}
  .vt-st4{animation:vt-st4 12s var(--ease) infinite}
  .vt-tr0{animation:vt-tr0 12s infinite}
  .vt-tr1{animation:vt-tr1 12s infinite}
  .vt-tr2{animation:vt-tr2 12s infinite}
  .vt-tr3{animation:vt-tr3 12s infinite}
  .vt-tr4{animation:vt-tr4 12s infinite}
}
@keyframes vt-bot{0%,20%{opacity:.25}24%,100%{opacity:1}}
@keyframes vt-st0{0%,18%{opacity:1;transform:none}20%,98%{opacity:0;transform:translateY(-4px)}100%{opacity:1}}
@keyframes vt-st1{0%,20%{opacity:0;transform:translateY(4px)}22%,38%{opacity:1;transform:none}40%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes vt-st2{0%,40%{opacity:0;transform:translateY(4px)}42%,58%{opacity:1;transform:none}60%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes vt-st3{0%,60%{opacity:0;transform:translateY(4px)}62%,78%{opacity:1;transform:none}80%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes vt-st4{0%,80%{opacity:0;transform:translateY(4px)}82%,96%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes vt-tr0{0%{background:var(--line)}2%,96%{background:var(--ink)}99%,100%{background:var(--line)}}
@keyframes vt-tr1{0%,20%{background:var(--line)}22%,96%{background:var(--ink)}99%,100%{background:var(--line)}}
@keyframes vt-tr2{0%,40%{background:var(--line)}42%,96%{background:var(--ink)}99%,100%{background:var(--line)}}
@keyframes vt-tr3{0%,60%{background:var(--line)}62%,96%{background:var(--ink)}99%,100%{background:var(--line)}}
@keyframes vt-tr4{0%,80%{background:var(--line)}82%,96%{background:var(--ink)}99%,100%{background:var(--line)}}

/* ---------- Visio : agenda d'exemple, positionnement honnête ---------- */
.vt-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px}
.vt-agenda{gap:0;padding:18px 20px}
.vt-agenda .vt-card-head{padding-bottom:10px}
.vt-ag-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px 0;border-top:1px solid var(--line);font-size:var(--fs-2)}
.vt-ag-row>span:first-child{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
.vt-ag-row b{display:block;font-weight:600}
.vt-ag-row small{display:block;color:var(--muted);font-size:var(--fs-1)}
.vt-honest>.vt-link{justify-self:start}

/* ---------- Tarifs ---------- */
.vt-plans{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start;padding-top:28px}
.vt-plan-main{gap:12px;padding:24px;box-shadow:0 24px 60px rgba(22,19,43,.08)}
.vt-plan-main>.button{justify-self:start;margin-top:6px}
.vt-amount{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:2px 0 0;font-size:56px;font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.vt-amount small{font-size:var(--fs-3);font-weight:450;letter-spacing:0;color:var(--muted)}
.vt-topups{display:grid}
.vt-topups p{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:20px;letter-spacing:-.02em}
.vt-topups b{font-weight:600;font-variant-numeric:tabular-nums}
.vt-calc{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.vt-calc-inputs{display:grid;gap:10px}
.vt-calc-inputs label{display:flex;justify-content:space-between;gap:12px}
.vt-calc-inputs output{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}
.vt-calc input[type=range]{width:100%;margin:0 0 6px;accent-color:var(--ink)}
.vt-meter{display:flex;height:8px;border-radius:4px;background:var(--sunken);overflow:hidden}
.vt-meter i{display:block;height:100%;transition:width var(--t-base) var(--ease)}
.vt-meter .m-in{background:var(--iris)}
.vt-meter .m-top{background:var(--ink)}
.vt-calc-result{display:grid;gap:6px;padding-left:28px;border-left:1px solid var(--line)}
.vt-calc-result strong{font-size:56px;font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.vt-calc-result>span:not(.vt-fine){color:var(--muted)}

/* ---------- Présentiel ---------- */
.vt-phone-stage{margin:0;display:grid;gap:10px;justify-items:center;padding:30px 20px 14px;border-radius:20px;background:var(--sunken);border:1px solid var(--line)}
.vt-phone{width:min(280px,100%);display:grid;justify-items:center;gap:12px;padding:16px 18px 22px;border:7px solid var(--ink);border-radius:38px;background:var(--surface);box-shadow:0 30px 70px rgba(22,19,43,.12)}
.vt-phone-status{justify-self:stretch;display:flex;justify-content:space-between;align-items:center;padding:0 6px;font-size:var(--fs-1);font-weight:600;font-variant-numeric:tabular-nums}
.vt-phone-status i{width:18px;height:9px;border:1.5px solid var(--ink);border-radius:3px}
.vt-phone .vt-live{margin-top:10px;font-size:var(--fs-2)}
.vt-phone-title{font-size:var(--fs-5);font-weight:600;letter-spacing:-.02em}
.vt-phone .vt-clock{font-size:52px;margin:6px 0 2px}
.vt-phone .vt-levels{height:56px}
.vt-phone-stop{display:inline-flex;align-items:center;gap:8px;min-height:42px;margin-top:8px;padding:0 18px;border-radius:999px;background:var(--ink);color:var(--white);font-size:var(--fs-2);font-weight:600}
.vt-phone-stop i{width:10px;height:10px;border-radius:2px;background:var(--white)}
.vt-phone-note{color:var(--muted);font-size:var(--fs-1);text-align:center}
.vt-seq{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.vt-seq li{position:relative;display:grid;gap:4px;align-content:start;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.vt-seq li+li::before{content:"";position:absolute;left:-13px;top:27px;width:14px;height:1px;background:var(--line-strong)}
.vt-seq b{color:var(--muted);font-size:var(--fs-1);font-weight:600;font-variant-numeric:tabular-nums}
.vt-seq p{color:var(--muted);font-size:var(--fs-2);line-height:1.5}
.vt-compare-note{max-width:860px;color:var(--muted);font-size:var(--fs-2);line-height:1.65}
.vt-compare-note b{color:var(--ink);font-weight:600}
.vt-vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.vt-vs>div{display:grid;gap:8px;align-content:start;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.vt-vs>div:last-child{border-color:var(--ink)}
.vt-vs ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.vt-vs li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px}
.vt-vs li::before{content:"–";color:var(--faint)}
.vt-vs>div:last-child li::before{content:"✓";color:var(--iris-text);font-weight:700}

/* ---------- Connexion, aide ---------- */
.vt-hero.vt-login{grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:start;padding-top:56px}
.vt-login-card{gap:14px;padding:24px}
.vt-login-card h2{font-size:20px}
.vt-login-card .vt-ctas{flex-direction:column;align-items:stretch;gap:10px}
.vt-login-card .vt-ctas .vt-link{align-self:center;margin-top:4px}
.vt-login-more{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.vt-login-more .vt-link{justify-self:start;font-size:var(--fs-2)}
.vt-help-more{padding-top:40px}
.site+.legal-page{margin-top:48px}

/* ---------- Apparition au défilement ---------- */
@media (prefers-reduced-motion:no-preference){
  .vt-hero-copy>*{animation:vt-up .8s var(--ease) both}
  .vt-hero-copy>:nth-child(2){animation-delay:90ms}
  .vt-hero-copy>:nth-child(3){animation-delay:180ms}
  .vt-hero-copy>:nth-child(4){animation-delay:270ms}
  .vt-hero-copy>:nth-child(5){animation-delay:360ms}
  .vt-hero>figure,.vt-hero>.vt-card{animation:vt-up .9s var(--ease) .2s both}
}
@keyframes vt-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.vt-motion .vt-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.vt-motion .vt-reveal.is-in{opacity:1;transform:none}
.vt-motion .vt-reveal .vt-stagger>*{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i,0) * 90ms + 120ms)}
.vt-motion .vt-reveal.is-in .vt-stagger>*{opacity:1;transform:none}
.vt-motion .vt-reveal .vt-stagger>.vt-use:hover{transition-delay:0s;transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.vt-motion *{animation:none!important;transition:none!important}}
@media print{.vt-reveal,.vt-reveal *{opacity:1!important;transform:none!important}}

/* ---------- Largeurs ---------- */
@media (max-width:1100px){
  .vt-hero,.vt-hero.vt-login{grid-template-columns:minmax(0,1fr);gap:32px}
  .vt-app{grid-template-columns:minmax(0,1fr) 200px}
  .vt-list{display:none}
  .vt-seq{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vt-seq li+li::before{display:none}
  .vt-uses{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .vt-steps,.vt-uses,.vt-grid2,.vt-grid3,.vt-plans,.vt-vs,.vt-split{grid-template-columns:minmax(0,1fr)}
  .vt-shot,.vt-calc{grid-template-columns:minmax(0,1fr)}
  .vt-shot-trans{border-left:0;border-top:1px solid var(--line)}
  .vt-calc-result{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}
  .band{grid-template-columns:minmax(0,1fr);padding:28px 22px}
  .vt-section.vt-price{flex-direction:column;align-items:flex-start}
  .vt-section{padding-top:48px}
}
@media (max-width:600px){
  .site h2{font-size:23px}
  .vt-app{grid-template-columns:minmax(0,1fr)}
  .vt-trans{border-left:0;border-top:1px solid var(--line)}
  .vt-hero{padding:20px 0 28px}
  .vt-seq{grid-template-columns:minmax(0,1fr)}
  .vt-platforms{justify-content:flex-start;font-size:var(--fs-2)}
  .vt-final{justify-items:start;padding:48px 0 16px;text-align:left}
  .vt-final .vt-ctas{justify-content:flex-start}
  .vt-amount,.vt-calc-result strong{font-size:44px}
  .vt-kv>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .vt-ctas .button{flex:1 1 100%}
  .vt-ctas .vt-link{min-height:44px}
}
