/* ==========================================================================
   Trust LLC — landing page (sections sous le hero)
   Chargé après styles.css. Tout est préfixé .lp- pour ne pas toucher aux
   autres pages du site.
   ========================================================================== */

.lp {
  --lp-ink: #0b1220;
  --lp-body: #4b5565;
  --lp-line: rgba(11, 18, 32, 0.08);
  --lp-soft: #f4f7fe;
  --lp-blue: #1450e6;
  --lp-blue-deep: #0d3bb8;
  --lp-blue-tint: rgba(20, 80, 230, 0.08);
  --lp-teal: #0fb5a4;
  --lp-dark: #0a0f1e;
  --lp-card-shadow: 0 1px 2px rgba(11, 18, 32, 0.04), 0 18px 40px -12px rgba(11, 18, 32, 0.12);
  --lp-r: 28px;
}

.lp-section { padding: 112px 0; position: relative; }
.lp-section--soft { background: var(--lp-soft); }
.lp-container { max-width: 1180px; margin: 0 auto; padding: 0 28px; }

/* ---------- Titres de section ---------- */
.lp-head { max-width: 760px; margin: 0 auto 64px; text-align: center; }
.lp-head--left { margin-left: 0; text-align: left; }
.lp-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px; border-radius: 999px;
  background: var(--lp-blue-tint); color: var(--lp-blue);
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  margin-bottom: 20px;
}
.lp-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--lp-blue); }
.lp h2.lp-title {
  font-size: clamp(32px, 4.2vw, 52px); line-height: 1.06; letter-spacing: -0.035em;
  font-weight: 800; color: var(--lp-ink); margin: 0 0 18px;
}
.lp h2.lp-title em { color: var(--lp-blue); font-style: normal; }
.lp-lead { font-size: 18px; line-height: 1.65; color: var(--lp-body); margin: 0; }

/* ---------- Boutons spécifiques ---------- */
.lp-btn-row { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 44px; }
.lp-btn-row--left { justify-content: flex-start; }
.lp-btn-wa {
  display: inline-flex; align-items: center; gap: 10px; padding: 16px 28px; border-radius: 999px;
  font-weight: 600; font-size: 15.5px; color: var(--lp-ink); background: #fff;
  border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow);
  transition: transform .2s ease, box-shadow .2s ease;
}
.lp-btn-wa:hover { transform: translateY(-2px); }
.lp-btn-wa svg { width: 20px; height: 20px; fill: #1da851; }

.lp svg.ic { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.lp-input svg.ic { width: 16px; height: 16px; color: var(--lp-body); }
.lp svg.i { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* ==========================================================================
   1. BANDEAU DE CONFIANCE
   ========================================================================== */
.lp-trust { padding: 36px 0 0; }
.lp-trust-row {
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: #fff; border: 1px solid var(--lp-line); border-radius: 24px; box-shadow: var(--lp-card-shadow);
}
.lp-trust-item { display: flex; align-items: center; gap: 16px; padding: 26px 28px; }
.lp-trust-item + .lp-trust-item { border-left: 1px solid var(--lp-line); }
.lp-trust-ico {
  width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center;
  background: var(--lp-blue-tint); color: var(--lp-blue); flex-shrink: 0;
}
.lp-trust-item strong { display: block; font-size: 17px; font-weight: 700; letter-spacing: -0.02em; color: var(--lp-ink); line-height: 1.2; }
.lp-trust-item span:not([class]) { display: block; font-size: 13.5px; color: var(--lp-body); margin-top: 3px; }

/* ==========================================================================
   2. LE FORMULAIRE EN 4 ÉTAPES
   ========================================================================== */
.lp-flow { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; align-items: center; }
.lp-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.lp-step {
  display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; text-align: left; width: 100%;
  padding: 22px 24px; border-radius: 22px; border: 1px solid transparent; background: transparent;
  font-family: inherit; cursor: pointer; transition: background .25s, border-color .25s, box-shadow .25s;
}
.lp-step:hover { background: rgba(255, 255, 255, 0.7); }
.lp-step[aria-selected="true"] { background: #fff; border-color: var(--lp-line); box-shadow: var(--lp-card-shadow); }
.lp-step-num {
  width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center;
  font-weight: 800; font-size: 18px; color: var(--lp-body); background: #e8edf8; transition: all .25s;
}
.lp-step[aria-selected="true"] .lp-step-num { background: var(--lp-blue); color: #fff; box-shadow: 0 10px 24px -6px rgba(20, 80, 230, 0.55); }
.lp-step h3 { font-size: 19px; letter-spacing: -0.02em; color: var(--lp-ink); margin: 2px 0 6px; }
.lp-step p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--lp-body); }
.lp-step-more { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .35s ease, opacity .35s ease; }
.lp-step[aria-selected="true"] .lp-step-more { max-height: 90px; opacity: 1; }

/* Fenêtre de formulaire (maquette) */
.lp-window {
  background: #fff; border-radius: 26px; border: 1px solid var(--lp-line);
  box-shadow: 0 2px 4px rgba(11, 18, 32, 0.04), 0 40px 80px -24px rgba(20, 50, 130, 0.28);
  overflow: hidden; position: relative;
}
.lp-window::before {
  content: ""; position: absolute; inset: -40% -20% auto auto; width: 70%; height: 70%;
  background: radial-gradient(closest-side, rgba(20, 80, 230, 0.12), transparent); pointer-events: none;
}
.lp-win-bar { display: flex; align-items: center; gap: 8px; padding: 14px 18px; background: #f7f9fe; border-bottom: 1px solid var(--lp-line); }
.lp-win-dot { width: 11px; height: 11px; border-radius: 50%; background: #d8deea; }
.lp-win-url {
  margin: 0 auto; display: flex; align-items: center; gap: 6px; padding: 5px 16px; border-radius: 999px;
  background: #fff; border: 1px solid var(--lp-line); font-size: 12.5px; color: var(--lp-body);
}
.lp-win-url svg { width: 12px; height: 12px; }
.lp-win-body { padding: 28px 30px 30px; position: relative; min-height: 440px; }
.lp-progress { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; font-size: 13px; font-weight: 600; color: var(--lp-body); }
.lp-progress-bar { flex: 1; height: 6px; margin: 0 14px; border-radius: 99px; background: #e8edf8; overflow: hidden; }
.lp-progress-bar i { display: block; height: 100%; width: 25%; border-radius: inherit; background: linear-gradient(90deg, var(--lp-blue), #4f8bff); transition: width .5s cubic-bezier(.16, 1, .3, 1); }

.lp-panel { display: none; animation: lpIn .45s cubic-bezier(.16, 1, .3, 1); }
.lp-panel.is-active { display: block; }
@keyframes lpIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.lp-panel h4 { font-size: 22px; letter-spacing: -0.025em; color: var(--lp-ink); margin: 0 0 4px; }
.lp-panel > p { font-size: 14px; margin: 0 0 20px; color: var(--lp-body); }

.lp-field { margin-bottom: 14px; }
.lp-field label { display: block; font-size: 12.5px; font-weight: 600; color: var(--lp-body); margin-bottom: 6px; }
.lp-input {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 13px 16px; border-radius: 14px; background: #f6f8fd; border: 1.5px solid #e6ebf5;
  font-size: 15px; font-weight: 500; color: var(--lp-ink);
}
.lp-input.is-focus { border-color: var(--lp-blue); background: #fff; box-shadow: 0 0 0 4px var(--lp-blue-tint); }
.lp-input .caret { width: 2px; height: 18px; background: var(--lp-blue); animation: lpBlink 1s steps(2) infinite; margin-left: -6px; margin-right: auto; }
@keyframes lpBlink { 50% { opacity: 0; } }
.lp-input .suffix { color: var(--lp-body); font-weight: 600; font-size: 13px; }
.lp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-chip { padding: 9px 15px; border-radius: 999px; background: #f6f8fd; border: 1.5px solid #e6ebf5; font-size: 13.5px; font-weight: 600; color: var(--lp-body); }
.lp-chip.is-on { background: var(--lp-blue); border-color: var(--lp-blue); color: #fff; }
.lp-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.lp-states { display: grid; gap: 10px; }
.lp-state {
  display: grid; grid-template-columns: 22px 1fr; gap: 14px; align-items: start;
  padding: 14px 16px; border-radius: 16px; background: #f6f8fd; border: 1.5px solid #e6ebf5;
}
.lp-state.is-on { background: #fff; border-color: var(--lp-blue); box-shadow: 0 0 0 4px var(--lp-blue-tint); }
.lp-radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #c8d0e0; margin-top: 2px; position: relative; }
.lp-state.is-on .lp-radio { border-color: var(--lp-blue); }
.lp-state.is-on .lp-radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--lp-blue); }
.lp-state b { display: block; font-size: 15px; color: var(--lp-ink); }
.lp-state small { display: block; font-size: 12.5px; line-height: 1.45; color: var(--lp-body); margin-top: 2px; }

.lp-recap { border-radius: 16px; background: #f6f8fd; border: 1.5px solid #e6ebf5; padding: 6px 16px; margin-bottom: 14px; }
.lp-recap div { display: flex; justify-content: space-between; padding: 11px 0; font-size: 14px; color: var(--lp-body); }
.lp-recap div + div { border-top: 1px solid #e6ebf5; }
.lp-recap strong { color: var(--lp-ink); font-weight: 600; }
.lp-win-actions { display: grid; grid-template-columns: 1fr 1.2fr; gap: 10px; }
.lp-fake-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px; border-radius: 14px;
  font-weight: 700; font-size: 14.5px; background: #fff; border: 1.5px solid #dfe5f2; color: var(--lp-ink);
}
.lp-fake-btn.is-primary { background: var(--lp-blue); border-color: var(--lp-blue); color: #fff; box-shadow: 0 12px 26px -8px rgba(20, 80, 230, 0.6); }
.lp-fake-btn svg { width: 17px; height: 17px; }
.lp-win-foot { margin-top: 16px; display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--lp-body); }
.lp-win-foot svg { width: 15px; height: 15px; color: var(--lp-teal); }

/* ==========================================================================
   3. APRÈS LA COMMANDE (section sombre + maquette dashboard)
   ========================================================================== */
.lp-dark { background: var(--lp-dark); color: #fff; overflow: hidden; }
.lp-dark::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(700px 420px at 85% 10%, rgba(20, 80, 230, 0.45), transparent 70%),
    radial-gradient(600px 380px at 5% 100%, rgba(15, 181, 164, 0.18), transparent 70%);
}
.lp-dark .lp-container { position: relative; }
.lp-dark .lp-eyebrow { background: rgba(255, 255, 255, 0.1); color: #cfe0ff; }
.lp-dark .lp-eyebrow::before { background: #6fa3ff; }
.lp-dark h2.lp-title { color: #fff; }
.lp-dark h2.lp-title em { color: #7fb0ff; }
.lp-dark .lp-lead { color: rgba(255, 255, 255, 0.72); }
.lp-after { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 72px; align-items: center; }
.lp-feats { list-style: none; margin: 36px 0 0; padding: 0; display: grid; gap: 22px; }
.lp-feats li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; }
.lp-feat-ico { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.09); color: #9cc2ff; border: 1px solid rgba(255, 255, 255, 0.1); }
.lp-feats h3 { font-size: 17px; color: #fff; margin: 0 0 3px; letter-spacing: -0.015em; }
.lp-feats p { margin: 0; font-size: 14.5px; line-height: 1.55; color: rgba(255, 255, 255, 0.65); }

.lp-stage { position: relative; padding: 56px 0 64px; }
.lp-dash {
  background: #fff; color: var(--lp-ink); border-radius: 26px; padding: 26px;
  box-shadow: 0 50px 100px -30px rgba(0, 0, 0, 0.6); position: relative;
}
.lp-dash-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.lp-dash-title { display: flex; align-items: center; gap: 14px; }
.lp-dash-logo { width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(140deg, #1450e6, #4f8bff); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 15px; }
.lp-dash-title b { display: block; font-size: 17px; letter-spacing: -0.02em; }
.lp-dash-title small { color: var(--lp-body); font-size: 13px; }
.lp-badge { padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #e8f8f5; color: #0a8a7c; display: inline-flex; align-items: center; gap: 6px; }
.lp-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: lpPulse 1.8s ease-in-out infinite; }
@keyframes lpPulse { 50% { opacity: .35; } }
.lp-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.lp-timeline li { display: grid; grid-template-columns: 30px 1fr auto; gap: 14px; align-items: center; padding: 13px 0; position: relative; font-size: 15px; font-weight: 600; }
.lp-timeline li:not(:last-child)::after { content: ""; position: absolute; left: 14px; top: 42px; bottom: -13px; width: 2px; background: #dfe5f2; }
.lp-timeline li.is-done:not(:last-child)::after { background: var(--lp-blue); }
.lp-tl-dot { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #eef2fa; border: 2px solid #dfe5f2; color: #fff; position: relative; z-index: 1; }
.lp-tl-dot svg { width: 15px; height: 15px; stroke-width: 3; }
.is-done .lp-tl-dot { background: var(--lp-blue); border-color: var(--lp-blue); }
.is-active .lp-tl-dot { background: #fff; border-color: var(--lp-blue); box-shadow: 0 0 0 5px var(--lp-blue-tint); }
.is-active .lp-tl-dot::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--lp-blue); }
.lp-timeline li.is-todo { color: #8a93a6; font-weight: 500; }
.lp-timeline small { font-size: 12.5px; font-weight: 500; color: var(--lp-body); }

.lp-float {
  position: absolute; background: #fff; color: var(--lp-ink); border-radius: 20px; padding: 14px 16px;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.55); display: flex; gap: 12px; align-items: flex-start; max-width: 300px;
  animation: lpFloat 6s ease-in-out infinite; z-index: 3;
}
.lp-float--mail { left: -48px; bottom: 0; }
.lp-float--wa { right: -28px; top: 4px; animation-delay: -3s; background: #e7fbe9; }
@keyframes lpFloat { 50% { transform: translateY(-8px); } }
.lp-float-ico { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); flex-shrink: 0; }
.lp-float--wa .lp-float-ico { background: #1da851; color: #fff; }
.lp-float--wa .lp-float-ico svg { fill: #fff; stroke: none; }
.lp-float-ico svg { width: 20px; height: 20px; }
.lp-float b { display: block; font-size: 13.5px; }
.lp-float span:not([class]) { display: block; font-size: 12.5px; color: var(--lp-body); line-height: 1.4; margin-top: 2px; }

/* ==========================================================================
   4. POURQUOI UNE LLC (bento)
   ========================================================================== */
.lp-bento { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: minmax(210px, auto); gap: 20px; }
.lp-tile {
  border-radius: var(--lp-r); padding: 32px; background: #fff; border: 1px solid var(--lp-line);
  box-shadow: var(--lp-card-shadow); position: relative; overflow: hidden; display: flex; flex-direction: column;
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s;
}
.lp-tile:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(11, 18, 32, .05), 0 30px 54px -16px rgba(11, 18, 32, .18); }
.lp-tile h3 { font-size: 21px; letter-spacing: -0.025em; color: var(--lp-ink); margin: 0 0 10px; }
.lp-tile p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--lp-body); }
.lp-tile-ico { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); margin-bottom: auto; }
.lp-tile-ico svg { width: 26px; height: 26px; }
.lp-tile-body { margin-top: 28px; }
.lp-tile--a { grid-column: span 3; grid-row: span 2; background: linear-gradient(155deg, #1450e6 0%, #0d3bb8 100%); border: none; color: #fff; }
.lp-tile--a h3 { font-size: 28px; color: #fff; }
.lp-tile--a p { color: rgba(255, 255, 255, 0.8); font-size: 16px; }
.lp-tile--a .lp-tile-ico { background: rgba(255, 255, 255, 0.16); color: #fff; }
.lp-bigstat { font-size: clamp(76px, 9vw, 120px); font-weight: 800; letter-spacing: -0.06em; line-height: .95; color: #fff; margin: 24px 0 8px; }
.lp-bigstat sup { font-size: .32em; letter-spacing: 0; vertical-align: top; position: relative; top: .35em; margin-left: 4px; color: #9cc2ff; }
.lp-tile--a::after { content: ""; position: absolute; right: -90px; top: -90px; width: 320px; height: 320px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .15); box-shadow: 0 0 0 60px rgba(255, 255, 255, .04), 0 0 0 120px rgba(255, 255, 255, .03); pointer-events: none; }
.lp-tile--b, .lp-tile--c { grid-column: span 3; }
.lp-tile--d, .lp-tile--e { grid-column: span 3; }
.lp-fine { font-size: 12.5px !important; opacity: .75; margin-top: 18px !important; line-height: 1.5 !important; }

/* ==========================================================================
   5. POUR QUI
   ========================================================================== */
.lp-who { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.lp-who-card {
  padding: 28px 22px; border-radius: 24px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow);
  text-align: left; transition: transform .3s cubic-bezier(.16, 1, .3, 1);
}
.lp-who-card:hover { transform: translateY(-5px); }
.lp-who-ico { width: 48px; height: 48px; border-radius: 15px; background: var(--lp-soft); color: var(--lp-blue); display: grid; place-items: center; margin-bottom: 20px; }
.lp-who-card h3 { font-size: 17px; letter-spacing: -0.02em; margin: 0 0 8px; color: var(--lp-ink); line-height: 1.25; }
.lp-who-card p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--lp-body); }
.lp-banner {
  margin-top: 28px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 20px 28px;
  border-radius: 22px; background: var(--lp-ink); color: #fff; font-size: 17px; font-weight: 600; letter-spacing: -0.01em; text-align: center;
}
.lp-banner svg { color: #5fe0cf; }

/* ==========================================================================
   6. CHOIX DE L'ÉTAT
   ========================================================================== */
.lp-states-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lp-state-card { padding: 34px 30px 30px; border-radius: var(--lp-r); background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); position: relative; overflow: hidden; display: flex; flex-direction: column; }
.lp-state-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--lp-blue), #4f8bff); }
.lp-state-flag { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-blue); margin-bottom: 14px; }
.lp-state-card h3 { font-size: 30px; letter-spacing: -0.035em; color: var(--lp-ink); margin: 0 0 12px; }
.lp-state-card > p { font-size: 15px; line-height: 1.6; color: var(--lp-body); margin: 0 0 22px; }
.lp-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.lp-tag { padding: 7px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: #e8f8f5; color: #0a8a7c; }
.lp-tag--warn { background: #fff4e0; color: #b26a00; }
.lp-center-note { text-align: center; margin: 32px 0 0; font-size: 15px; color: var(--lp-body); }

/* ==========================================================================
   7. SEUL VS TRUST LLC
   ========================================================================== */
.lp-vs { display: grid; grid-template-columns: 1fr 1.1fr; gap: 22px; align-items: stretch; }
.lp-vs-col { border-radius: var(--lp-r); padding: 38px 36px; }
.lp-vs-col h3 { font-size: 22px; letter-spacing: -0.025em; margin: 0 0 6px; }
.lp-vs-col > p { margin: 0 0 26px; font-size: 15px; }
.lp-vs-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.lp-vs-col li { display: grid; grid-template-columns: 28px 1fr; gap: 14px; align-items: start; font-size: 15.5px; line-height: 1.5; }
.lp-vs-col li svg { width: 28px; height: 28px; padding: 6px; border-radius: 50%; stroke-width: 2.4; }
.lp-vs-solo { background: #fff; border: 1px dashed #cdd5e6; }
.lp-vs-solo h3 { color: #5b6477; }
.lp-vs-solo li { color: #6b7385; }
.lp-vs-solo li svg { background: #fdeceb; color: #d6453d; }
.lp-vs-us { background: var(--lp-ink); color: #fff; box-shadow: 0 40px 80px -30px rgba(11, 18, 32, .55); position: relative; overflow: hidden; }
.lp-vs-us::after { content: ""; position: absolute; right: -120px; bottom: -120px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(closest-side, rgba(20, 80, 230, .55), transparent); }
.lp-vs-us h3 { color: #fff; }
.lp-vs-us > p { color: rgba(255, 255, 255, .65); }
.lp-vs-us li { color: rgba(255, 255, 255, .92); position: relative; z-index: 1; }
.lp-vs-us li svg { background: rgba(95, 224, 207, .16); color: #5fe0cf; }

/* ==========================================================================
   8. BASIQUE / PREMIUM (sans prix)
   ========================================================================== */
.lp-compare { background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-r); box-shadow: var(--lp-card-shadow); overflow: hidden; }
.lp-compare table { width: 100%; border-collapse: collapse; }
.lp-compare caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.lp-compare thead th { padding: 34px 20px 28px; vertical-align: bottom; font-weight: 800; background: #fff; }
.lp-compare thead th:first-child { text-align: left; padding-left: 36px; font-size: 14px; color: var(--lp-body); font-weight: 600; width: 44%; }
.lp-plan-name { display: block; font-size: 26px; letter-spacing: -0.03em; color: var(--lp-ink); }
.lp-plan-sub { display: block; font-size: 13px; font-weight: 500; color: var(--lp-body); margin-top: 4px; }
.lp-plan-premium { background: linear-gradient(180deg, #eef3ff, #fff) !important; position: relative; }
.lp-plan-premium .lp-plan-name { color: var(--lp-blue); }
.lp-plan-tag { display: inline-block; margin-bottom: 10px; padding: 5px 12px; border-radius: 999px; font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; background: var(--lp-blue); color: #fff; }
.lp-compare tbody th, .lp-compare tbody td { padding: 17px 20px; border-top: 1px solid var(--lp-line); font-size: 15px; text-align: center; }
.lp-compare tbody th { text-align: left; padding-left: 36px; font-weight: 500; color: var(--lp-ink); }
.lp-compare tbody td.col-premium { background: rgba(20, 80, 230, 0.035); }
.lp-compare tr.group th { background: var(--lp-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--lp-body); font-weight: 700; padding-top: 13px; padding-bottom: 13px; }
.lp-compare tr.group td { background: var(--lp-soft); border-top: 1px solid var(--lp-line); }
.lp-yes { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--lp-blue-tint); color: var(--lp-blue); }
.lp-yes svg { width: 14px; height: 14px; stroke-width: 3; }
.lp-no { color: #c3c9d6; font-size: 20px; line-height: 1; }
.lp-val { font-weight: 600; color: var(--lp-ink); font-size: 14px; }
.lp-compare tfoot td { padding: 26px 20px 34px; border-top: 1px solid var(--lp-line); text-align: center; }
.lp-compare tfoot td:first-child { text-align: left; padding-left: 36px; font-size: 14px; color: var(--lp-body); }
.lp-compare tfoot .btn { width: 100%; max-width: 240px; justify-content: center; }
.lp-compare-note { text-align: center; margin: 26px auto 0; max-width: 720px; font-size: 14.5px; line-height: 1.6; color: var(--lp-body); }
.lp-compare-note strong { color: var(--lp-ink); }

/* ==========================================================================
   9. APRÈS LA CRÉATION
   ========================================================================== */
.lp-after-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lp-ac { display: flex; flex-direction: column; padding: 32px; border-radius: var(--lp-r); background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
.lp-ac:hover { transform: translateY(-5px); }
.lp-ac-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.lp-ac-ico { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); }
.lp-pill { padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; background: var(--lp-soft); color: var(--lp-body); }
.lp-pill--must { background: #e8edff; color: var(--lp-blue); }
.lp-ac h3 { font-size: 21px; letter-spacing: -0.025em; margin: 0 0 10px; color: var(--lp-ink); }
.lp-ac p { font-size: 15px; line-height: 1.6; margin: 0 0 22px; color: var(--lp-body); }
.lp-ac a.more { margin-top: auto; font-weight: 700; font-size: 14.5px; color: var(--lp-blue); display: inline-flex; align-items: center; gap: 6px; }
.lp-ac a.more svg { width: 16px; height: 16px; transition: transform .2s; }
.lp-ac:hover a.more svg { transform: translateX(4px); }

/* ==========================================================================
   10. FAQ (habille le markup .faq-* existant)
   ========================================================================== */
.lp-faq-wrap { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 64px; align-items: start; }
.lp-faq-wrap .lp-head { position: sticky; top: 120px; margin-bottom: 0; }
.lp-faq-side-card { margin-top: 32px; padding: 26px; border-radius: 22px; background: var(--lp-ink); color: #fff; }
.lp-faq-side-card b { display: block; font-size: 18px; letter-spacing: -.02em; margin-bottom: 6px; }
.lp-faq-side-card p { color: rgba(255, 255, 255, .7); font-size: 14.5px; margin: 0 0 18px; }
.lp-faq-side-card a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 999px; background: #1da851; color: #fff; font-weight: 700; font-size: 14.5px; }
.lp-faq-side-card svg { width: 18px; height: 18px; fill: #fff; }
.lp .faq-list { max-width: none; margin: 0; display: grid; gap: 12px; }
.lp .faq-item { background: #fff; border: 1px solid var(--lp-line); border-radius: 20px; box-shadow: none; }
.lp .faq-item.is-open { box-shadow: var(--lp-card-shadow); border-color: rgba(20, 80, 230, .25); }
.lp .faq-q-text { font-size: 16.5px; }

/* ==========================================================================
   11. CTA FINAL
   ========================================================================== */
.lp-cta { padding: 28px 28px 112px; }
.lp-cta-card {
  max-width: 1180px; margin: 0 auto; border-radius: 40px; padding: 96px 40px; text-align: center; position: relative; overflow: hidden; color: #fff;
  background: radial-gradient(900px 400px at 50% -10%, #3d7bff 0%, transparent 65%), linear-gradient(160deg, #1450e6 0%, #0a2f96 100%);
  box-shadow: 0 50px 100px -40px rgba(20, 80, 230, .7);
}
.lp-cta-card::before, .lp-cta-card::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .14); pointer-events: none; }
.lp-cta-card::before { width: 700px; height: 700px; left: -260px; bottom: -420px; box-shadow: 0 0 0 70px rgba(255, 255, 255, .03), 0 0 0 140px rgba(255, 255, 255, .025); }
.lp-cta-card::after { width: 520px; height: 520px; right: -180px; top: -300px; box-shadow: 0 0 0 70px rgba(255, 255, 255, .03); }
.lp-cta-card > * { position: relative; z-index: 1; }
.lp-cta-card h2 { font-size: clamp(34px, 4.8vw, 60px); line-height: 1.04; letter-spacing: -0.04em; font-weight: 800; color: #fff; margin: 0 auto 18px; max-width: 800px; }
.lp-cta-card h2 em { color: #a9caff; font-style: normal; }
.lp-cta-card > p { color: rgba(255, 255, 255, .8); font-size: 18px; max-width: 560px; margin: 0 auto; }
.lp-cta-card .lp-btn-row { margin-top: 40px; }
.lp-cta-card .btn-primary { background: #fff; color: var(--lp-blue); box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .4); }
.lp-cta-card .btn-primary .btn-text::before { color: var(--lp-blue); }
.lp-cta-points { display: flex; flex-wrap: wrap; gap: 10px 26px; justify-content: center; margin: 34px 0 0; padding: 0; list-style: none; font-size: 14.5px; color: rgba(255, 255, 255, .85); font-weight: 500; }
.lp-cta-points li { display: inline-flex; align-items: center; gap: 8px; }
.lp-cta-points svg { width: 18px; height: 18px; color: #7ff0dc; stroke-width: 2.4; }

/* ==========================================================================
   Responsive (base — on affinera le mobile ensuite)
   ========================================================================== */
@media (max-width: 1040px) {
  .lp-flow, .lp-after, .lp-faq-wrap, .lp-vs { grid-template-columns: 1fr; gap: 44px; }
  .lp-faq-wrap .lp-head { position: static; }
  .lp-trust-row { grid-template-columns: 1fr 1fr; }
  .lp-trust-item:nth-child(3) { border-left: none; }
  .lp-trust-item:nth-child(n+3) { border-top: 1px solid var(--lp-line); }
  .lp-who { grid-template-columns: repeat(2, 1fr); }
  .lp-states-grid, .lp-after-cards { grid-template-columns: 1fr; }
  .lp-bento { grid-template-columns: 1fr 1fr; }
  .lp-tile--a { grid-column: span 2; grid-row: auto; }
  .lp-tile--b, .lp-tile--c, .lp-tile--d, .lp-tile--e { grid-column: span 1; }
  .lp-float--mail { left: 8px; } .lp-float--wa { right: 8px; }
}
@media (max-width: 640px) {
  .lp-section { padding: 72px 0; }
  .lp-container { padding: 0 20px; }
  .lp-trust-row, .lp-who, .lp-bento { grid-template-columns: 1fr; }
  .lp-tile--a, .lp-tile--b, .lp-tile--c, .lp-tile--d, .lp-tile--e { grid-column: auto; }
  .lp-trust-item + .lp-trust-item { border-left: none; border-top: 1px solid var(--lp-line); }
  .lp-compare { overflow-x: auto; }
  .lp-compare table { min-width: 620px; }
  .lp-row2, .lp-win-actions { grid-template-columns: 1fr; }
  .lp-float { position: static; margin-top: 14px; max-width: none; animation: none; }
  .lp-cta-card { padding: 64px 22px; border-radius: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-float, .lp-badge::before, .lp-input .caret { animation: none; }
  .lp-panel { animation: none; }
}

/* ==========================================================================
   V2 — retours : étapes cliquables, bouton pointillé, header compact,
   décors, visuels dans les blocs, nouveau footer
   ========================================================================== */

/* ---------- Bouton WhatsApp en pointillés (même forme que "Découvrir notre méthode") ---------- */
.btn.lp-btn-dashed { border-style: dashed; border-width: 1.5px; border-color: #9aa3b5; background: transparent; color: var(--lp-ink); }
.btn.lp-btn-dashed:hover { border-style: solid; border-color: var(--lp-blue); color: var(--lp-blue); background: var(--lp-blue-tint); }
.btn.lp-btn-dashed svg { width: 19px; height: 19px; fill: #1da851; flex-shrink: 0; }

/* ---------- Étapes : un vrai look de boutons cliquables ---------- */
.lp-steps-col { display: block; }
.lp-steps { gap: 14px; }
.lp-step {
  position: relative; overflow: hidden; color: var(--lp-ink);
  padding: 22px 64px 28px 24px; border-radius: 22px;
  background: #fff; border: 1.5px solid #dfe6f5;
  box-shadow: 0 1px 2px rgba(11, 18, 32, 0.05), 0 8px 20px -10px rgba(20, 50, 130, 0.22);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), border-color .25s, box-shadow .25s, background .35s, color .25s;
}
.lp-step:hover { transform: translateX(6px); border-color: var(--lp-blue); background: #fff; box-shadow: 0 2px 4px rgba(20, 80, 230, 0.08), 0 16px 32px -12px rgba(20, 80, 230, 0.35); }
.lp-step:focus-visible { outline: 3px solid var(--lp-blue-tint); outline-offset: 2px; }
.lp-step-num { background: var(--lp-blue-tint); color: var(--lp-blue); }
.lp-step-go {
  position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
  width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center;
  background: var(--lp-blue-tint); color: var(--lp-blue); transition: all .25s;
}
.lp-step-go svg { width: 17px; height: 17px; }
.lp-step:hover .lp-step-go { background: var(--lp-blue); color: #fff; transform: translateY(-50%) translateX(3px); }

.lp-step[aria-selected="true"] {
  background: linear-gradient(135deg, #1a5cff 0%, #0d3bb8 100%); border-color: transparent; color: #fff;
  box-shadow: 0 24px 44px -16px rgba(20, 80, 230, 0.7); transform: translateX(10px);
}
.lp-step[aria-selected="true"] h3 { color: #fff; }
.lp-step[aria-selected="true"] p { color: rgba(255, 255, 255, 0.82); }
.lp-step[aria-selected="true"] .lp-step-num { background: rgba(255, 255, 255, 0.18); color: #fff; box-shadow: none; }
.lp-step[aria-selected="true"] .lp-step-go { background: rgba(255, 255, 255, 0.2); color: #fff; }

/* Minuteur : barre qui se remplit en 3 s sous l'étape active */
.lp-step-timer { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: transparent; display: block; }
.lp-step-timer::after { content: ""; position: absolute; inset: 0; width: 0; background: rgba(255, 255, 255, 0.85); border-radius: 0 99px 99px 0; }
[data-flow].is-running .lp-step-timer.is-run::after { animation: lpFill 3s linear forwards; }
@keyframes lpFill { from { width: 0; } to { width: 100%; } }

.lp-hint { display: flex; align-items: center; gap: 10px; margin: 20px 0 0 4px; font-size: 13.5px; font-weight: 600; color: var(--lp-body); }
.lp-hint svg { width: 18px; height: 18px; color: var(--lp-blue); animation: lpTap 1.8s ease-in-out infinite; }
@keyframes lpTap { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(4px, 4px); } }

/* Puces flottantes autour de la maquette */
.lp-window-wrap { position: relative; }
.lp-chipfloat {
  position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px;
  background: #fff; color: var(--lp-ink); font-size: 13px; font-weight: 700; border: 1px solid var(--lp-line);
  box-shadow: 0 18px 36px -12px rgba(20, 50, 130, 0.35); animation: lpFloat 6s ease-in-out infinite;
}
.lp-chipfloat svg { width: 16px; height: 16px; color: var(--lp-teal); }
.lp-chipfloat.c1 { top: -20px; right: 28px; }
.lp-chipfloat.c2 { left: 36px; bottom: -20px; animation-delay: -2s; }
.lp-chipfloat.c3 { right: 36px; bottom: -20px; animation-delay: -4s; }
.lp-chipfloat.c3 svg { color: #1da851; fill: #1da851; stroke: none; }

/* ---------- Décors de section : halos + trame de points ---------- */
.lp-section.has-deco { overflow: hidden; }
.lp-section.has-deco > .lp-container { position: relative; z-index: 1; }
.lp-section.has-deco::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(520px 340px at 0% 8%, rgba(20, 80, 230, 0.10), transparent 70%),
    radial-gradient(520px 340px at 100% 92%, rgba(15, 181, 164, 0.10), transparent 70%);
}
.lp-section.has-deco::after {
  content: ""; position: absolute; right: 0; top: 0; width: 46%; height: 62%; z-index: 0; pointer-events: none;
  background-image: radial-gradient(rgba(20, 80, 230, 0.20) 1.2px, transparent 1.6px); background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(closest-side at 100% 0%, #000, transparent); mask-image: radial-gradient(closest-side at 100% 0%, #000, transparent);
}

/* ---------- Mosaïque : visuels vivants dans chaque tuile ---------- */
.lp-viz { position: absolute; top: 24px; right: 24px; width: 104px; height: 104px; display: grid; place-items: center; }
.lp-viz-shield i { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(20, 80, 230, 0.28); animation: lpRing 3.2s ease-out infinite; }
.lp-viz-shield i:nth-child(2) { animation-delay: 1.07s; } .lp-viz-shield i:nth-child(3) { animation-delay: 2.14s; }
@keyframes lpRing { from { transform: scale(.35); opacity: 1; } to { transform: scale(1.1); opacity: 0; } }
.lp-viz-core { position: relative; width: 50px; height: 50px; border-radius: 16px; display: grid; place-items: center; background: var(--lp-blue); color: #fff; box-shadow: 0 12px 24px -8px rgba(20, 80, 230, 0.6); }
.lp-viz-core svg { width: 24px; height: 24px; }
.lp-viz-orbit::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; border: 1.5px dashed rgba(20, 80, 230, 0.35); }
.lp-viz-orbit .spin { position: absolute; inset: 6px; animation: lpSpin 7s linear infinite; }
.lp-viz-orbit .spin b { position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: var(--lp-teal); box-shadow: 0 0 0 4px rgba(15, 181, 164, 0.2); }
@keyframes lpSpin { to { transform: rotate(360deg); } }
.lp-viz-flow { width: auto; height: 52px; top: 30px; right: 26px; display: flex; align-items: center; gap: 0; }
.lp-viz-flow b { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 800; background: #fff; border: 2px solid var(--lp-blue); color: var(--lp-blue); box-shadow: 0 8px 18px -8px rgba(20, 80, 230, 0.5); position: relative; z-index: 1; }
.lp-viz-flow b + i + b { background: var(--lp-blue); color: #fff; }
.lp-viz-flow i { width: 44px; height: 2px; position: relative; background: repeating-linear-gradient(90deg, rgba(20, 80, 230, .5) 0 5px, transparent 5px 10px); }
.lp-viz-flow i::after { content: ""; position: absolute; top: -3px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--lp-teal); animation: lpTravel 2s ease-in-out infinite; }
@keyframes lpTravel { from { left: 0; } to { left: calc(100% - 8px); } }
.lp-viz-pay { width: auto; height: auto; top: 26px; right: 24px; padding: 11px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--lp-line); box-shadow: 0 16px 30px -12px rgba(20, 50, 130, 0.3); display: flex; gap: 10px; align-items: center; animation: lpFloat 5s ease-in-out infinite; }
.lp-viz-pay .ok { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #e3f7ee; color: #12a26a; }
.lp-viz-pay .ok svg { width: 15px; height: 15px; stroke-width: 3; }
.lp-viz-pay span:not([class]) { display: block; font-size: 12px; font-weight: 700; color: var(--lp-ink); line-height: 1.2; }
.lp-viz-pay small { display: block; font-size: 11px; color: var(--lp-body); }
.lp-chiprow { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.lp-chiprow span { padding: 7px 13px; border-radius: 999px; font-size: 12.5px; font-weight: 600; color: #fff; background: rgba(255, 255, 255, 0.14); border: 1px solid rgba(255, 255, 255, 0.22); }

/* ---------- Pour qui : étiquettes + survol vivant ---------- */
.lp-who-card { position: relative; overflow: hidden; display: flex; flex-direction: column; }
.lp-who-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--lp-blue), #4f8bff); transform: scaleX(0); transform-origin: left; transition: transform .4s cubic-bezier(.16, 1, .3, 1); }
.lp-who-card:hover::before { transform: scaleX(1); }
.lp-who-ico { transition: background .3s, color .3s, transform .3s; }
.lp-who-card:hover .lp-who-ico { background: var(--lp-blue); color: #fff; transform: rotate(-6deg) scale(1.06); }
.lp-who-tag { align-self: flex-start; margin-top: auto; padding: 6px 11px; border-radius: 999px; background: var(--lp-soft); color: var(--lp-blue); font-size: 12px; font-weight: 700; }
.lp-who-card p { margin-bottom: 18px; }

/* ---------- États : jauges ---------- */
.lp-meters { display: grid; gap: 12px; margin: 0 0 22px; padding: 16px 18px; border-radius: 16px; background: var(--lp-soft); }
.lp-meter { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13.5px; font-weight: 600; color: var(--lp-ink); }
.lp-meter .dots { display: flex; gap: 6px; }
.lp-meter .dots b { width: 26px; height: 8px; border-radius: 99px; background: #d9e1f2; transition: background .4s; }
.lp-state-card.is-visible .dots[data-n="1"] b:nth-child(-n+1),
.lp-state-card.is-visible .dots[data-n="2"] b:nth-child(-n+2),
.lp-state-card.is-visible .dots[data-n="3"] b:nth-child(-n+3) { background: var(--lp-blue); }
.lp-state-card.is-visible .dots b:nth-child(2) { transition-delay: .15s; } .lp-state-card.is-visible .dots b:nth-child(3) { transition-delay: .3s; }
.lp-state-card { transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s; }
.lp-state-card:hover { transform: translateY(-6px); box-shadow: 0 2px 4px rgba(11, 18, 32, .05), 0 34px 60px -18px rgba(20, 80, 230, .3); }

/* ---------- Seul vs Trust LLC ---------- */
.lp-vs { position: relative; }
.lp-vs-badge {
  position: absolute; z-index: 3; top: 50%; left: calc((100% - 22px) / 2.1 + 11px); transform: translate(-50%, -50%);
  width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 15px; letter-spacing: .04em;
  color: #fff; background: linear-gradient(135deg, #1a5cff, #0d3bb8); border: 5px solid var(--lp-soft); box-shadow: 0 14px 28px -8px rgba(20, 80, 230, 0.6);
}
.lp-vs-result { margin-top: 28px; padding: 15px 18px; border-radius: 16px; font-weight: 700; font-size: 14.5px; position: relative; z-index: 1; }
.lp-vs-solo .lp-vs-result { background: #fdeceb; color: #b8372f; }
.lp-vs-us .lp-vs-result { background: rgba(95, 224, 207, .14); color: #5fe0cf; border: 1px solid rgba(95, 224, 207, .25); }
.lp-vs-col { transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
.lp-vs-us:hover { transform: translateY(-5px); }

/* ---------- Après la création : numéro en filigrane ---------- */
.lp-after-cards { counter-reset: ac; }
.lp-ac { position: relative; overflow: hidden; }
.lp-ac::after { counter-increment: ac; content: "0" counter(ac); position: absolute; right: 22px; bottom: 6px; font-size: 104px; font-weight: 800; letter-spacing: -.06em; line-height: 1; color: rgba(20, 80, 230, 0.06); pointer-events: none; transition: color .3s, transform .4s cubic-bezier(.16, 1, .3, 1); }
.lp-ac:hover::after { color: rgba(20, 80, 230, 0.12); transform: translateY(-6px); }
.lp-ac::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--lp-blue), #4f8bff); transform: scaleX(0); transform-origin: left; transition: transform .4s cubic-bezier(.16, 1, .3, 1); }
.lp-ac:hover::before { transform: scaleX(1); }

/* ---------- FAQ : engagements ---------- */
.lp-pledges { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; }
.lp-pledges li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 18px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); }
.lp-pledges .ic-wrap { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); }
.lp-pledges b { display: block; font-size: 14.5px; color: var(--lp-ink); letter-spacing: -.01em; }
.lp-pledges small { display: block; font-size: 12.5px; color: var(--lp-body); margin-top: 1px; }

/* ==========================================================================
   FOOTER — nouvelle DA
   ========================================================================== */
.lp-footer {
  position: relative; overflow: hidden; color: #fff; background: #070b17; border-radius: 56px 56px 0 0; margin-top: -40px; z-index: 2;
  padding: 88px 0 0;
}
.lp-footer-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(700px 420px at 12% 0%, rgba(20, 80, 230, 0.55), transparent 70%),
    radial-gradient(620px 380px at 100% 40%, rgba(15, 181, 164, 0.18), transparent 70%),
    radial-gradient(900px 500px at 50% 120%, rgba(20, 80, 230, 0.45), transparent 70%);
}
.lp-footer-bg::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .11) 1px, transparent 1.4px); background-size: 28px 28px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 75%); mask-image: linear-gradient(180deg, #000, transparent 75%); }
.lp-footer .lp-container { position: relative; z-index: 1; }
.lp-footer-main { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 56px; padding-bottom: 56px; }
.lp-footer-logo { display: inline-flex; align-items: center; gap: 10px; font-size: 26px; font-weight: 800; letter-spacing: -.03em; color: #fff; }
.lp-footer-logo img { width: 34px; height: 34px; border-radius: 10px; }
.lp-footer-logo span { color: #5fe0cf; }
.lp-footer-tag { margin: 26px 0 12px; font-size: clamp(28px, 3vw, 38px); line-height: 1.1; font-weight: 800; letter-spacing: -.035em; color: #fff; max-width: 360px; }
.lp-footer-tag em { color: #8db8ff; font-style: normal; }
.lp-footer-sub { color: rgba(255, 255, 255, .62); font-size: 14.5px; line-height: 1.65; max-width: 360px; margin: 0 0 26px; }
.lp-footer-wa {
  display: inline-flex; align-items: center; gap: 10px; padding: 13px 20px 13px 16px; border-radius: 999px; font-weight: 700; font-size: 14.5px; color: #fff;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); backdrop-filter: blur(10px); transition: background .25s, transform .25s, border-color .25s;
}
.lp-footer-wa:hover { background: #1da851; border-color: #1da851; transform: translateY(-2px); }
.lp-footer-wa svg { width: 20px; height: 20px; fill: #43e07d; }
.lp-footer-wa:hover svg { fill: #fff; }
.lp-footer-wa small { padding: 3px 9px; border-radius: 999px; background: rgba(95, 224, 207, .18); color: #5fe0cf; font-size: 11.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }
.lp-footer-wa small::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: lpPulse 1.8s ease-in-out infinite; }
.lp-footer-col h3 { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .45); font-weight: 700; margin: 0 0 22px; }
.lp-footer-col a { display: flex; align-items: center; gap: 0; width: fit-content; padding: 7px 0; font-size: 15.5px; font-weight: 500; color: rgba(255, 255, 255, .86); transition: color .25s, gap .25s; }
.lp-footer-col a::before { content: ""; width: 0; height: 2px; border-radius: 2px; background: #5fe0cf; transition: width .25s; margin-right: 0; }
.lp-footer-col a:hover { color: #fff; gap: 10px; }
.lp-footer-col a:hover::before { width: 14px; }

.lp-footer-badges { list-style: none; margin: 0; padding: 22px 0; display: flex; flex-wrap: wrap; gap: 12px; border-top: 1px solid rgba(255, 255, 255, .1); border-bottom: 1px solid rgba(255, 255, 255, .1); }
.lp-footer-badges li { display: inline-flex; align-items: center; gap: 9px; padding: 9px 16px; border-radius: 999px; font-size: 13.5px; font-weight: 600; color: rgba(255, 255, 255, .88); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); }
.lp-footer-badges svg { width: 16px; height: 16px; color: #5fe0cf; }

.lp-footer-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding: 28px 0 8px; }
.lp-footer-disc { font-size: 12.5px; line-height: 1.6; color: rgba(255, 255, 255, .5); max-width: 640px; margin: 0 0 8px; }
.lp-footer-copy { font-size: 12.5px; color: rgba(255, 255, 255, .7); margin: 0; font-weight: 600; }
.lp-footer-top { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--lp-blue); flex-shrink: 0; transition: transform .3s cubic-bezier(.34, 1.56, .64, 1); }
.lp-footer-top:hover { transform: translateY(-5px); }
.lp-footer-top svg { width: 20px; height: 20px; }
.lp-footer-word {
  position: relative; z-index: 1; text-align: center; white-space: nowrap; user-select: none;
  font-size: clamp(72px, 19.5vw, 330px); font-weight: 800; letter-spacing: -.065em; line-height: .78; height: .62em; overflow: hidden; padding-top: .06em; margin-top: 8px;
  background: linear-gradient(180deg, rgba(141, 184, 255, .85) 0%, rgba(20, 80, 230, .35) 55%, rgba(20, 80, 230, 0) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}

@media (max-width: 1040px) {
  .lp-footer-main { grid-template-columns: 1fr 1fr; gap: 40px; }
  .lp-footer-brand { grid-column: 1 / -1; }
  .lp-vs-badge { display: none; }
}
@media (max-width: 640px) {
  .lp-footer { border-radius: 32px 32px 0 0; padding-top: 60px; }
  .lp-footer-main { grid-template-columns: 1fr; }
  .lp-footer-bottom { flex-direction: column; align-items: flex-start; }
  .lp-viz { transform: scale(.8); transform-origin: top right; }
  .lp-step { padding-right: 56px; }
  .lp-chipfloat { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-chipfloat, .lp-viz *, .lp-hint svg, .lp-footer-wa small::before, .lp-viz-pay { animation: none !important; }
}

/* Seul vs Trust : le "Résultat" se cale en bas des deux colonnes */
.lp-vs-col { display: flex; flex-direction: column; }
.lp-vs-col ul { margin-bottom: 28px; }
.lp-vs-result { margin-top: auto; }

/* ==========================================================================
   HEADER v3 — fixe (hors flux), morphing fluide + flou de mouvement
   Cause du bug précédent : le header était "sticky" dans le flux, donc
   chaque changement de taille décalait toute la page (boucle au scroll lent).
   Ici il est "fixed" : rien d'autre ne bouge, seules sa largeur et l'opacité
   de ses éléments sont animées.
   ========================================================================== */
main.lp { padding-top: 0; }

@media (min-width: 981px) {
  .site-header {
    --ease: cubic-bezier(.22, 1, .36, 1);
    position: fixed; top: 0; left: 0; right: 0; margin: 0; padding: 14px 20px 0; z-index: 100; pointer-events: none;
  }
  .site-header .header-inner {
    pointer-events: auto; width: min(1180px, 100%); max-width: none; margin: 0 auto;
    transition: width .7s var(--ease), padding .7s var(--ease), border-radius .6s var(--ease), background-color .5s ease, box-shadow .5s ease;
  }
  .site-header .nav-link { white-space: nowrap; }

  /* Éléments qui disparaissent : nav + "Mon espace" (largeur mesurée en JS → pas de temps mort) */
  .site-header .main-nav {
    max-width: var(--nav-w, 640px); transition: max-width .7s var(--ease), opacity .3s ease, filter .55s ease;
  }
  .site-header .header-cta { gap: 0; }
  .site-header .header-cta .btn-outline {
    max-width: var(--espace-w, 150px); margin-right: 10px; overflow: hidden; white-space: nowrap;
    transition: max-width .7s var(--ease), margin .7s var(--ease), padding .7s var(--ease), border-width .7s var(--ease), opacity .3s ease, filter .55s ease;
  }

  /* État réduit : logo + "Créer une LLC" */
  .site-header.is-compact .header-inner {
    width: 336px; padding: 7px 7px 7px 18px; border-radius: 20px; background-color: rgba(255, 255, 255, .88);
    box-shadow: 0 1px 2px rgba(11, 18, 32, .06), 0 14px 32px -10px rgba(11, 18, 32, .28);
  }
  .site-header.is-compact .main-nav { max-width: 0; opacity: 0; filter: blur(10px); overflow: hidden; pointer-events: none; }
  .site-header.is-compact .header-cta .btn-outline {
    max-width: 0; margin-right: 0; padding-left: 0; padding-right: 0; border-width: 0; opacity: 0; filter: blur(8px); pointer-events: none;
  }

  /* Flou de mouvement + léger "squash" pendant la transition */
  .site-header.is-morphing .header-inner { animation: lpPillSquish .7s var(--ease); }
  .site-header.is-morphing .logo,
  .site-header.is-morphing .header-cta .btn-primary { animation: lpMorphBlur .7s ease; }
}
@keyframes lpMorphBlur { 0% { filter: blur(0); } 32% { filter: blur(3.5px); } 100% { filter: blur(0); } }
@keyframes lpPillSquish { 0% { transform: scale(1, 1); } 38% { transform: scale(1.018, .94); } 100% { transform: scale(1, 1); } }

/* ==========================================================================
   HERO v2 — carte blanche, même texte et mêmes boutons
   ========================================================================== */
.lp-hero {
  --ease: cubic-bezier(.22, 1, .36, 1);
  position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center;
  min-height: 100vh; min-height: 100svh; padding: 132px 0 120px;
  background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 55%, #ffffff 100%);
}
.lp-hero-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.lp-hero-bg .aur { position: absolute; border-radius: 50%; will-change: transform; }
.lp-hero-bg .a1 { width: 760px; height: 760px; left: -220px; top: -260px; background: radial-gradient(closest-side, rgba(20, 80, 230, .34), transparent); animation: lpDrift1 19s ease-in-out infinite alternate; }
.lp-hero-bg .a2 { width: 680px; height: 680px; right: -200px; top: 6%; background: radial-gradient(closest-side, rgba(79, 139, 255, .38), transparent); animation: lpDrift2 23s ease-in-out infinite alternate; }
.lp-hero-bg .a3 { width: 640px; height: 640px; left: 30%; bottom: -380px; background: radial-gradient(closest-side, rgba(15, 181, 164, .28), transparent); animation: lpDrift3 21s ease-in-out infinite alternate; }
@keyframes lpDrift1 { to { transform: translate3d(120px, 90px, 0) scale(1.12); } }
@keyframes lpDrift2 { to { transform: translate3d(-140px, 70px, 0) scale(.92); } }
@keyframes lpDrift3 { to { transform: translate3d(160px, -60px, 0) scale(1.1); } }
.lp-hero-bg .dots {
  position: absolute; inset: 0; background-image: radial-gradient(rgba(20, 80, 230, .22) 1.2px, transparent 1.7px); background-size: 30px 30px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 72% 42%, #000 0%, transparent 72%); mask-image: radial-gradient(ellipse 70% 60% at 72% 42%, #000 0%, transparent 72%);
}

.lp-hero-inner { display: grid; grid-template-columns: 1.02fr .98fr; gap: 40px; align-items: center; width: 100%; }

/* Entrée en cascade (CSS pur, sans JS) */
.lp-hero-copy > * { opacity: 0; transform: translateY(26px); animation: lpUp 1s var(--ease) forwards; }
.lp-hero-copy > :nth-child(1) { animation-delay: .05s; } .lp-hero-copy > :nth-child(2) { animation-delay: .15s; }
.lp-hero-copy > :nth-child(3) { animation-delay: .27s; } .lp-hero-copy > :nth-child(4) { animation-delay: .37s; }
.lp-hero-copy > :nth-child(5) { animation-delay: .47s; } .lp-hero-copy > :nth-child(6) { animation-delay: .6s; }
@keyframes lpUp { to { opacity: 1; transform: none; } }

.lp-hero-pill {
  display: inline-flex; align-items: center; gap: 9px; padding: 9px 18px; border-radius: 999px; font-size: 12.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--lp-blue); background: rgba(255, 255, 255, .78); border: 1px solid rgba(20, 80, 230, .18); backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px -10px rgba(20, 80, 230, .35);
}
.lp-hero-pill i { width: 8px; height: 8px; border-radius: 50%; background: #12b886; box-shadow: 0 0 0 0 rgba(18, 184, 134, .5); animation: lpPing 2s ease-out infinite; }
@keyframes lpPing { to { box-shadow: 0 0 0 10px rgba(18, 184, 134, 0); } }
.lp-hero h1 { font-size: clamp(36px, 4.2vw, 62px); line-height: 1.02; letter-spacing: -.045em; font-weight: 800; color: var(--lp-ink); margin: 26px 0 24px; }
.lp-hero h1 em {
  font-style: normal; color: transparent; -webkit-text-fill-color: transparent;
  background: linear-gradient(100deg, #1450e6 0%, #4f8bff 35%, #0fb5a4 60%, #4f8bff 80%, #1450e6 100%); background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; animation: lpShine 7s linear infinite;
}
@keyframes lpShine { to { background-position: -220% 0; } }
.lp-hero-sub { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; color: var(--lp-body); max-width: 560px; margin: 0 0 22px; }
.lp-hero-quote { margin: 0 0 34px; padding-left: 16px; border-left: 3px solid var(--lp-blue); font-size: 15.5px; font-weight: 600; color: var(--lp-ink); max-width: 520px; line-height: 1.5; }
.lp-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 34px; }
.lp-hero-trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 26px; }
.lp-hero-trust li { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; color: var(--lp-ink); }
.lp-hero-trust .ck { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--lp-blue); color: #fff; }
.lp-hero-trust .ck svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Scène de droite ---------- */
.lp-hero-stage { position: relative; height: 600px; --px: 0; --py: 0; opacity: 0; animation: lpStageIn 1.2s var(--ease) .3s forwards; }
@keyframes lpStageIn { from { opacity: 0; transform: translateY(30px) scale(.97); } to { opacity: 1; transform: none; } }
.st { position: absolute; transform: translate3d(calc(var(--px) * var(--d, 0) * 1px), calc(var(--py) * var(--d, 0) * 1px), 0); will-change: transform; }
.st .in { animation: lpBob 7s ease-in-out infinite; }
@keyframes lpBob { 50% { transform: translateY(-10px); } }

.st-orbit { left: 50%; top: 50%; width: 560px; height: 560px; margin: -280px 0 0 -280px; border-radius: 50%; border: 1.5px dashed rgba(20, 80, 230, .22); animation: lpSpin 48s linear infinite; }
.st-orbit::after { content: ""; position: absolute; top: -7px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--lp-blue); box-shadow: 0 0 0 7px rgba(20, 80, 230, .14); }
.st-orbit.o2 { width: 440px; height: 440px; margin: -220px 0 0 -220px; animation-duration: 34s; animation-direction: reverse; border-style: solid; border-color: rgba(20, 80, 230, .10); }
.st-orbit.o2::after { background: var(--lp-teal); box-shadow: 0 0 0 7px rgba(15, 181, 164, .16); top: auto; bottom: -7px; }

.st-main { left: 50%; top: 50%; width: 408px; margin: -262px 0 0 -190px; --d: 14; }
.st-card { background: #fff; border-radius: 30px; padding: 26px; border: 1px solid rgba(11, 18, 32, .06); box-shadow: 0 2px 4px rgba(11, 18, 32, .04), 0 50px 90px -30px rgba(20, 60, 160, .45); }
.st-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.st-who { display: flex; align-items: center; gap: 13px; }
.st-av { width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 15px; background: linear-gradient(140deg, #1450e6, #4f8bff); box-shadow: 0 10px 20px -8px rgba(20, 80, 230, .7); }
.st-who b { display: block; font-size: 16.5px; letter-spacing: -.02em; color: var(--lp-ink); }
.st-who small { display: block; font-size: 12.5px; color: var(--lp-body); }
.st-badge { padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #e8f0ff; color: var(--lp-blue); display: inline-flex; align-items: center; gap: 6px; transition: background .4s, color .4s; }
.st-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: lpPulse 1.6s ease-in-out infinite; }
.st-badge.is-done { background: #e3f7ee; color: #0e9467; }
.st-prog { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; font-size: 12.5px; font-weight: 700; color: var(--lp-body); }
.st-bar { flex: 1; height: 7px; border-radius: 99px; background: #e8edf8; overflow: hidden; }
.st-bar i { display: block; height: 100%; width: 100%; border-radius: inherit; background: linear-gradient(90deg, #1450e6, #4f8bff); transform-origin: left; transform: scaleX(.4); transition: transform .8s var(--ease); }
.st-list { list-style: none; margin: 0 0 18px; padding: 0; }
.st-list li { display: flex; align-items: center; gap: 13px; padding: 10px 0; font-size: 14.5px; font-weight: 600; color: #9aa3b5; position: relative; transition: color .4s; }
.st-list li:not(:last-child)::after { content: ""; position: absolute; left: 11px; top: 36px; width: 2px; height: 14px; background: #e1e7f4; transition: background .5s; }
.st-list li.is-done:not(:last-child)::after { background: var(--lp-blue); }
.st-dot { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; background: #eef2fa; border: 2px solid #dfe5f2; transition: all .4s var(--ease); }
.st-dot svg { width: 12px; height: 12px; fill: none; stroke: #fff; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; transform: scale(0); transition: transform .4s cubic-bezier(.34, 1.56, .64, 1) .05s; }
.st-list li.is-done { color: var(--lp-ink); }
.st-list li.is-done .st-dot { background: var(--lp-blue); border-color: var(--lp-blue); }
.st-list li.is-done .st-dot svg { transform: scale(1); }
.st-list li.is-active { color: var(--lp-ink); }
.st-list li.is-active .st-dot { background: #fff; border-color: var(--lp-blue); box-shadow: 0 0 0 5px rgba(20, 80, 230, .12); }
.st-list li.is-active .st-dot::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lp-blue); animation: lpPulse 1.2s ease-in-out infinite; }
.st-meta { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--lp-line); }
.st-meta span { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: var(--lp-body); }
.st-meta svg { width: 15px; height: 15px; fill: none; stroke: var(--lp-blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.st-note { right: 0; top: 34px; width: 268px; --d: 30; z-index: 4; }
.st-note .st-float { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 20px; background: #fff; border: 1px solid var(--lp-line); box-shadow: 0 30px 60px -22px rgba(20, 50, 130, .5); }
.st-ico { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); flex-shrink: 0; }
.st-ico svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.st-float b { display: block; font-size: 13.5px; color: var(--lp-ink); }
.st-float span:not([class]) { display: block; font-size: 12.5px; line-height: 1.4; color: var(--lp-body); margin-top: 2px; }
.st-note.pop .st-float { animation: lpPop .6s cubic-bezier(.34, 1.56, .64, 1); }
@keyframes lpPop { 0% { transform: scale(.92); } 100% { transform: scale(1); } }

.st-wa { left: 0; bottom: 6px; width: 262px; --d: 36; z-index: 4; }
.st-wa .st-float { padding: 14px 16px; border-radius: 20px; background: #e9fbec; border: 1px solid rgba(29, 168, 81, .2); box-shadow: 0 30px 60px -22px rgba(10, 100, 50, .45); }
.st-wa-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.st-wa-av { width: 30px; height: 30px; border-radius: 50%; background: #1da851; display: grid; place-items: center; }
.st-wa-av svg { width: 17px; height: 17px; fill: #fff; }
.st-wa-top b { font-size: 13px; } .st-wa-top small { font-size: 11.5px; color: #168a41; font-weight: 600; margin-left: auto; }
.st-wa-body { position: relative; min-height: 38px; }
.st-wa-body .typing, .st-wa-body .msg { position: absolute; left: 0; top: 0; }
.st-wa-body .typing { display: inline-flex; gap: 5px; padding: 11px 14px; border-radius: 14px; background: #fff; animation: lpTyping 8s infinite; }
.st-wa-body .typing i { width: 6px; height: 6px; border-radius: 50%; background: #98a2b3; animation: lpDot 1s infinite; }
.st-wa-body .typing i:nth-child(2) { animation-delay: .15s; } .st-wa-body .typing i:nth-child(3) { animation-delay: .3s; }
.st-wa-body .msg { font-size: 13px; line-height: 1.45; color: #0b1220; padding: 9px 12px; border-radius: 14px; background: #fff; animation: lpMsg 8s infinite; opacity: 0; }
@keyframes lpDot { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }
@keyframes lpTyping { 0%, 28% { opacity: 1; } 32%, 100% { opacity: 0; } }
@keyframes lpMsg { 0%, 30% { opacity: 0; transform: translateY(6px); } 36%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }

.st-days { right: 0; bottom: -6px; --d: 22; z-index: 3; }
.st-days .st-float { display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px; border-radius: 999px; background: var(--lp-ink); box-shadow: 0 26px 50px -18px rgba(11, 18, 32, .6); }
.st-ring { position: relative; width: 46px; height: 46px; }
.st-ring svg { width: 46px; height: 46px; transform: rotate(-90deg); }
.st-ring circle { fill: none; stroke-width: 4; }
.st-ring .bg { stroke: rgba(255, 255, 255, .15); }
.st-ring .fg { stroke: #5fe0cf; stroke-linecap: round; stroke-dasharray: 113; stroke-dashoffset: 113; animation: lpRingFill 6s ease-in-out infinite; }
@keyframes lpRingFill { 0% { stroke-dashoffset: 113; } 70%, 100% { stroke-dashoffset: 18; } }
.st-days b { display: block; color: #fff; font-size: 14.5px; letter-spacing: -.01em; }
.st-days span:not([class]) { display: block; color: rgba(255, 255, 255, .6); font-size: 12px; margin-top: 1px; }

.st-chip { left: 4px; top: 60px; --d: 26; z-index: 3; }
.st-chip .st-float { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--lp-line); box-shadow: 0 20px 40px -16px rgba(20, 50, 130, .4); font-size: 13px; font-weight: 700; color: var(--lp-ink); }
.st-chip svg { width: 16px; height: 16px; fill: none; stroke: var(--lp-teal); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

/* Indicateur de scroll */
.lp-hero-cue { position: absolute; left: 50%; bottom: 82px; transform: translateX(-50%); width: 26px; height: 42px; border-radius: 14px; border: 2px solid rgba(11, 18, 32, .25); opacity: 0; animation: lpUp 1s var(--ease) 1.2s forwards; }
.lp-hero-cue::after { content: ""; position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 4px; background: var(--lp-blue); animation: lpCue 1.8s ease-in-out infinite; }
@keyframes lpCue { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(14px); opacity: 0; } 100% { opacity: 0; } }

/* Le bandeau de confiance chevauche le bas du hero */
.lp-trust { position: relative; z-index: 5; margin-top: -58px; padding-top: 0; }

@media (max-width: 1100px) {
  .lp-hero-inner { grid-template-columns: 1fr; gap: 56px; }
  .lp-hero { padding: 120px 0 130px; }
  .lp-hero-stage { max-width: 560px; margin: 0 auto; width: 100%; }
  .lp-hero-cue { display: none; }
}
@media (max-width: 640px) {
  .lp-hero-stage { height: 560px; transform-origin: top center; }
  .st-chip, .st-orbit { display: none; }
  .st-note { right: 0; } .st-wa { left: 0; }
  .lp-trust { margin-top: -30px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-hero-copy > *, .lp-hero-stage, .lp-hero-cue { opacity: 1; transform: none; animation: none; }
  .lp-hero-bg .aur, .st .in, .st-orbit, .lp-hero h1 em, .st-ring .fg, .lp-hero-pill i { animation: none; }
  .st-ring .fg { stroke-dashoffset: 18; }
}

/* ==========================================================================
   V3 — alignement, centrage, header plus doux, "Pour qui" interactif, plus de vie
   ========================================================================== */

/* ---------- Header : aligné sur le contenu (1124px), plus aéré, animation plus douce ---------- */
@media (min-width: 981px) {
  .site-header .header-inner { width: min(1124px, 100%); padding: 13px 16px 13px 28px; }
  .site-header .header-cta .btn-primary { padding: 12px 22px; }
  .site-header.is-compact .header-inner { width: 420px; padding: 11px 12px 11px 26px; border-radius: 22px; }
  .site-header.is-compact .logo { font-size: 19px; }
  .site-header.is-compact .logo-icon { width: 24px; height: 24px; }
  .site-header.is-compact .header-cta .btn-primary { padding: 12px 24px; font-size: 13.5px; }
  /* animation apaisée : plus de "squash", flou très léger */
  .site-header.is-morphing .header-inner { animation: none; }
  .site-header.is-morphing .logo,
  .site-header.is-morphing .header-cta .btn-primary { animation: lpMorphBlurSoft .6s ease; }
}
@keyframes lpMorphBlurSoft { 0% { filter: blur(0); } 40% { filter: blur(1.6px); } 100% { filter: blur(0); } }

/* ---------- Pastilles : centrage parfait (plus d'enfants de grille décalés) ---------- */
.st-dot { position: relative; }
.st-dot svg { position: absolute; inset: 0; margin: auto; }
.st-list li.is-active .st-dot::after { position: absolute; inset: 0; margin: auto; }
.lp-tl-dot { position: relative; }
.lp-tl-dot svg { position: absolute; inset: 0; margin: auto; }
.is-active .lp-tl-dot::after { position: absolute; inset: 0; margin: auto; }
.st-wa-av svg { width: 18px; height: 18px; display: block; }
.st-ico svg, .lp-trust-ico svg, .lp-feat-ico svg, .lp-tile-ico svg, .lp-who-ico svg, .lp-ac-ico svg, .ic-wrap svg { display: block; }

/* ---------- Bandeau de confiance : 3 infos, plus net ---------- */
.lp-trust-row { grid-template-columns: repeat(3, 1fr); border-radius: 28px; background: linear-gradient(180deg, #fff, #fafcff); }
.lp-trust-item { padding: 26px 32px; gap: 18px; position: relative; }
.lp-trust-ico {
  width: 54px; height: 54px; border-radius: 17px; display: grid; place-items: center; color: #fff;
  background: linear-gradient(145deg, #1a5cff, #0d3bb8); box-shadow: 0 12px 22px -8px rgba(20, 80, 230, .6);
}
.lp-trust-ico svg { width: 24px; height: 24px; }
.lp-trust-item strong { font-size: 18px; }
.lp-trust-item span:not([class]) { font-size: 14px; }

/* ---------- Tuiles "Pourquoi une LLC" : motifs en arrière-plan ---------- */
.lp-tile:not(.lp-tile--a) { background: linear-gradient(165deg, #ffffff 0%, #f5f8ff 100%); }
.lp-tile-body { position: relative; z-index: 1; }
.lp-tile:not(.lp-tile--a)::before, .lp-tile:not(.lp-tile--a)::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.lp-tile:not(.lp-tile--a)::before { width: 230px; height: 230px; right: -80px; bottom: -90px; border: 1.5px solid rgba(20, 80, 230, .16); box-shadow: 0 0 0 38px rgba(20, 80, 230, .045), 0 0 0 78px rgba(20, 80, 230, .03); animation: lpBreath 7s ease-in-out infinite; }
.lp-tile:not(.lp-tile--a)::after { width: 120px; height: 120px; right: 26px; bottom: 18px; background: radial-gradient(closest-side, rgba(20, 80, 230, .12), transparent); }
.lp-tile--c::before { right: auto; left: -90px; bottom: -100px; border-color: rgba(15, 181, 164, .26) !important; box-shadow: 0 0 0 38px rgba(15, 181, 164, .06), 0 0 0 78px rgba(15, 181, 164, .035) !important; }
.lp-tile--c::after { right: auto; left: 24px; background: radial-gradient(closest-side, rgba(15, 181, 164, .16), transparent) !important; }
.lp-tile--d::before { right: -110px; bottom: auto; top: 10px; width: 280px; height: 280px; }
.lp-tile--d::after { right: auto; left: 30%; bottom: -30px; }
.lp-tile--e::before { right: auto; left: 30%; bottom: -150px; width: 260px; height: 260px; border-style: dashed; }
.lp-tile--e::after { right: -20px; bottom: 30px; }
@keyframes lpBreath { 50% { transform: scale(1.06); opacity: .8; } }
.lp-tile--a .lp-chiprow, .lp-tile--a .lp-bigstat { position: relative; z-index: 1; }

/* ---------- Pour qui : explorateur de profils (onglets + schéma animé) ---------- */
.lp-persona { display: grid; grid-template-columns: 360px 1fr; gap: 28px; align-items: stretch; }
.lp-ptabs { display: grid; gap: 12px; align-content: start; }
.lp-ptab {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 50px 1fr 34px; gap: 14px; align-items: center; text-align: left; width: 100%;
  padding: 16px 18px 18px; border-radius: 20px; background: #fff; border: 1.5px solid #dfe6f5; font-family: inherit; color: var(--lp-ink); cursor: pointer;
  box-shadow: 0 1px 2px rgba(11, 18, 32, .05), 0 8px 20px -10px rgba(20, 50, 130, .22);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), border-color .25s, box-shadow .25s, background .35s, color .25s;
}
.lp-ptab:hover { transform: translateX(5px); border-color: var(--lp-blue); }
.lp-ptab .ico { width: 50px; height: 50px; border-radius: 15px; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); transition: all .3s; }
.lp-ptab .ico svg { width: 23px; height: 23px; display: block; }
.lp-ptab b { display: block; font-size: 15.5px; letter-spacing: -.015em; line-height: 1.2; }
.lp-ptab small { display: block; font-size: 12.5px; color: var(--lp-body); margin-top: 3px; transition: color .3s; }
.lp-ptab .go { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); transition: all .3s; }
.lp-ptab .go svg { width: 15px; height: 15px; display: block; }
.lp-ptab[aria-selected="true"] { background: linear-gradient(135deg, #1a5cff 0%, #0d3bb8 100%); border-color: transparent; color: #fff; transform: translateX(10px); box-shadow: 0 22px 40px -16px rgba(20, 80, 230, .7); }
.lp-ptab[aria-selected="true"] .ico, .lp-ptab[aria-selected="true"] .go { background: rgba(255, 255, 255, .2); color: #fff; }
.lp-ptab[aria-selected="true"] small { color: rgba(255, 255, 255, .78); }
.lp-who-timer { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; display: block; }
.lp-who-timer::after { content: ""; position: absolute; inset: 0; width: 0; background: rgba(255, 255, 255, .85); border-radius: 0 99px 99px 0; }
[data-who].is-running .lp-who-timer.is-run::after { animation: lpFill 6s linear forwards; }

.lp-pstage {
  position: relative; overflow: hidden; border-radius: 34px; min-height: 520px; border: 1px solid var(--lp-line);
  background: radial-gradient(600px 360px at 85% 0%, rgba(20, 80, 230, .13), transparent 70%), linear-gradient(160deg, #ffffff, #eef4ff);
  box-shadow: var(--lp-card-shadow);
}
.lp-pstage::before { content: ""; position: absolute; right: -140px; top: -140px; width: 420px; height: 420px; border-radius: 50%; border: 1.5px solid rgba(20, 80, 230, .16); box-shadow: 0 0 0 54px rgba(20, 80, 230, .04), 0 0 0 108px rgba(20, 80, 230, .03); animation: lpBreath 8s ease-in-out infinite; pointer-events: none; }
.lp-pstage::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(20, 80, 230, .16) 1.1px, transparent 1.5px); background-size: 26px 26px; -webkit-mask-image: radial-gradient(ellipse 50% 60% at 0% 100%, #000, transparent); mask-image: radial-gradient(ellipse 50% 60% at 0% 100%, #000, transparent); pointer-events: none; }
.lp-ppanel { display: none; position: relative; z-index: 1; grid-template-columns: 1fr 1fr; gap: 24px; padding: 44px 40px; height: 100%; align-items: center; animation: lpIn .55s cubic-bezier(.16, 1, .3, 1); }
.lp-ppanel.is-active { display: grid; }
.lp-pp-kicker { display: inline-flex; padding: 6px 13px; border-radius: 999px; background: var(--lp-blue); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 18px; }
.lp-ppanel h3 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.12; letter-spacing: -.03em; color: var(--lp-ink); margin: 0 0 14px; }
.lp-ppanel p { font-size: 15.5px; line-height: 1.65; color: var(--lp-body); margin: 0 0 22px; }
.lp-pp-list { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 12px; }
.lp-pp-list li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: center; font-size: 14.5px; font-weight: 600; color: var(--lp-ink); }
.lp-pp-list .ck { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--lp-blue); color: #fff; }
.lp-pp-list .ck svg { width: 12px; height: 12px; display: block; stroke-width: 3.2; }

/* Schéma de flux animé */
.lp-flowviz { position: relative; display: grid; gap: 0; justify-items: center; padding: 6px 0; }
.lp-node { position: relative; z-index: 1; display: grid; grid-template-columns: 44px 1fr; gap: 13px; align-items: center; width: 100%; max-width: 270px; padding: 12px 16px 12px 12px; border-radius: 18px; background: #fff; border: 1px solid var(--lp-line); box-shadow: 0 16px 32px -16px rgba(20, 50, 130, .38); }
.lp-node .ni { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); }
.lp-node .ni svg { width: 21px; height: 21px; display: block; }
.lp-node b { display: block; font-size: 14px; color: var(--lp-ink); line-height: 1.2; }
.lp-node small { display: block; font-size: 12px; color: var(--lp-body); margin-top: 2px; }
.lp-node.is-core { background: linear-gradient(135deg, #1a5cff, #0d3bb8); border-color: transparent; box-shadow: 0 24px 44px -14px rgba(20, 80, 230, .7); }
.lp-node.is-core .ni { background: rgba(255, 255, 255, .2); color: #fff; }
.lp-node.is-core b { color: #fff; } .lp-node.is-core small { color: rgba(255, 255, 255, .78); }
.lp-link { position: relative; width: 2px; height: 30px; background: repeating-linear-gradient(180deg, rgba(20, 80, 230, .5) 0 5px, transparent 5px 10px); }
.lp-link::after { content: ""; position: absolute; left: -3px; top: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--lp-teal); box-shadow: 0 0 0 4px rgba(15, 181, 164, .2); animation: lpDown 1.8s ease-in-out infinite; }
@keyframes lpDown { 0% { top: 0; opacity: 0; } 20% { opacity: 1; } 100% { top: calc(100% - 8px); opacity: 0; } }
.lp-ppanel.is-active .lp-node { animation: lpNodeIn .6s cubic-bezier(.34, 1.56, .64, 1) backwards; }
.lp-ppanel.is-active .lp-node:nth-of-type(2) { animation-delay: .12s; } .lp-ppanel.is-active .lp-node:nth-of-type(3) { animation-delay: .24s; } .lp-ppanel.is-active .lp-node:nth-of-type(4) { animation-delay: .36s; }
@keyframes lpNodeIn { from { opacity: 0; transform: translateY(14px) scale(.94); } }

/* ---------- États : filigrane + anneaux ---------- */
.lp-state-card::after { content: attr(data-abbr); position: absolute; right: 10px; bottom: -30px; font-size: 140px; font-weight: 800; letter-spacing: -.07em; line-height: 1; color: rgba(20, 80, 230, .04); pointer-events: none; transition: color .4s, transform .5s cubic-bezier(.16, 1, .3, 1); }
.lp-state-card:hover::after { color: rgba(20, 80, 230, .11); transform: translateY(-8px) scale(1.04); }
.lp-state-card > * { position: relative; z-index: 1; }
.lp-state-card .lp-rings { position: absolute; z-index: 0; right: -70px; top: -70px; width: 200px; height: 200px; border-radius: 50%; border: 1.5px solid rgba(20, 80, 230, .14); box-shadow: 0 0 0 34px rgba(20, 80, 230, .04), 0 0 0 68px rgba(20, 80, 230, .025); animation: lpBreath 7s ease-in-out infinite; pointer-events: none; }
.lp-state-card:nth-child(2) .lp-rings { border-color: rgba(15, 181, 164, .28); box-shadow: 0 0 0 34px rgba(15, 181, 164, .06), 0 0 0 68px rgba(15, 181, 164, .035); }
.lp-state-card:nth-child(2) { transform: translateY(-14px); }
.lp-state-card:nth-child(2):hover { transform: translateY(-20px); }
.lp-state-card .lp-rec { position: absolute; z-index: 2; top: 20px; right: 20px; padding: 5px 11px; border-radius: 999px; background: var(--lp-blue); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; box-shadow: 0 10px 20px -8px rgba(20, 80, 230, .6); }

/* ---------- Formules : plus de relief ---------- */
.lp-plan-ico { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 14px; border-radius: 16px; background: var(--lp-blue-tint); color: var(--lp-blue); }
.lp-plan-ico svg { width: 24px; height: 24px; display: block; }
.lp-plan-premium .lp-plan-ico { background: linear-gradient(145deg, #1a5cff, #0d3bb8); color: #fff; box-shadow: 0 14px 26px -8px rgba(20, 80, 230, .7); animation: lpGlow 3s ease-in-out infinite; }
@keyframes lpGlow { 50% { box-shadow: 0 14px 26px -8px rgba(20, 80, 230, .7), 0 0 0 10px rgba(20, 80, 230, .1); } }
.lp-plan-tag { position: relative; overflow: hidden; }
.lp-plan-tag::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%); transform: translateX(-120%); animation: lpSheen 3.6s ease-in-out infinite; }
@keyframes lpSheen { 60%, 100% { transform: translateX(120%); } }
.lp-compare tbody tr:not(.group) { transition: background .2s; }
.lp-compare tbody tr:not(.group):hover th, .lp-compare tbody tr:not(.group):hover td:not(.col-premium) { background: #f4f8ff; }
.lp-compare tbody tr:not(.group):hover td.col-premium { background: rgba(20, 80, 230, .08); }
.lp-compare.is-visible .lp-yes { animation: lpPopIn .5s cubic-bezier(.34, 1.56, .64, 1) .25s backwards; }
.lp-compare.is-visible td.col-premium .lp-yes { animation-delay: .45s; }
@keyframes lpPopIn { from { transform: scale(0); } }
.lp-compare-wrap { position: relative; }
.lp-compare-wrap::before, .lp-compare-wrap::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; z-index: 0; }
.lp-compare-wrap::before { width: 420px; height: 420px; left: -190px; top: 60px; border: 1.5px dashed rgba(20, 80, 230, .22); animation: lpSpin 60s linear infinite; }
.lp-compare-wrap::after { width: 300px; height: 300px; right: -130px; bottom: 90px; border: 1.5px solid rgba(15, 181, 164, .28); box-shadow: 0 0 0 40px rgba(15, 181, 164, .05); animation: lpBreath 8s ease-in-out infinite; }
.lp-compare-wrap .lp-compare { position: relative; z-index: 1; }

/* ---------- Décors de sections : anneaux, points qui flottent ---------- */
.lp-deco { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.lp-deco i { position: absolute; display: block; border-radius: 50%; }
.lp-deco .r1 { width: 460px; height: 460px; left: -210px; top: 12%; border: 1.5px dashed rgba(20, 80, 230, .16); animation: lpSpin 70s linear infinite; }
.lp-deco .r1::after { content: ""; position: absolute; top: -6px; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--lp-blue); opacity: .55; }
.lp-deco .r2 { width: 340px; height: 340px; right: -140px; bottom: 6%; border: 1.5px solid rgba(15, 181, 164, .22); box-shadow: 0 0 0 44px rgba(15, 181, 164, .04); animation: lpBreath 9s ease-in-out infinite; }
.lp-deco .d1 { width: 14px; height: 14px; left: 7%; bottom: 14%; background: var(--lp-blue); opacity: .28; animation: lpBob 6s ease-in-out infinite; }
.lp-deco .d2 { width: 10px; height: 10px; right: 9%; top: 16%; background: var(--lp-teal); opacity: .4; animation: lpBob 7s ease-in-out -2s infinite; }
.lp-deco--b .r1 { left: auto; right: -210px; } .lp-deco--b .r2 { right: auto; left: -140px; } .lp-deco--b .d1 { left: auto; right: 7%; } .lp-deco--b .d2 { right: auto; left: 9%; }

@media (max-width: 1040px) {
  .lp-persona { grid-template-columns: 1fr; }
  .lp-ppanel { grid-template-columns: 1fr; padding: 32px 26px; }
  .lp-trust-row { grid-template-columns: 1fr; }
  .lp-state-card:nth-child(2) { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-deco i, .lp-tile::before, .lp-pstage::before, .lp-state-card .lp-rings, .lp-compare-wrap::before, .lp-compare-wrap::after, .lp-plan-ico, .lp-plan-tag::after, .lp-link::after { animation: none !important; }
}

.lp-tile-ico { position: relative; z-index: 1; }

/* Hero : cartes flottantes qui ne masquent plus la carte principale */
.st-main { margin: -218px 0 0 -190px; }
.st-note { top: -12px; }
.st-chip { top: 4px; left: 0; }
.st-wa { bottom: -6px; }
.st-days { bottom: -14px; }

/* ==========================================================================
   V4 — CTA final, Premium en surbrillance, bandeau "aucune résidence",
   menu services, footer, un design unique par profil
   ========================================================================== */

/* ---------- CTA final : WhatsApp fantôme, même forme que "Créer ma LLC" ---------- */
.btn.lp-btn-ghost-light { background: transparent; color: #fff; border: 1.5px dashed rgba(255, 255, 255, .7); box-shadow: none; }
.btn.lp-btn-ghost-light:hover { background: rgba(255, 255, 255, .14); border-style: solid; border-color: #fff; color: #fff; }
.btn.lp-btn-ghost-light svg { width: 19px; height: 19px; fill: #7bf0a6; flex-shrink: 0; }

/* ---------- Premium : cadre lumineux sur toute la colonne + bouton qui brille ---------- */
.lp-compare { position: relative; }
.lp-premium-frame { position: absolute; z-index: 3; top: 10px; bottom: 10px; right: 10px; width: calc(28% - 16px); border-radius: 24px; pointer-events: none;
  border: 2px solid var(--lp-blue); box-shadow: 0 0 0 6px rgba(20, 80, 230, .10), 0 0 46px rgba(20, 80, 230, .35), inset 0 0 50px rgba(20, 80, 230, .10); animation: lpFrame 3.2s ease-in-out infinite; overflow: hidden; }
.lp-premium-frame::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 40%; background: linear-gradient(180deg, transparent, rgba(79, 139, 255, .28), transparent); animation: lpSweep 4.2s ease-in-out infinite; }
@keyframes lpFrame { 50% { box-shadow: 0 0 0 10px rgba(20, 80, 230, .06), 0 0 70px rgba(20, 80, 230, .5), inset 0 0 60px rgba(20, 80, 230, .16); } }
@keyframes lpSweep { from { transform: translateY(-110%); } to { transform: translateY(300%); } }
.btn.lp-glow { position: relative; overflow: hidden; animation: lpBtnPulse 2.4s ease-in-out infinite; }
.btn.lp-glow::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .45) 50%, transparent 70%); transform: translateX(-130%); animation: lpSheen 3s ease-in-out infinite; pointer-events: none; }
@keyframes lpBtnPulse { 0%, 100% { box-shadow: 0 10px 24px rgba(20, 80, 230, .35), 0 0 0 0 rgba(20, 80, 230, .5); } 50% { box-shadow: 0 14px 34px rgba(20, 80, 230, .6), 0 0 0 12px rgba(20, 80, 230, 0); } }

/* ---------- Bandeau "Aucune résidence américaine requise" ---------- */
.lp-b2 { position: relative; overflow: hidden; margin-top: 34px; display: grid; grid-template-columns: auto 1fr auto; gap: 36px; align-items: center; padding: 34px 44px; border-radius: 34px; color: #fff;
  background: radial-gradient(520px 260px at 0% 0%, rgba(20, 80, 230, .65), transparent 70%), radial-gradient(480px 260px at 100% 100%, rgba(15, 181, 164, .38), transparent 70%), #0a0f1e;
  box-shadow: 0 40px 80px -34px rgba(11, 18, 32, .75); }
.lp-b2::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .13) 1px, transparent 1.4px); background-size: 24px 24px; -webkit-mask-image: linear-gradient(100deg, #000, transparent 70%); mask-image: linear-gradient(100deg, #000, transparent 70%); pointer-events: none; }
.lp-b2::after { content: ""; position: absolute; top: 0; bottom: 0; width: 38%; left: -45%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .09), transparent); animation: lpBannerSheen 6s ease-in-out infinite; pointer-events: none; }
@keyframes lpBannerSheen { 55%, 100% { left: 120%; } }
.lp-b2 > * { position: relative; z-index: 1; }
.lp-b2-orb { position: relative; width: 112px; height: 112px; display: grid; place-items: center; }
.lp-b2-orb .ring { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(143, 184, 255, .45); animation: lpRing 3.4s ease-out infinite; }
.lp-b2-orb .ring.r2 { animation-delay: 1.13s; } .lp-b2-orb .ring.r3 { animation-delay: 2.26s; }
.lp-b2-orb .core { position: relative; width: 66px; height: 66px; border-radius: 22px; display: grid; place-items: center; background: linear-gradient(145deg, #2f6fff, #0d3bb8); box-shadow: 0 18px 34px -10px rgba(20, 80, 230, .9); }
.lp-b2-orb .core svg { width: 30px; height: 30px; display: block; }
.lp-b2-orb .sat { position: absolute; inset: 4px; animation: lpSpin 9s linear infinite; }
.lp-b2-orb .sat::after { content: ""; position: absolute; top: -4px; left: 50%; width: 9px; height: 9px; margin-left: -4px; border-radius: 50%; background: #5fe0cf; box-shadow: 0 0 0 5px rgba(95, 224, 207, .22); }
.lp-b2-orb .sat.s2 { inset: -10px; animation-duration: 14s; animation-direction: reverse; }
.lp-b2-orb .sat.s2::after { background: #8db8ff; box-shadow: 0 0 0 5px rgba(143, 184, 255, .22); }
.lp-b2-copy b { display: block; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.03em; line-height: 1.12; margin-bottom: 6px; }
.lp-b2-copy > span { display: block; color: rgba(255, 255, 255, .72); font-size: 16px; margin-bottom: 18px; }
.lp-b2-copy ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.lp-b2-copy li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, .92); }
.lp-b2-copy li svg { width: 16px; height: 16px; color: #5fe0cf; stroke-width: 3; display: block; }
.lp-b2 .btn-primary { background: #fff; color: var(--lp-blue); box-shadow: 0 18px 36px -12px rgba(0, 0, 0, .5); }
.lp-b2 .btn-primary .btn-text::before { color: var(--lp-blue); }
@media (max-width: 1040px) { .lp-b2 { grid-template-columns: 1fr; text-align: left; padding: 30px 26px; } }

/* ---------- Menu "Nos services" : le menu reste ouvert quand on descend la souris ---------- */
.nav-item.has-dropdown .dropdown { margin-top: 12px; animation: lpDrop .25s cubic-bezier(.16, 1, .3, 1); }
.nav-item.has-dropdown .dropdown::before { content: ""; position: absolute; left: -14px; right: -14px; top: -18px; height: 20px; }
@keyframes lpDrop { from { opacity: 0; transform: translateY(-6px); } }

/* ---------- Hero : le message WhatsApp ne dépasse plus de sa carte ---------- */
.st-wa-body { display: grid; min-height: 0; }
.st-wa-body .typing, .st-wa-body .msg { position: static; grid-area: 1 / 1; align-self: start; }
.st-wa-body .typing { justify-self: start; }

/* ---------- Footer : faits en colonnes (plus de pastilles) + vrai bouton WhatsApp ---------- */
.lp-footer-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255, 255, 255, .1); border-bottom: 1px solid rgba(255, 255, 255, .1); }
.lp-footer-facts li { display: flex; align-items: center; gap: 16px; padding: 26px 24px; }
.lp-footer-facts li:first-child { padding-left: 0; }
.lp-footer-facts li + li { border-left: 1px solid rgba(255, 255, 255, .1); }
.lp-footer-facts svg { width: 26px; height: 26px; color: #5fe0cf; flex-shrink: 0; display: block; stroke-width: 1.7; }
.lp-footer-facts b { display: block; font-size: 15px; color: #fff; letter-spacing: -.01em; }
.lp-footer-facts span { display: block; font-size: 13px; color: rgba(255, 255, 255, .55); margin-top: 2px; }
.btn.lp-footer-wa { gap: 12px; padding: 16px 26px; background: #1da851; color: #fff; border: 1.5px solid #1da851; backdrop-filter: none; box-shadow: 0 16px 32px -12px rgba(29, 168, 81, .8); font-size: 15.5px; font-weight: 700; }
.btn.lp-footer-wa:hover { background: #22c05d; border-color: #22c05d; transform: translateY(-3px); box-shadow: 0 22px 40px -12px rgba(29, 168, 81, .95); }
.btn.lp-footer-wa svg { width: 21px; height: 21px; fill: #fff; flex-shrink: 0; }
.btn.lp-footer-wa:hover svg { fill: #fff; }
.lp-wa-tag { padding: 3px 9px; border-radius: 6px; background: rgba(255, 255, 255, .22); font-size: 11.5px; font-weight: 700; letter-spacing: .04em; }
.lp-faq-side-card a { border-radius: 14px; padding: 13px 22px; }
@media (max-width: 1040px) { .lp-footer-facts { grid-template-columns: 1fr 1fr; } .lp-footer-facts li:nth-child(3) { border-left: none; padding-left: 0; } .lp-footer-facts li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .1); } }

/* ==========================================================================
   Pour qui — un design unique par profil
   ========================================================================== */
.lp-ptab { --t1: #1a5cff; --t2: #0d3bb8; }
.lp-ptab[aria-selected="true"] { background: linear-gradient(135deg, var(--t1) 0%, var(--t2) 100%); box-shadow: 0 22px 40px -16px var(--t1); }
.lp-pstage { background: #fff; }
.lp-pstage::before, .lp-pstage::after { display: none; }
.lp-ppanel { --pa: #1450e6; --pa-ink: #fff; --pi: #0b1220; --pb: #4b5565; --pbg: radial-gradient(600px 360px at 85% 0%, rgba(20, 80, 230, .13), transparent 70%), linear-gradient(160deg, #ffffff, #eef4ff); --pr: rgba(20, 80, 230, .16); --pr2: rgba(20, 80, 230, .04); --pr3: rgba(20, 80, 230, .03); }
.lp-ppanel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--pbg); }
.lp-ppanel::after { content: ""; position: absolute; z-index: -1; right: -130px; top: -130px; width: 400px; height: 400px; border-radius: 50%; border: 1.5px solid var(--pr); box-shadow: 0 0 0 54px var(--pr2), 0 0 0 108px var(--pr3); animation: lpBreath 8s ease-in-out infinite; }
.lp-ppanel h3 { color: var(--pi); } .lp-ppanel p { color: var(--pb); } .lp-pp-list li { color: var(--pi); }
.lp-pp-kicker { background: var(--pa); color: var(--pa-ink); }
.lp-pp-list .ck { background: var(--pa); color: var(--pa-ink); }
.lp-ppanel .btn-primary { background: var(--pa); color: var(--pa-ink); box-shadow: 0 12px 26px -10px var(--pa); }
.lp-ppanel .btn-primary .btn-text::before { color: var(--pa-ink); }
.lp-ppanel[data-theme="ecom"] { --pa: #f26a0f; --pbg: radial-gradient(520px 320px at 90% 0%, rgba(255, 138, 31, .28), transparent 70%), linear-gradient(160deg, #fffaf3, #ffe8cc); --pr: rgba(242, 106, 15, .22); --pr2: rgba(242, 106, 15, .06); --pr3: rgba(242, 106, 15, .035); }
.lp-ppanel[data-theme="saas"] { --pa: #7c6bff; --pi: #fff; --pb: rgba(255, 255, 255, .72); --pbg: radial-gradient(520px 320px at 90% 0%, rgba(124, 107, 255, .5), transparent 70%), radial-gradient(420px 260px at 0% 100%, rgba(20, 80, 230, .35), transparent 70%), #0b1020; --pr: rgba(124, 107, 255, .35); --pr2: rgba(124, 107, 255, .08); --pr3: rgba(124, 107, 255, .05); }
.lp-ppanel[data-theme="nomad"] { --pa: #0a9c8c; --pbg: radial-gradient(520px 320px at 90% 0%, rgba(15, 181, 164, .32), transparent 70%), linear-gradient(160deg, #f2fffc, #d2f5ee); --pr: rgba(10, 156, 140, .24); --pr2: rgba(15, 181, 164, .07); --pr3: rgba(15, 181, 164, .04); }
.lp-ppanel[data-theme="invest"] { --pa: #f5b83d; --pa-ink: #0e1a3a; --pi: #fff; --pb: rgba(255, 255, 255, .72); --pbg: radial-gradient(520px 320px at 90% 0%, rgba(245, 184, 61, .24), transparent 70%), linear-gradient(160deg, #13224d, #0a1330); --pr: rgba(245, 184, 61, .3); --pr2: rgba(245, 184, 61, .07); --pr3: rgba(245, 184, 61, .04); }
.lp-ppanel[data-theme="saas"] .lp-pp-list .ck, .lp-ppanel[data-theme="saas"] .lp-pp-kicker { color: #fff; }
.lp-pviz { position: relative; min-height: 410px; }
.lp-pviz > * { position: absolute; }
.lp-pviz svg.ic, .lp-pviz svg.i { display: block; }
.lp-ppanel.is-active .lp-pviz > * { animation: lpVizIn .7s cubic-bezier(.16, 1, .3, 1) backwards; }
.lp-ppanel.is-active .lp-pviz > *:nth-child(2) { animation-delay: .15s; } .lp-ppanel.is-active .lp-pviz > *:nth-child(3) { animation-delay: .3s; } .lp-ppanel.is-active .lp-pviz > *:nth-child(4) { animation-delay: .45s; }
@keyframes lpVizIn { from { opacity: 0; transform: translateY(18px) scale(.96); } }

/* 1 — Freelances : facture + paiement reçu */
.v1-card { left: 4px; right: 18px; top: 40px; padding: 22px; border-radius: 24px; background: #fff; border: 1px solid var(--lp-line); box-shadow: 0 40px 70px -30px rgba(20, 60, 160, .5); }
.v1-top { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.v1-logo { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: var(--lp-blue); color: #fff; } .v1-logo svg { width: 20px; height: 20px; }
.v1-top b { display: block; font-size: 15px; color: var(--lp-ink); } .v1-top small { color: var(--lp-body); font-size: 12px; }
.v1-paid { margin-left: auto; padding: 5px 11px; border-radius: 8px; background: #e3f7ee; color: #0e9467; font-size: 12px; font-weight: 700; }
.v1-lines { display: grid; gap: 0; border-top: 1px dashed #d9e1f2; }
.v1-lines > div { display: flex; justify-content: space-between; padding: 11px 0; font-size: 13.5px; color: var(--lp-body); border-bottom: 1px dashed #d9e1f2; }
.v1-lines b { color: var(--lp-ink); }
.v1-total { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0 6px; } .v1-total span { font-size: 13px; font-weight: 600; color: var(--lp-body); }
.v1-total strong { font-size: 34px; letter-spacing: -.04em; color: var(--lp-ink); }
.v1-spark { width: 100%; height: 56px; display: block; margin-top: 6px; }
.v1-spark .area { fill: rgba(20, 80, 230, .1); }
.v1-spark .line { stroke: var(--lp-blue); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 400; stroke-dashoffset: 400; animation: lpDraw 2.4s ease-out .5s forwards, none; }
@keyframes lpDraw { to { stroke-dashoffset: 0; } }
.v1-toast { right: -6px; top: 0; display: flex; align-items: center; gap: 11px; padding: 12px 16px; border-radius: 16px; background: var(--lp-ink); color: #fff; box-shadow: 0 26px 46px -16px rgba(11, 18, 32, .7); animation: lpBob 6s ease-in-out infinite; }
.v1-toast .ok { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #1fc98a; } .v1-toast .ok svg { width: 15px; height: 15px; stroke-width: 3.2; }
.v1-toast b { display: block; font-size: 13px; } .v1-toast small { font-size: 11.5px; color: rgba(255, 255, 255, .65); }
.v1-fx { left: -6px; bottom: 6px; display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--lp-line); box-shadow: 0 20px 38px -16px rgba(20, 60, 160, .45); font-size: 13px; animation: lpBob 7s ease-in-out -2s infinite; }
.v1-fx b { color: var(--lp-blue); } .v1-fx svg { width: 15px; height: 15px; color: var(--lp-body); }

/* 2 — E-commerce : boutique + commandes + entrepôt */
.v2-store { left: 0; right: 24px; top: 30px; border-radius: 22px; background: #fff; border: 1px solid rgba(242, 106, 15, .18); box-shadow: 0 40px 70px -30px rgba(242, 106, 15, .55); overflow: hidden; }
.v2-bar { display: flex; align-items: center; gap: 6px; padding: 12px 14px; background: #fff3e6; } .v2-bar i { width: 9px; height: 9px; border-radius: 50%; background: #f3c9a0; }
.v2-bar .url { margin-left: 10px; padding: 4px 14px; border-radius: 99px; background: #fff; font-size: 11.5px; color: var(--lp-body); }
.v2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 14px; }
.v2-grid .p { padding: 8px; border-radius: 14px; background: #fffaf4; border: 1px solid #ffe3c4; }
.v2-grid .p i { display: block; height: 76px; border-radius: 10px; margin-bottom: 8px; position: relative; overflow: hidden; }
.v2-grid .p i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .55) 50%, transparent 65%); transform: translateX(-130%); animation: lpSheen 3.8s ease-in-out infinite; }
.v2-grid .p:nth-child(2) i::after { animation-delay: .5s; } .v2-grid .p:nth-child(3) i::after { animation-delay: 1s; }
.v2-grid .p1 i { background: linear-gradient(145deg, #ffb35c, #f26a0f); } .v2-grid .p2 i { background: linear-gradient(145deg, #ff8f8f, #e5484d); } .v2-grid .p3 i { background: linear-gradient(145deg, #ffd89a, #f5a524); }
.v2-grid b { display: block; font-size: 12.5px; color: var(--lp-ink); } .v2-grid small { font-size: 12px; color: #f26a0f; font-weight: 700; }
.v2-cart { display: flex; align-items: center; gap: 10px; margin: 0 14px 14px; padding: 11px 14px; border-radius: 14px; background: #1a1209; color: #fff; font-size: 13px; font-weight: 600; } .v2-cart svg { width: 17px; height: 17px; } .v2-cart b { margin-left: auto; padding: 5px 12px; border-radius: 8px; background: #f26a0f; font-size: 12px; }
.v2-order { right: -4px; top: -6px; display: flex; align-items: center; gap: 11px; padding: 12px 16px; border-radius: 16px; background: #fff; border: 1px solid rgba(242, 106, 15, .2); box-shadow: 0 26px 46px -16px rgba(242, 106, 15, .6); animation: lpBob 6s ease-in-out infinite; }
.v2-order .ok { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: #f26a0f; color: #fff; } .v2-order .ok svg { width: 17px; height: 17px; }
.v2-order b { display: block; font-size: 13px; color: var(--lp-ink); } .v2-order small { font-size: 11.5px; color: var(--lp-body); }
.v2-route { left: 38px; right: 120px; bottom: 44px; height: 2px; background: repeating-linear-gradient(90deg, rgba(242, 106, 15, .6) 0 6px, transparent 6px 12px); }
.v2-route::after { content: ""; position: absolute; top: -5px; left: 0; width: 12px; height: 12px; border-radius: 3px; background: #f26a0f; box-shadow: 0 0 0 5px rgba(242, 106, 15, .2); animation: lpRoute 3s ease-in-out infinite; }
@keyframes lpRoute { from { left: 0; } to { left: calc(100% - 12px); } }
.v2-box { right: 8px; bottom: 20px; display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border-radius: 14px; background: #1a1209; color: #fff; font-size: 13px; font-weight: 700; box-shadow: 0 22px 40px -16px rgba(26, 18, 9, .7); } .v2-box svg { width: 17px; height: 17px; color: #ffb35c; }
.v2-fba { left: 0; bottom: 20px; padding: 11px 16px; border-radius: 14px; background: #fff; border: 1px solid rgba(242, 106, 15, .2); font-size: 13px; font-weight: 800; color: #f26a0f; box-shadow: 0 18px 34px -14px rgba(242, 106, 15, .45); }

/* 3 — SaaS : terminal + MRR */
.v3-term { left: 0; right: 14px; top: 26px; border-radius: 20px; background: #05070f; border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 40px 70px -26px rgba(0, 0, 0, .8); overflow: hidden; }
.v3-bar { display: flex; align-items: center; gap: 6px; padding: 12px 14px; background: #0e1224; border-bottom: 1px solid rgba(255, 255, 255, .06); } .v3-bar i { width: 9px; height: 9px; border-radius: 50%; background: #2a3050; } .v3-bar span { margin-left: 10px; font-size: 11.5px; color: rgba(255, 255, 255, .5); font-family: ui-monospace, Menlo, monospace; }
.v3-term pre { margin: 0; padding: 16px 16px 20px; font-family: ui-monospace, Menlo, monospace; font-size: 12.5px; line-height: 1.9; color: #d7dcff; white-space: pre-wrap; }
.v3-term .l { display: block; opacity: 0; animation: lpLine 9s infinite; } .v3-term .l2 { animation-delay: .8s; } .v3-term .l3 { animation-delay: 1.8s; } .v3-term .l4 { animation-delay: 2.8s; } .v3-term .l5 { animation-delay: 3.8s; }
@keyframes lpLine { 0% { opacity: 0; transform: translateX(-8px); } 4%, 90% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; } }
.v3-term em { color: #7c6bff; font-style: normal; } .v3-term u { color: #5fe0cf; text-decoration: none; } .v3-term b { color: #ffd166; font-weight: 600; }
.v3-mrr { left: 22px; bottom: 6px; width: 190px; padding: 14px 16px; border-radius: 18px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(10px); animation: lpBob 6s ease-in-out infinite; }
.v3-mrr .hd { display: flex; justify-content: space-between; font-size: 12px; color: rgba(255, 255, 255, .6); } .v3-mrr .hd b { color: #5fe0cf; }
.v3-mrr .bars { display: flex; align-items: flex-end; gap: 7px; height: 64px; margin-top: 10px; }
.v3-mrr .bars i { flex: 1; height: var(--h); border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, #9a8bff, #5a49e0); transform-origin: bottom; animation: lpGrow 3s ease-in-out infinite alternate; } .v3-mrr .bars i:nth-child(odd) { animation-delay: -1.2s; }
@keyframes lpGrow { from { transform: scaleY(.55); } to { transform: scaleY(1); } }
.v3-chip { right: 4px; bottom: 28px; display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border-radius: 14px; background: #fff; color: #0b1020; font-size: 13px; font-weight: 700; box-shadow: 0 24px 44px -16px rgba(0, 0, 0, .7); animation: lpBob 7s ease-in-out -3s infinite; } .v3-chip svg { width: 17px; height: 17px; color: #5a49e0; }

/* 4 — Nomades : globe qui tourne + avion en orbite */
.v4-globe { left: 50%; top: 50%; width: 250px; height: 250px; margin: -135px 0 0 -125px; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 32% 28%, #8ff5e4 0%, #0fb5a4 52%, #07665d 100%); box-shadow: 0 40px 70px -26px rgba(7, 102, 93, .7), inset -22px -22px 50px rgba(0, 40, 36, .35); }
.v4-globe .m { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .42); animation: lpMer 6s linear infinite; } .v4-globe .m2 { animation-delay: -2s; } .v4-globe .m3 { animation-delay: -4s; }
@keyframes lpMer { 0% { transform: scaleX(1); } 50% { transform: scaleX(.04); } 100% { transform: scaleX(1); } }
.v4-globe .lat { position: absolute; left: 0; right: 0; height: 1.5px; background: rgba(255, 255, 255, .36); } .v4-globe .l1 { top: 25%; } .v4-globe .l2 { top: 50%; } .v4-globe .l3 { top: 75%; }
.v4-orbit { left: 50%; top: 50%; width: 330px; height: 330px; margin: -165px 0 0 -165px; border: 1.5px dashed rgba(10, 156, 140, .4); border-radius: 50%; animation: lpSpin 16s linear infinite; }
.v4-orbit span { position: absolute; top: -17px; left: 50%; width: 34px; height: 34px; margin-left: -17px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: #0a9c8c; box-shadow: 0 10px 20px -6px rgba(7, 102, 93, .6); }
.v4-orbit span svg { width: 17px; height: 17px; }
.v4-pin { padding: 8px 14px 8px 12px; border-radius: 12px; background: #fff; font-size: 12.5px; font-weight: 700; color: var(--lp-ink); box-shadow: 0 16px 30px -12px rgba(7, 102, 93, .55); display: inline-flex; align-items: center; gap: 8px; animation: lpBob 6s ease-in-out infinite; }
.v4-pin::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #0fb5a4; box-shadow: 0 0 0 4px rgba(15, 181, 164, .22); }
.v4-pin.p1 { left: 0; top: 54px; } .v4-pin.p2 { right: 0; top: 96px; animation-delay: -2s; } .v4-pin.p3 { left: 6px; bottom: 90px; animation-delay: -3s; } .v4-pin.p4 { right: 10px; bottom: 64px; animation-delay: -4s; }
.v4-card { left: 50%; bottom: 0; transform: translateX(-50%); white-space: nowrap; display: flex; align-items: center; gap: 11px; padding: 12px 18px; border-radius: 16px; background: #0b2e2a; color: #fff; box-shadow: 0 26px 46px -16px rgba(7, 60, 54, .8); }
.v4-card svg { width: 20px; height: 20px; color: #5fe0cf; } .v4-card b { display: block; font-size: 13.5px; } .v4-card small { font-size: 12px; color: rgba(255, 255, 255, .65); }

/* 5 — Investisseurs : structure de détention */
.v5-card { left: 4px; right: 18px; top: 36px; padding: 22px; border-radius: 24px; background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .04)); border: 1px solid rgba(245, 184, 61, .3); box-shadow: 0 40px 70px -26px rgba(0, 0, 0, .8); backdrop-filter: blur(8px); color: #fff; }
.v5-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; } .v5-head > span { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: #f5b83d; color: #0e1a3a; } .v5-head svg { width: 20px; height: 20px; }
.v5-head b { display: block; font-size: 15px; } .v5-head small { font-size: 12px; color: rgba(255, 255, 255, .6); }
.v5-body { display: grid; grid-template-columns: 112px 1fr; gap: 18px; align-items: center; }
.v5-donut { position: relative; width: 112px; height: 112px; border-radius: 50%; background: conic-gradient(#f5b83d 0 45%, #5b8cff 45% 80%, #5fe0cf 80% 100%); animation: lpSpinSlow 40s linear infinite; }
.v5-donut::after { content: ""; position: absolute; inset: 16px; border-radius: 50%; background: #111f47; }
@keyframes lpSpinSlow { to { transform: rotate(360deg); } }
.v5-donut-wrap { position: relative; width: 112px; height: 112px; } .v5-donut-wrap .lbl { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; line-height: 1.1; z-index: 2; } .v5-donut-wrap b { font-size: 20px; letter-spacing: -.03em; } .v5-donut-wrap small { display: block; font-size: 10.5px; color: rgba(255, 255, 255, .6); }
.v5-assets { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; } .v5-assets li { display: flex; align-items: center; gap: 9px; font-size: 13px; color: rgba(255, 255, 255, .85); } .v5-assets li i { width: 9px; height: 9px; border-radius: 3px; } .v5-assets li b { margin-left: auto; color: #fff; }
.v5-assets .a { background: #f5b83d; } .v5-assets .b { background: #5b8cff; } .v5-assets .c { background: #5fe0cf; }
.v5-sky { left: 0; right: 0; bottom: 0; height: 120px; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; padding: 0 6px; }
.v5-sky i { flex: 1; height: var(--h); border-radius: 6px 6px 0 0; background: linear-gradient(180deg, rgba(245, 184, 61, .55), rgba(245, 184, 61, .08)); position: relative; transform-origin: bottom; animation: lpGrow 4s ease-in-out infinite alternate; } .v5-sky i:nth-child(even) { animation-delay: -2s; background: linear-gradient(180deg, rgba(91, 140, 255, .5), rgba(91, 140, 255, .06)); }
.v5-tag { right: 4px; top: -2px; display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border-radius: 14px; background: #f5b83d; color: #0e1a3a; font-size: 13px; font-weight: 800; box-shadow: 0 24px 44px -14px rgba(245, 184, 61, .6); animation: lpBob 6s ease-in-out infinite; } .v5-tag svg { width: 17px; height: 17px; }

@media (max-width: 1040px) { .lp-pviz { min-height: 380px; } }
@media (prefers-reduced-motion: reduce) { .lp-premium-frame, .lp-premium-frame::after, .btn.lp-glow, .btn.lp-glow::after, .lp-b2::after, .lp-b2-orb *, .v1-toast, .v1-fx, .v2-order, .v2-route::after, .v3-term .l, .v3-mrr, .v3-mrr .bars i, .v3-chip, .v4-globe .m, .v4-orbit, .v4-pin, .v5-donut, .v5-sky i, .v5-tag { animation: none !important; } .v3-term .l { opacity: 1; } .v1-spark .line { stroke-dashoffset: 0; } }

/* retouches de placement */
.v1-card { top: 62px; }
.v1-toast { top: -8px; }
.v3-mrr { width: 172px; }
.v3-chip { bottom: 96px; right: 0; }

/* Footer : même rayon que tous les boutons du site (14px), pas de pastille */
.btn.lp-footer-wa { border-radius: 14px; }
.lp-wa-tag { border-radius: 6px; }

/* ==========================================================================
   PAGES SERVICES
   ========================================================================== */
.lp-phero { position: relative; isolation: isolate; overflow: hidden; padding: 150px 0 100px; background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 60%, #ffffff 100%); }
.lp-phero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.lp-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; font-size: 13.5px; font-weight: 600; color: var(--lp-body); }
.lp-crumb a { color: var(--lp-body); transition: color .2s; } .lp-crumb a:hover { color: var(--lp-blue); }
.lp-crumb span[aria-hidden] { opacity: .45; } .lp-crumb [aria-current] { color: var(--lp-ink); }
.lp-phero h1 { font-size: clamp(34px, 4.1vw, 58px); line-height: 1.04; letter-spacing: -.045em; font-weight: 800; color: var(--lp-ink); margin: 22px 0 22px; }
.lp-phero h1 em { font-style: normal; color: transparent; -webkit-text-fill-color: transparent; background: linear-gradient(100deg, #1450e6, #4f8bff 55%, #0fb5a4); -webkit-background-clip: text; background-clip: text; }
.lp-phero .lead { font-size: 18.5px; line-height: 1.65; color: var(--lp-body); max-width: 560px; margin: 0 0 32px; }
.lp-phero-facts { list-style: none; margin: 34px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 28px; }
.lp-phero-facts li { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--lp-ink); }
.lp-phero-facts .fi { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); }
.lp-phero-facts .fi svg { width: 17px; height: 17px; display: block; }
.lp-phero .lp-hero-cta { margin-bottom: 0; }
.lp-phero .lp-hero-copy-in > * { opacity: 0; transform: translateY(22px); animation: lpUp .9s cubic-bezier(.22, 1, .36, 1) forwards; }
.lp-phero .lp-hero-copy-in > :nth-child(2) { animation-delay: .08s; } .lp-phero .lp-hero-copy-in > :nth-child(3) { animation-delay: .16s; } .lp-phero .lp-hero-copy-in > :nth-child(4) { animation-delay: .24s; } .lp-phero .lp-hero-copy-in > :nth-child(5) { animation-delay: .32s; } .lp-phero .lp-hero-copy-in > :nth-child(6) { animation-delay: .4s; }

/* Visuel de la page : carte de dossier */
.pv { position: relative; height: 520px; max-width: 520px; margin-left: auto; width: 100%; opacity: 0; animation: lpStageIn 1.1s cubic-bezier(.22, 1, .36, 1) .25s forwards; }
.pv-orbit { position: absolute; left: 50%; top: 50%; width: 500px; height: 500px; margin: -250px 0 0 -250px; border-radius: 50%; border: 1.5px dashed rgba(20, 80, 230, .22); animation: lpSpin 50s linear infinite; }
.pv-orbit::after { content: ""; position: absolute; top: -7px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--lp-blue); box-shadow: 0 0 0 7px rgba(20, 80, 230, .14); }
.pv-main { position: absolute; left: 34px; right: 34px; top: 74px; animation: lpBob 7s ease-in-out infinite; }
.pv-note { position: absolute; right: -4px; top: 6px; width: 252px; display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 20px; background: #fff; border: 1px solid var(--lp-line); box-shadow: 0 30px 60px -22px rgba(20, 50, 130, .5); animation: lpBob 6s ease-in-out -1s infinite; z-index: 3; }
.pv-note b { display: block; font-size: 13.5px; color: var(--lp-ink); } .pv-note span:not([class]) { display: block; font-size: 12.5px; line-height: 1.4; color: var(--lp-body); margin-top: 2px; }
.pv-chip { position: absolute; left: -2px; bottom: 26px; display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 16px; background: var(--lp-ink); color: #fff; font-size: 13px; font-weight: 700; box-shadow: 0 26px 50px -18px rgba(11, 18, 32, .65); animation: lpBob 7s ease-in-out -3s infinite; z-index: 3; }
.pv-chip svg { width: 18px; height: 18px; color: #5fe0cf; display: block; }
.pv-sw { position: relative; width: 38px; height: 22px; border-radius: 99px; background: #4a5470; animation: lpSwBg 4s ease-in-out infinite; flex-shrink: 0; }
.pv-sw i { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; animation: lpSwDot 4s ease-in-out infinite; }
@keyframes lpSwBg { 0%, 35% { background: #4a5470; } 50%, 90% { background: #1fc98a; } 100% { background: #4a5470; } }
@keyframes lpSwDot { 0%, 35% { transform: translateX(0); } 50%, 90% { transform: translateX(16px); } 100% { transform: translateX(0); } }
.pv-ring { position: relative; width: 120px; height: 120px; margin: 4px auto 14px; }
.pv-ring svg { width: 120px; height: 120px; transform: rotate(-90deg); display: block; } .pv-ring circle { fill: none; stroke-width: 9; }
.pv-ring .bg { stroke: #e4eaf7; } .pv-ring .fg { stroke: var(--lp-blue); stroke-linecap: round; stroke-dasharray: 327; stroke-dashoffset: 327; animation: lpRingPv 3s ease-out .5s forwards; }
@keyframes lpRingPv { to { stroke-dashoffset: 90; } }
.pv-ring .lbl { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; line-height: 1.1; } .pv-ring b { display: block; font-size: 26px; letter-spacing: -.04em; color: var(--lp-ink); } .pv-ring small { font-size: 11.5px; color: var(--lp-body); }

/* Sections génériques de page */
.lp-incl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lp-incl-card { position: relative; overflow: hidden; padding: 28px 24px; border-radius: 26px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s; }
.lp-incl-card:hover { transform: translateY(-5px); box-shadow: 0 2px 4px rgba(11, 18, 32, .05), 0 30px 54px -18px rgba(20, 80, 230, .28); }
.lp-incl-card::after { content: ""; position: absolute; right: -50px; bottom: -50px; width: 140px; height: 140px; border-radius: 50%; border: 1.5px solid rgba(20, 80, 230, .14); box-shadow: 0 0 0 26px rgba(20, 80, 230, .04); transition: transform .5s cubic-bezier(.16, 1, .3, 1); }
.lp-incl-card:hover::after { transform: scale(1.25); }
.lp-incl-ico { width: 50px; height: 50px; border-radius: 16px; display: grid; place-items: center; margin-bottom: 20px; color: #fff; background: linear-gradient(145deg, #1a5cff, #0d3bb8); box-shadow: 0 12px 22px -8px rgba(20, 80, 230, .6); }
.lp-incl-ico svg { width: 23px; height: 23px; display: block; }
.lp-incl-card h3 { font-size: 17px; letter-spacing: -.02em; line-height: 1.25; margin: 0 0 8px; color: var(--lp-ink); position: relative; z-index: 1; }
.lp-incl-card p { font-size: 14.5px; line-height: 1.6; margin: 0; color: var(--lp-body); position: relative; z-index: 1; }

.lp-tl { counter-reset: tl; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; position: relative; }
.lp-tl::before { content: ""; position: absolute; left: 6%; right: 6%; top: 34px; height: 2px; background: repeating-linear-gradient(90deg, rgba(20, 80, 230, .35) 0 8px, transparent 8px 16px); }
.lp-tl-step { position: relative; padding: 0 8px; text-align: center; }
.lp-tl-step .num { counter-increment: tl; position: relative; z-index: 1; width: 68px; height: 68px; margin: 0 auto 22px; border-radius: 22px; display: grid; place-items: center; font-size: 24px; font-weight: 800; color: #fff; background: linear-gradient(145deg, #1a5cff, #0d3bb8); box-shadow: 0 18px 32px -10px rgba(20, 80, 230, .65); }
.lp-tl-step:nth-child(2) .num { animation-delay: .2s; }
.lp-tl-step h3 { font-size: 18px; letter-spacing: -.02em; margin: 0 0 8px; color: var(--lp-ink); } .lp-tl-step p { font-size: 14.5px; line-height: 1.6; margin: 0; color: var(--lp-body); }

.lp-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lp-trio-card { position: relative; overflow: hidden; padding: 34px 30px; border-radius: var(--lp-r); background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); }
.lp-trio-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--lp-blue), #4f8bff); }
.lp-trio-card .big { position: absolute; right: 16px; bottom: -18px; font-size: 120px; font-weight: 800; letter-spacing: -.07em; line-height: 1; color: rgba(20, 80, 230, .05); pointer-events: none; }
.lp-trio-card h3 { font-size: 21px; letter-spacing: -.025em; margin: 0 0 10px; color: var(--lp-ink); position: relative; z-index: 1; }
.lp-trio-card p { font-size: 15.5px; line-height: 1.65; color: var(--lp-body); margin: 0 0 16px; position: relative; z-index: 1; }
.lp-trio-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; position: relative; z-index: 1; }
.lp-trio-card li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: center; font-size: 14.5px; font-weight: 600; color: var(--lp-ink); }
.lp-trio-card li .ck { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--lp-blue); color: #fff; } .lp-trio-card li .ck svg { width: 11px; height: 11px; display: block; stroke-width: 3.4; }
.lp-trio-card .btn { margin-top: 22px; position: relative; z-index: 1; }
.lp-duo { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.lp-notice { margin-top: 28px; display: flex; gap: 14px; align-items: flex-start; padding: 20px 24px; border-radius: 20px; background: #fff; border: 1px solid var(--lp-line); font-size: 14.5px; line-height: 1.6; color: var(--lp-body); }
.lp-notice svg { width: 22px; height: 22px; color: var(--lp-blue); flex-shrink: 0; margin-top: 2px; display: block; }
.lp-notice strong { color: var(--lp-ink); }
.lp-mid { padding: 0 0 20px; }

@media (max-width: 1040px) {
  .lp-phero-grid { grid-template-columns: 1fr; gap: 56px; } .pv { margin: 0 auto; }
  .lp-incl, .lp-tl { grid-template-columns: repeat(2, 1fr); } .lp-tl::before { display: none; }
  .lp-trio, .lp-duo { grid-template-columns: 1fr; }
}
@media (max-width: 640px) { .lp-incl, .lp-tl { grid-template-columns: 1fr; } .lp-phero { padding: 120px 0 72px; } .pv { height: 480px; } .pv-note, .pv-chip { display: none; } }
@media (prefers-reduced-motion: reduce) { .pv, .pv-main, .pv-note, .pv-chip, .pv-orbit, .pv-sw, .pv-sw i, .lp-phero .lp-hero-copy-in > * { animation: none !important; opacity: 1; transform: none; } .pv-ring .fg { stroke-dashoffset: 90; } }

/* ==========================================================================
   V5 — prix, Premium en bloc plein, orbites alignées, scènes "Seul vs Trust",
   visuels replacés, hero réduit, allègement des animations
   ========================================================================== */

/* ---------- Prix dans le tableau ---------- */
.lp-plan-price { display: block; margin-top: 16px; }
.lp-plan-price b { display: block; font-size: 38px; line-height: 1; letter-spacing: -.045em; color: var(--lp-ink); font-weight: 800; }
.lp-plan-price small { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--lp-body); }
.lp-compare thead th { vertical-align: top; padding-top: 30px; }
.lp-compare thead th:first-child { vertical-align: bottom; }

/* Premium : bloc plein bleu en en-tête (plus de cadre autour de la colonne) */
.lp-compare thead .lp-plan-premium { background: linear-gradient(160deg, #1a5cff 0%, #0d3bb8 100%) !important; color: #fff; position: relative; overflow: hidden; }
.lp-compare thead .lp-plan-premium::before { content: ""; position: absolute; right: -60px; top: -60px; width: 190px; height: 190px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .22); box-shadow: 0 0 0 28px rgba(255, 255, 255, .05), 0 0 0 56px rgba(255, 255, 255, .035); pointer-events: none; }
.lp-compare thead .lp-plan-premium > * { position: relative; }
.lp-plan-premium .lp-plan-name { color: #fff; }
.lp-plan-premium .lp-plan-sub { color: rgba(255, 255, 255, .78); }
.lp-plan-premium .lp-plan-price b { color: #fff; } .lp-plan-premium .lp-plan-price small { color: rgba(255, 255, 255, .75); }
.lp-plan-premium .lp-plan-ico { background: rgba(255, 255, 255, .2); box-shadow: none; animation: none; }
.lp-plan-premium .lp-plan-tag { background: #fff; color: var(--lp-blue); }
.lp-compare tbody td.col-premium { background: rgba(20, 80, 230, .055); }
.lp-compare tfoot td.col-premium { background: rgba(20, 80, 230, .055); }

/* ---------- Cartes "après la création" : prix ---------- */
.lp-ac-price { margin: -2px 0 12px !important; font-size: 15px !important; color: var(--lp-body) !important; }
.lp-ac-price b { font-size: 30px; letter-spacing: -.04em; color: var(--lp-blue); font-weight: 800; }

/* ---------- Bandeau : orbites propres (les points roulent exactement sur leur anneau) ---------- */
.lp-b2-orb { width: 136px; height: 136px; display: grid; place-items: center; position: relative; }
.lp-b2-orb .o { position: absolute; border-radius: 50%; }
.lp-b2-orb .o::after { content: ""; position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; }
.lp-b2-orb .o1 { inset: 14px; border: 1.5px dashed rgba(143, 184, 255, .55); animation: lpSpin 9s linear infinite; }
.lp-b2-orb .o1::after { background: #5fe0cf; box-shadow: 0 0 0 5px rgba(95, 224, 207, .22); }
.lp-b2-orb .o2 { inset: 0; border: 1.5px solid rgba(255, 255, 255, .16); animation: lpSpin 16s linear infinite reverse; }
.lp-b2-orb .o2::after { background: #8db8ff; box-shadow: 0 0 0 5px rgba(143, 184, 255, .22); }
.lp-b2-orb .core { width: 62px; height: 62px; border-radius: 20px; }

/* ---------- Seul vs Trust LLC : scènes animées ---------- */
.lp-vs-col { padding: 36px 34px; }
.vs-scene { position: relative; height: 196px; margin: 0 0 26px; border-radius: 22px; overflow: hidden; }
.vs-chaos { background: repeating-linear-gradient(135deg, #fff6f5 0 12px, #fffbfa 12px 24px); border: 1.5px dashed #f1b8b3; }
.vs-doc { position: absolute; width: 138px; padding: 11px 12px 12px; border-radius: 10px; background: #fff; border: 1px solid #ead5d2; box-shadow: 0 14px 24px -14px rgba(120, 30, 20, .45); }
.vs-doc b { display: block; font-size: 11px; color: #5b6477; margin-bottom: 8px; font-family: ui-monospace, Menlo, monospace; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-doc i { display: block; height: 6px; border-radius: 3px; background: #e6ebf5; margin-bottom: 6px; } .vs-doc i:nth-child(3) { width: 70%; } .vs-doc i.bad { background: #f7b4af; width: 55%; }
.vs-doc.d1 { left: 16px; top: 22px; transform: rotate(-7deg); animation: lpJit1 3.4s ease-in-out infinite; }
.vs-doc.d2 { left: 128px; top: 44px; width: 156px; transform: rotate(5deg); animation: lpJit2 4s ease-in-out infinite; }
.vs-doc.d3 { right: 18px; top: 18px; width: 124px; transform: rotate(-4deg); animation: lpJit1 4.6s ease-in-out -1s infinite; }
@keyframes lpJit1 { 50% { transform: rotate(-3deg) translateY(-6px); } }
@keyframes lpJit2 { 50% { transform: rotate(9deg) translateY(5px); } }
.vs-err { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 8px; background: #d6453d; color: #fff; font-size: 11.5px; font-weight: 700; box-shadow: 0 12px 22px -10px rgba(214, 69, 61, .8); animation: lpShake 3.2s ease-in-out infinite; }
.vs-err svg { width: 12px; height: 12px; display: block; stroke-width: 3; }
.vs-err.e1 { left: 20px; bottom: 16px; } .vs-err.e2 { right: 22px; bottom: 46px; animation-delay: -1.4s; }
@keyframes lpShake { 0%, 86%, 100% { transform: none; } 90% { transform: translateX(-4px); } 94% { transform: translateX(4px); } 97% { transform: translateX(-2px); } }
.vs-q { position: absolute; left: 50%; bottom: 8px; width: 36px; height: 36px; margin-left: -18px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid #f1b8b3; color: #d6453d; font-weight: 800; font-size: 18px; animation: lpBob 3s ease-in-out infinite; }
.vs-clock { position: absolute; right: 18px; bottom: 12px; display: none; }
.vs-calm { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); display: grid; grid-template-columns: 78px 1fr; gap: 18px; align-items: center; padding: 18px 20px 62px; }
.vs-prog { position: relative; width: 78px; height: 78px; }
.vs-prog svg { width: 78px; height: 78px; transform: rotate(-90deg); display: block; } .vs-prog circle { fill: none; stroke-width: 6; }
.vs-prog .bg { stroke: rgba(255, 255, 255, .14); } .vs-prog .fg { stroke: #5fe0cf; stroke-linecap: round; stroke-dasharray: 170; stroke-dashoffset: 170; animation: lpRingLoop 6s ease-in-out infinite; }
@keyframes lpRingLoop { 0% { stroke-dashoffset: 170; } 55%, 92% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 170; } }
.vs-prog span { position: absolute; inset: 0; display: grid; place-items: center; color: #5fe0cf; } .vs-prog span svg { width: 26px; height: 26px; transform: none; stroke-width: 3; animation: lpPopLoop 6s ease-in-out infinite; }
@keyframes lpPopLoop { 0%, 40% { transform: scale(0); } 55%, 92% { transform: scale(1); } 100% { transform: scale(0); } }
.vs-ok { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.vs-ok li { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: #fff; opacity: 0; animation: lpOkIn 6s ease-in-out infinite; }
.vs-ok li:nth-child(2) { animation-delay: .7s; } .vs-ok li:nth-child(3) { animation-delay: 1.4s; }
@keyframes lpOkIn { 0%, 4% { opacity: 0; transform: translateX(-10px); } 14%, 90% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.vs-ok li svg { width: 20px; height: 20px; padding: 4px; border-radius: 50%; background: rgba(95, 224, 207, .2); color: #5fe0cf; display: block; stroke-width: 3.2; }
.vs-bubble { position: absolute; left: 16px; right: 16px; bottom: 12px; display: flex; align-items: center; gap: 11px; padding: 10px 14px; border-radius: 14px; background: #e9fbec; color: #0b1220; animation: lpBob 6s ease-in-out infinite; }
.vs-bubble .av { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #1da851; flex-shrink: 0; } .vs-bubble .av svg { width: 17px; height: 17px; fill: #fff; display: block; }
.vs-bubble b { display: block; font-size: 12.5px; } .vs-bubble small { display: block; font-size: 12px; color: #4b5565; }
.lp-vs-us:hover { transform: none; }

/* ---------- Visuels de profils : zones nettes, plus rien au milieu ---------- */
.v2-ship { left: 0; right: 14px; bottom: 6px; display: flex; align-items: center; gap: 12px; }
.v2-ship .v2-fba, .v2-ship .v2-box { position: static; flex-shrink: 0; }
.v2-ship .v2-route { position: relative; left: auto; right: auto; bottom: auto; flex: 1; height: 2px; }
.v3-row { left: 0; right: 14px; bottom: 6px; display: flex; align-items: flex-end; gap: 14px; }
.v3-row .v3-mrr, .v3-row .v3-chip { position: static; animation: none; }
.v3-row .v3-mrr { flex: 1; width: auto; } .v3-row .v3-chip { margin-left: auto; white-space: nowrap; }
.v1-card { top: 70px; } .v1-toast { top: -6px; }

/* ---------- Hero : visuel légèrement réduit ---------- */
.lp-hero-stage { zoom: .88; }

/* ---------- Allègement : les décors hors écran sont mis en pause ---------- */
.lp-offscreen .lp-deco i, .lp-offscreen .lp-deco i::after, .lp-offscreen .lp-incl-card::after, .lp-offscreen .lp-tile::before, .lp-offscreen .lp-state-card .lp-rings,
.lp-offscreen .lp-compare-wrap::before, .lp-offscreen .lp-compare-wrap::after, .lp-offscreen .lp-viz *, .lp-offscreen .lp-pviz * { animation-play-state: paused !important; }
html.is-header-morphing .lp-deco i, html.is-header-morphing .lp-hero-bg .aur, html.is-header-morphing .pv-orbit, html.is-header-morphing .st-orbit { animation-play-state: paused !important; }

@media (max-width: 1040px) { .vs-calm { grid-template-columns: 70px 1fr; } }
@media (prefers-reduced-motion: reduce) { .vs-doc, .vs-err, .vs-q, .vs-prog .fg, .vs-prog span svg, .vs-ok li, .vs-bubble, .lp-b2-orb .o { animation: none !important; } .vs-ok li { opacity: 1; } .vs-prog .fg { stroke-dashoffset: 0; } .vs-prog span svg { transform: scale(1); } }

/* Seul vs Trust : scènes plus hautes pour que rien ne se chevauche */
.vs-scene { height: 232px; flex-shrink: 0; }
.vs-calm { padding: 18px 20px 82px; align-items: start; }
.vs-prog { margin-top: 6px; }
.vs-ok { gap: 8px; margin-top: 4px; }
.vs-bubble { bottom: 14px; }
.vs-doc.d1 { top: 28px; } .vs-doc.d2 { top: 52px; } .vs-doc.d3 { top: 22px; }
.vs-err.e1 { bottom: 20px; } .vs-err.e2 { bottom: 56px; } .vs-q { bottom: 14px; }

/* SaaS : carte revenus lisible + pastille sur 2 lignes si besoin */
.v3-row .v3-mrr { min-width: 168px; }
.v3-row .v3-chip { white-space: normal; max-width: 128px; line-height: 1.25; padding: 10px 14px; }

/* ==========================================================================
   Pages services v2 : prix, blocs d'info, tableau d'États, plans
   ========================================================================== */
.lp-pricetag { display: inline-flex; align-items: center; gap: 16px; margin: 0 0 30px; padding: 14px 22px 14px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); }
.lp-pricetag b { font-size: 34px; letter-spacing: -.045em; line-height: 1; color: var(--lp-blue); font-weight: 800; }
.lp-pricetag span { display: block; font-size: 13px; line-height: 1.4; color: var(--lp-body); font-weight: 600; }
.lp-pricetag span em { font-style: normal; color: var(--lp-ink); }
.pv { height: 560px; }
.pv-main { top: 58px; }
.pv-chip { bottom: 6px; left: 8px; }
.pv-note { top: -6px; }
.pv-ring { width: 96px; height: 96px; margin: 0 auto 10px; } .pv-ring svg { width: 96px; height: 96px; } .pv-ring b { font-size: 22px; }

.lp-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.lp-prose h3 { font-size: clamp(22px, 2.2vw, 28px); letter-spacing: -.03em; line-height: 1.15; color: var(--lp-ink); margin: 0 0 14px; }
.lp-prose p { font-size: 16.5px; line-height: 1.75; color: var(--lp-body); margin: 0 0 16px; }
.lp-prose a { color: var(--lp-blue); font-weight: 700; }
.lp-keys { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lp-key { padding: 22px 20px; border-radius: 22px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); }
.lp-key .ki { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 14px; background: var(--lp-blue-tint); color: var(--lp-blue); } .lp-key .ki svg { width: 21px; height: 21px; display: block; }
.lp-key b { display: block; font-size: 15.5px; color: var(--lp-ink); letter-spacing: -.01em; margin-bottom: 4px; } .lp-key span:not([class]) { display: block; font-size: 13.5px; line-height: 1.5; color: var(--lp-body); }

.lp-table-wrap { overflow-x: auto; border-radius: var(--lp-r); border: 1px solid var(--lp-line); background: #fff; box-shadow: var(--lp-card-shadow); }
.lp-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.lp-table th, .lp-table td { padding: 18px 22px; text-align: left; font-size: 15px; border-top: 1px solid var(--lp-line); vertical-align: top; }
.lp-table thead th { border-top: none; background: var(--lp-soft); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--lp-body); }
.lp-table thead th.hl { background: var(--lp-blue); color: #fff; }
.lp-table tbody th { font-weight: 700; color: var(--lp-ink); width: 24%; }
.lp-table td { color: var(--lp-body); } .lp-table td b { color: var(--lp-ink); }
.lp-table td.hl { background: rgba(20, 80, 230, .05); }
.lp-table .good { color: #0e9467; font-weight: 700; } .lp-table .warn { color: #b26a00; font-weight: 700; }
.lp-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.lp-plans { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; align-items: stretch; }
.lp-plan-card { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 38px 36px; border-radius: 32px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); }
.lp-plan-card .pk { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lp-blue); margin-bottom: 8px; }
.lp-plan-card h3 { font-size: 28px; letter-spacing: -.035em; color: var(--lp-ink); margin: 0 0 6px; }
.lp-plan-card .pd { font-size: 15px; color: var(--lp-body); margin: 0 0 22px; }
.lp-plan-card .amt { display: flex; align-items: baseline; gap: 10px; margin-bottom: 4px; } .lp-plan-card .amt b { font-size: 58px; letter-spacing: -.055em; line-height: 1; color: var(--lp-ink); font-weight: 800; } .lp-plan-card .amt span { font-size: 14px; font-weight: 600; color: var(--lp-body); }
.lp-plan-card .pn { font-size: 13px; color: var(--lp-body); margin: 0 0 26px; }
.lp-plan-card ul { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 12px; }
.lp-plan-card li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; font-size: 15px; line-height: 1.45; color: var(--lp-ink); font-weight: 500; }
.lp-plan-card li .ck { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--lp-blue-tint); color: var(--lp-blue); } .lp-plan-card li .ck svg { width: 12px; height: 12px; display: block; stroke-width: 3.2; }
.lp-plan-card .btn { margin-top: auto; justify-content: center; }
.lp-plan-card.is-pro { background: linear-gradient(160deg, #1a5cff 0%, #0d3bb8 100%); border: none; color: #fff; box-shadow: 0 40px 80px -30px rgba(20, 80, 230, .75); }
.lp-plan-card.is-pro::before { content: ""; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .2); box-shadow: 0 0 0 40px rgba(255, 255, 255, .05), 0 0 0 80px rgba(255, 255, 255, .035); pointer-events: none; }
.lp-plan-card.is-pro .pk { color: #cfe0ff; } .lp-plan-card.is-pro h3, .lp-plan-card.is-pro .amt b, .lp-plan-card.is-pro li { color: #fff; } .lp-plan-card.is-pro .pd, .lp-plan-card.is-pro .amt span, .lp-plan-card.is-pro .pn { color: rgba(255, 255, 255, .78); }
.lp-plan-card.is-pro li .ck { background: rgba(255, 255, 255, .2); color: #fff; }
.lp-plan-card.is-pro .btn-primary { background: #fff; color: var(--lp-blue); box-shadow: 0 18px 36px -12px rgba(0, 0, 0, .4); } .lp-plan-card.is-pro .btn-primary .btn-text::before { color: var(--lp-blue); }
.lp-plan-card .ribbon { position: absolute; top: 22px; right: 22px; padding: 6px 12px; border-radius: 8px; background: #fff; color: var(--lp-blue); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.lp-plans-note { text-align: center; margin: 26px auto 0; max-width: 760px; font-size: 14.5px; line-height: 1.65; color: var(--lp-body); } .lp-plans-note strong { color: var(--lp-ink); }

.lp-fees { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lp-fee { position: relative; display: flex; flex-direction: column; padding: 28px 26px; border-radius: 26px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
.lp-fee:hover { transform: translateY(-5px); }
.lp-fee .ft { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.lp-fee h3 { font-size: 19px; letter-spacing: -.02em; margin: 0 0 8px; color: var(--lp-ink); }
.lp-fee .fp { font-size: 15px; color: var(--lp-body); margin: 0 0 12px; } .lp-fee .fp b { font-size: 32px; letter-spacing: -.045em; color: var(--lp-blue); font-weight: 800; }
.lp-fee p { font-size: 14.5px; line-height: 1.6; color: var(--lp-body); margin: 0 0 18px; }
.lp-fee a.more { margin-top: auto; font-weight: 700; font-size: 14.5px; color: var(--lp-blue); display: inline-flex; align-items: center; gap: 6px; } .lp-fee a.more svg { width: 16px; height: 16px; }

.lp-pbox { display: grid; grid-template-columns: 430px 1fr; gap: 24px; align-items: stretch; }
.lp-pbox-card { position: relative; overflow: hidden; padding: 38px 36px; border-radius: 32px; background: linear-gradient(160deg, #1a5cff 0%, #0d3bb8 100%); color: #fff; box-shadow: 0 40px 80px -30px rgba(20, 80, 230, .75); }
.lp-pbox-card::before { content: ""; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .2); box-shadow: 0 0 0 40px rgba(255, 255, 255, .05), 0 0 0 80px rgba(255, 255, 255, .035); }
.lp-pbox-card > * { position: relative; }
.lp-pbox-card .tag { display: inline-block; padding: 6px 12px; border-radius: 8px; background: #fff; color: var(--lp-blue); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 20px; }
.lp-pbox-card .amt { display: flex; align-items: baseline; gap: 10px; } .lp-pbox-card .amt b { font-size: 76px; letter-spacing: -.06em; line-height: 1; font-weight: 800; } .lp-pbox-card .amt span { font-size: 17px; color: rgba(255, 255, 255, .8); font-weight: 600; }
.lp-pbox-card .pn { margin: 6px 0 26px; font-size: 14px; color: rgba(255, 255, 255, .75); }
.lp-pbox-card ul { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 12px; } .lp-pbox-card li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; font-size: 14.5px; font-weight: 500; line-height: 1.45; align-items: start; }
.lp-pbox-card li .ck { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .2); } .lp-pbox-card li .ck svg { width: 11px; height: 11px; display: block; stroke-width: 3.4; }
.lp-pbox-card .btn-primary { background: #fff; color: var(--lp-blue); box-shadow: 0 18px 36px -12px rgba(0, 0, 0, .4); } .lp-pbox-card .btn-primary .btn-text::before { color: var(--lp-blue); }
.lp-pbox-side { padding: 38px 36px; border-radius: 32px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); display: flex; flex-direction: column; justify-content: center; }
.lp-chips5 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 8px; }
.lp-chips5 span { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 14px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); font-size: 14.5px; font-weight: 700; color: var(--lp-ink); }
.lp-chips5 svg { width: 18px; height: 18px; color: var(--lp-blue); display: block; }

@media (max-width: 1040px) { .lp-split, .lp-pbox, .lp-plans, .lp-fees { grid-template-columns: 1fr; } .lp-keys { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .lp-keys { grid-template-columns: 1fr; } .lp-plan-card, .lp-pbox-card, .lp-pbox-side { padding: 28px 24px; } .lp-pbox-card .amt b { font-size: 60px; } }

/* ==========================================================================
   V6 — pause au survol, tableau v3, encadré de transparence, FAQ, fondus
   ========================================================================== */

/* ---------- Pour qui : le survol met la rotation en pause ---------- */
[data-who]:hover .lp-who-timer.is-run::after,
[data-who]:focus-within .lp-who-timer.is-run::after { animation-play-state: paused; }

/* ---------- Tableau des formules : en-têtes alignés, colonnes bien séparées ---------- */
.lp-compare thead th { padding: 30px 18px 28px; vertical-align: top; }
.lp-compare thead th .lp-plan-tag { display: inline-block; margin-bottom: 14px; }
.lp-plan-tag.is-soft { background: #e6eaf3; color: #6b7385; }
.lp-plan-tag.is-soft::after { display: none; }
.lp-plan-sub { min-height: 20px; }
.lp-plan-price .from { display: block; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-body); margin-bottom: 6px; }
.lp-plan-premium .lp-plan-price .from { color: rgba(255, 255, 255, .78); }

/* première cellule : plus de grand carré blanc */
.lp-compare thead th.lp-compare-lead { text-align: left; vertical-align: middle; padding: 30px 28px 30px 36px; font-weight: 500; position: relative; overflow: hidden;
  background: linear-gradient(160deg, #eaf0ff 0%, #f7f9ff 100%); }
.lp-compare-lead::before { content: ""; position: absolute; left: -70px; bottom: -80px; width: 220px; height: 220px; border-radius: 50%; border: 1.5px solid rgba(20, 80, 230, .18); box-shadow: 0 0 0 30px rgba(20, 80, 230, .045), 0 0 0 60px rgba(20, 80, 230, .03); pointer-events: none; }
.lp-compare-lead > * { position: relative; }
.cl-title { display: block; font-size: 24px; line-height: 1.12; letter-spacing: -.035em; font-weight: 800; color: var(--lp-ink); }
.cl-title em { color: var(--lp-blue); font-style: normal; }
.cl-sub { display: block; margin: 10px 0 18px; font-size: 14px; color: var(--lp-body); }
.cl-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 12.5px; font-weight: 700; color: var(--lp-body); }
.cl-legend .ok { display: inline-flex; align-items: center; gap: 7px; }
.cl-legend .ok svg { width: 18px; height: 18px; padding: 4px; border-radius: 50%; background: var(--lp-blue-tint); color: var(--lp-blue); stroke-width: 3; display: block; }

/* séparation nette : colonne Basique grisée et encadrée de traits, colonne Premium teintée */
.lp-compare thead th:nth-child(2), .lp-compare tbody td:nth-child(2), .lp-compare tfoot td:nth-child(2) { background: #f3f5fa; border-left: 1.5px solid #d5ddee; border-right: 1.5px solid #d5ddee; }
.lp-compare thead th:nth-child(2) { background: #eaeef7; }
.lp-compare tbody td.col-premium, .lp-compare tfoot td.col-premium { background: rgba(20, 80, 230, .075); }
.lp-compare tbody tr:not(.group):hover th, .lp-compare tbody tr:not(.group):hover td:nth-child(2) { background: #eaf0fb; }
.lp-compare tbody tr:not(.group):hover td.col-premium { background: rgba(20, 80, 230, .12); }
.lp-compare tbody th { background: #fff; }
.lp-compare tr.group th { background: #eef2fa; }

/* ---------- Encadré "En toute transparence" ---------- */
.lp-callout { position: relative; overflow: hidden; margin: 30px 0 0; border-radius: 28px; background: #fff; border: 1px solid var(--lp-line); box-shadow: var(--lp-card-shadow); }
.lp-callout::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: linear-gradient(180deg, var(--lp-blue), var(--lp-teal)); }
.lp-callout-main { display: grid; grid-template-columns: 56px 1fr; gap: 20px; align-items: start; padding: 30px 34px 26px 40px; }
.lp-callout-ico { width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #1a5cff, #0d3bb8); box-shadow: 0 14px 26px -10px rgba(20, 80, 230, .65); }
.lp-callout-ico svg { width: 26px; height: 26px; display: block; }
.lp-callout b { display: block; margin-bottom: 8px; font-size: 20px; letter-spacing: -.025em; color: var(--lp-ink); }
.lp-callout p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--lp-body); } .lp-callout p strong { color: var(--lp-ink); }
.lp-callout-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--lp-line); background: var(--lp-soft); }
.lp-callout-facts li { padding: 20px 28px 20px 40px; } .lp-callout-facts li + li { border-left: 1px solid var(--lp-line); padding-left: 32px; }
.lp-callout-facts b { display: block; margin: 0 0 3px; font-size: 21px; letter-spacing: -.035em; color: var(--lp-blue); }
.lp-callout-facts span { display: block; font-size: 13px; color: var(--lp-body); }
@media (max-width: 760px) { .lp-callout-facts { grid-template-columns: 1fr; } .lp-callout-facts li + li { border-left: none; border-top: 1px solid var(--lp-line); padding-left: 40px; } .lp-callout-main { padding: 24px 22px 22px 28px; } }

/* ---------- FAQ : la question ouverte est mise en valeur ---------- */
.lp .faq-item { position: relative; transition: box-shadow .35s, border-color .35s, background .35s; }
.lp .faq-item.is-open { background: linear-gradient(135deg, #eef4ff 0%, #ffffff 65%); border-color: rgba(20, 80, 230, .38); box-shadow: 0 2px 4px rgba(20, 80, 230, .06), 0 26px 46px -22px rgba(20, 80, 230, .42); }
.lp .faq-item.is-open::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 4px; border-radius: 0 4px 4px 0; background: linear-gradient(180deg, var(--lp-blue), var(--lp-teal)); }
.lp .faq-item.is-open .faq-q-text { color: var(--lp-blue); font-size: 18px; }
.lp .faq-item.is-open .faq-a-inner p { color: var(--lp-ink); font-size: 15.5px; line-height: 1.7; }

/* ---------- Fondus entre sections : plus de changement de couleur brutal ---------- */
.lp-hero { background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 55%, rgba(255, 255, 255, 0) 100%); }
.lp-phero { background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 55%, rgba(255, 255, 255, 0) 100%); }
.lp-hero-bg { -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 70%, transparent 100%); }
.lp-section--soft { background: linear-gradient(180deg, rgba(244, 247, 254, 0) 0, #f4f7fe 150px, #f4f7fe calc(100% - 150px), rgba(244, 247, 254, 0) 100%); }
.lp-section.has-deco::before, .lp-deco { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 170px, #000 calc(100% - 170px), transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #000 170px, #000 calc(100% - 170px), transparent 100%); }
.lp-section.has-deco::after {
  -webkit-mask-image: radial-gradient(closest-side at 100% 0%, #000, transparent), linear-gradient(180deg, transparent 0, #000 110px); -webkit-mask-composite: source-in;
  mask-image: radial-gradient(closest-side at 100% 0%, #000, transparent), linear-gradient(180deg, transparent 0, #000 110px); mask-composite: intersect;
}
