/* ============================================================================
   donnestage — feuille de style (refonte page d'accueil, sept. 2026)
   ----------------------------------------------------------------------------
   Intention : service sérieux et humain, pas « start-up ». On rassure par la
   clarté, l'espace et une hiérarchie nette — pas par des effets.
   - Une seule couleur d'action : bleu #2457FF. Vert #22C55E réservé aux validations.
   - Manrope, une seule famille.
   - Échelle typo stricte (8 tailles) + échelle d'espacement unique.
   - Micro-interactions discrètes uniquement. Aucun mouvement permanent.
   - Tout est neutralisé sous prefers-reduced-motion.
   Les composants « autres pages » (formulaire, tarifs, articles…) sont
   regroupés en fin de fichier ; ils seront harmonisés lors de la propagation.
   ============================================================================ */

:root{
  /* — Palette — */
  --blue:#2457FF;
  --blue-ink:#1E48D8;
  --night:#101828;
  --paper:#F8FAFC;
  --mist:#EEF2F9;
  --sky:#60A5FA;
  --green:#22C55E;
  --green-ink:#15803D;
  --card:#FFFFFF;
  --line:#E3E8F0;
  --text:#101828;
  --text-soft:#4A5568;          /* muted — contraste AA sur --paper */

  /* — Alias hérités (utilisés en inline sur d'autres pages) — */
  --ink:var(--night);
  --bg:var(--paper);
  --violet:var(--blue);
  --violet-2:var(--blue-ink);
  --lime:var(--green);
  --pink:var(--blue);
  --muted:var(--text-soft);

  /* — Espacement — échelle unique — */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-6:24px;
  --sp-8:32px; --sp-12:48px; --sp-16:64px;
  --section-y:clamp(38px, 4.2vw, 54px);        /* padding haut/bas de chaque section */
  --gap-head:clamp(26px, 3.2vw, 38px);         /* bloc de titre → contenu */
  --gap-block:clamp(22px, 2.6vw, 32px);        /* sous-parties internes */
  --card-pad:clamp(22px, 2.4vw, 28px);

  /* — Rayons — */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-pill:999px;
  --radius:var(--r-md);

  /* — Ombres — discrètes — */
  --sh-sm:0 1px 2px rgba(16,24,40,.05), 0 2px 6px -2px rgba(16,24,40,.06);
  --sh-md:0 6px 20px -8px rgba(16,24,40,.12);
  --sh-lg:0 16px 40px -18px rgba(16,24,40,.16);
  --shadow:var(--sh-md);

  /* — Typo — 8 tailles, rien en dehors — */
  --font:'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --fs-xs:.8rem;
  --fs-sm:.9rem;
  --fs-base:1rem;
  --fs-md:1.0625rem;
  --fs-lg:1.2rem;
  --fs-xl:1.32rem;
  --fs-2xl:clamp(1.8rem, 1.4rem + 1.7vw, 2.4rem);
  --fs-3xl:clamp(2.15rem, 1.65rem + 2.3vw, 2.95rem);

  /* — Motion — */
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:.18s;
}

/* ---------- Base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  background:var(--paper);
  color:var(--text);
  line-height:1.6;
  font-size:var(--fs-md);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font);font-weight:800;letter-spacing:-.02em;line-height:1.18;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
strong,b{font-weight:700}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}
::selection{background:var(--blue);color:#fff}

.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.wrap--narrow{max-width:760px}
@media(max-width:520px){.wrap{padding:0 20px}}

/* ---------- Apparition au scroll (discrète, une seule fois) ---------- */
.js .reveal{
  opacity:0;transform:translateY(18px);filter:blur(8px);
  transition:opacity .6s var(--ease), transform .6s var(--ease), filter .6s var(--ease);
  transition-delay:var(--rev-d,0ms);
}
.js .reveal.is-in{opacity:1;transform:none;filter:none}
.no-motion .reveal{opacity:1 !important;transform:none !important;filter:none !important}

/* ---------- Boutons ---------- */
.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font);font-weight:700;font-size:1rem;line-height:1;
  padding:.9em 1.6em;min-height:48px;border-radius:var(--r-md);
  border:1px solid transparent;cursor:pointer;text-decoration:none;
  background:var(--night);color:#fff;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
             background var(--dur) var(--ease), filter var(--dur) var(--ease);
}
.btn-arrow{display:inline-block;transition:transform var(--dur) var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--sh-md);filter:brightness(1.05)}
.btn:hover .btn-arrow{transform:translateX(3px)}
.btn:active{transform:translateY(0) scale(.985)}
.btn:focus-visible{outline:3px solid var(--blue-ink);outline-offset:3px}
.btn.primary{background:var(--blue);color:#fff;box-shadow:0 6px 16px -8px rgba(36,87,255,.5)}
.btn.primary:hover{background:var(--blue);box-shadow:0 12px 24px -8px rgba(36,87,255,.55)}
.btn.ghost{background:#fff;color:var(--night);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--blue);color:var(--blue);filter:none}
.btn.lime{background:var(--green);color:var(--night)}
.btn-lg{min-height:54px;font-size:1.08rem;padding:1.05em 1.9em;border-radius:14px}
.btn-nav{min-height:42px;font-size:.92rem;padding:.62em 1.15em;border-radius:10px;box-shadow:none}
.btn.sm{min-height:40px;padding:.6em 1.1em;font-size:.9rem}
@media(max-width:560px){
  .btn-lg{width:100%}
  .btn:hover{transform:none;filter:none}
  .btn:hover .btn-arrow{transform:none}
}

/* Reflet unique sur le CTA du hero (ajouté par JS ~1,7 s après le chargement) */
.btn-shine::after{
  content:"";position:absolute;top:0;bottom:0;left:-40%;width:38%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-18deg);
  animation:btnShineOnce .85s var(--ease) 1 forwards;
}
@keyframes btnShineOnce{from{left:-45%}to{left:135%}}

/* ---------- Navigation ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(248,250,252,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.nav.is-scrolled{background:rgba(248,250,252,.95);border-bottom-color:var(--line);box-shadow:var(--sh-sm)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px;transition:height var(--dur) var(--ease)}
.nav.is-scrolled .nav-in{height:60px}
.logo{font-family:var(--font);font-weight:800;font-size:1.28rem;display:flex;align-items:center;gap:.5em;letter-spacing:-.02em;color:var(--night)}
.logo .dot{width:19px;height:19px;border-radius:6px;background:var(--blue);display:inline-block;flex:none}
.nav-links{display:flex;align-items:center;gap:26px;font-weight:600;font-size:.92rem}
.nav-links a.mut{color:var(--text-soft);padding:6px 0;position:relative;transition:color var(--dur) var(--ease)}
.nav-links a.mut::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .18s var(--ease)}
.nav-links a.mut:hover{color:var(--night)}
.nav-links a.mut:hover::after{transform:scaleX(1)}
.nav-links .btn{margin-left:4px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px;margin:-10px}
.burger span{width:24px;height:2px;background:var(--night);border-radius:2px}
@media(max-width:900px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;background:var(--paper);
    border-bottom:1px solid var(--line);box-shadow:var(--sh-md);
    flex-direction:column;align-items:stretch;gap:2px;padding:12px 22px 18px;display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a.mut{padding:12px 0}
  .nav-links .btn{margin:8px 0 0;width:100%}
  .burger{display:flex}
}

/* ---------- Soulignement du hero (trait manuscrit dessiné) ---------- */
.hl{position:relative;white-space:nowrap;display:inline-block}
.hl-underline{
  position:absolute;left:-.04em;bottom:-.26em;width:calc(100% + .08em);height:.34em;
  overflow:visible;color:var(--blue);pointer-events:none;
}
.hl-underline path{stroke-dasharray:360;stroke-dashoffset:360}
.no-motion .hl-underline path{stroke-dashoffset:0}
.js .reveal.is-in .hl-underline path{animation:hlDraw .65s var(--ease) .5s forwards}
@keyframes hlDraw{to{stroke-dashoffset:0}}

/* ---------- Blocs de titre de section (rythme identique partout) ---------- */
.kicker{display:block;font-family:var(--font);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-xs);color:var(--blue);margin-bottom:10px}
.section{padding:var(--section-y) 0;scroll-margin-top:84px}
.hero{scroll-margin-top:84px}
.section--tint{background:var(--mist)}
.section-head{max-width:56ch;margin:0 0 var(--gap-head)}
.section-head h2{font-size:var(--fs-2xl);font-weight:800;margin:0;line-height:1.16}
.section-sub{font-size:var(--fs-md);color:var(--text-soft);line-height:1.55;margin:12px 0 0;max-width:52ch}

/* ---------- 1. HERO ---------- */
.hero{padding:clamp(34px,3.6vw,48px) 0 clamp(30px,3.4vw,44px);background:linear-gradient(180deg,#EEF3FF,var(--paper) 72%)}
.hero-grid{
  display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);
  gap:clamp(30px,4.5vw,68px);align-items:center;max-width:1180px;margin:0 auto;
}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:30px}}
.hero h1{font-size:var(--fs-3xl);font-weight:800;line-height:1.1;margin:0 0 16px}
.hero-lead{font-size:var(--fs-lg);color:var(--text-soft);line-height:1.5;max-width:48ch;margin:0 0 20px}
.ic-check{width:18px;height:18px;flex:none;color:var(--green-ink)}

/* Prix du hero : typographie, dégradé et reflet lent */
.hero-price{display:flex;flex-direction:column;gap:2px;margin:22px 0 28px}
.hero-price-label{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8A94A6}
.hero-price-main{display:flex;align-items:baseline;gap:.45em;flex-wrap:wrap;margin-top:6px}
.hero-price-amount{
  font-family:var(--font);font-weight:800;
  font-size:clamp(2.9rem, 1.9rem + 3.4vw, 4.4rem);line-height:.95;letter-spacing:-.035em;
  background:linear-gradient(100deg,#2457FF 0%,#4FA8FF 38%,#2457FF 62%,#1B3FCC 100%);
  background-size:260% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:dsPrice 9s ease-in-out infinite;
}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .hero-price-amount{background:none;-webkit-text-fill-color:currentColor;color:var(--blue)}
}
@keyframes dsPrice{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.hero-price-unit{font-size:var(--fs-md);font-weight:700;color:var(--night)}
.hero-price-split{font-size:var(--fs-sm);color:var(--text-soft);font-weight:500;margin-top:4px}
.hero-price-split b{color:var(--night);font-weight:800}
.hero-price-detail{font-size:var(--fs-sm);color:var(--text-soft);font-weight:500;margin-top:4px}
.hero-price-refund{display:inline-flex;align-items:flex-start;gap:.5em;font-size:var(--fs-sm);font-weight:700;color:var(--green-ink);margin-top:10px;line-height:1.35}
.hero-price-refund .ic-check{margin-top:1px}
.hero .btn-lg{display:inline-flex}
.hero-microcopy{margin:12px 0 0;font-size:var(--fs-sm);color:var(--text-soft);font-weight:500}
.hero-fineprint{margin:7px 0 0;font-size:.78rem;line-height:1.45;color:var(--text-soft);opacity:.8;max-width:46ch}

/* Carte Léa */
.lea-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(22px,2.6vw,28px);box-shadow:var(--sh-md);
  width:100%;max-width:460px;justify-self:end;margin-top:4px;
}
@media(max-width:920px){.lea-card{justify-self:stretch;max-width:none;margin-top:0}}
.lea-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.lea-photo{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:center 20%;flex:none;border:3px solid #fff;box-shadow:var(--sh-sm)}
.lea-id{display:flex;flex-direction:column;gap:2px;min-width:0}
.lea-id b{font-size:var(--fs-md);font-weight:800;color:var(--night)}
.lea-role{font-size:var(--fs-sm);color:var(--text-soft);font-weight:500}
.lea-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:700;color:var(--green-ink);margin-top:3px}
.lea-dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}
.lea-msg{font-size:var(--fs-sm);line-height:1.55;color:var(--text);background:var(--mist);border-radius:12px;padding:12px 15px;margin:0 0 16px}
.lea-list{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:10px}
.lea-list li{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-sm);font-weight:600;color:var(--night);line-height:1.35}

/* ---------- 2. FONCTIONNEMENT ---------- */
.steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,22px);
}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--card-pad)}
.step-num{
  display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;
  background:var(--blue);color:#fff;font-family:var(--font);font-weight:800;font-size:1rem;margin-bottom:14px;
}
.step h3{font-size:var(--fs-lg);font-weight:800;line-height:1.25;margin:0 0 8px}
.step p{font-size:var(--fs-base);color:var(--text-soft);line-height:1.55;margin:0}
.step-note{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--text-soft)}

.eligibility{
  margin-top:var(--gap-block);background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:clamp(24px,3vw,34px);
}
.eligibility > h3{font-size:var(--fs-lg);font-weight:800;margin:0 0 16px}
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media(min-width:600px){.check-list{grid-template-columns:1fr 1fr;gap:10px 26px}}
.check-list li{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-base);font-weight:600;color:var(--night);line-height:1.4}
.eligibility-note{margin:18px 0 0;font-size:var(--fs-sm);color:var(--text-soft)}
.eligibility .btn{margin-top:20px}

/* ---------- 2b. BANDE « UN CADRE CLAIR » (compacte, intégrée) ---------- */
.cadre-band{
  margin-top:var(--gap-block);background:var(--mist);border:1px solid var(--line);
  border-radius:var(--r-md);padding:clamp(16px,2vw,22px) clamp(18px,2.2vw,24px);
}
.cadre-band__title{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-soft);margin:0 0 12px}
.cadre-band__list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:9px 30px}
.cadre-band__list li{display:flex;align-items:center;gap:.5em;font-size:var(--fs-sm);font-weight:600;color:var(--night);line-height:1.35}
.cadre-band .link-arrow{margin-top:2px}
.link-arrow{display:inline-block;margin-top:var(--gap-block);font-size:var(--fs-sm);font-weight:700;color:var(--blue)}
.link-arrow:hover{text-decoration:underline}

/* ---------- 3. PREUVE SOCIALE ---------- */
.testimonial{
  max-width:820px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:clamp(24px,3vw,36px);
}
.testimonial blockquote{margin:0;font-size:var(--fs-lg);line-height:1.5;color:var(--night);font-weight:600;letter-spacing:-.01em}
.testimonial figcaption{
  display:flex;align-items:center;gap:14px;margin-top:20px;padding-top:18px;
  border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-soft);line-height:1.4;
}
.testimonial figcaption img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
.testimonial figcaption b{color:var(--night);font-weight:700}
.logos-caption{margin:var(--gap-block) 0 16px;font-size:var(--fs-sm);color:var(--text-soft);font-weight:600}
.logos-loop{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.logos-loop__track{
  list-style:none;margin:0;padding:6px 0;display:flex;align-items:center;gap:64px;width:max-content;
}
.logos-loop__track li{flex:none}
.logos-loop__track img{height:26px;width:auto;object-fit:contain;filter:grayscale(1) opacity(.6);transition:filter var(--dur) var(--ease)}
.logos-loop__track.is-looping{animation:logosScroll 34s linear infinite}
.logos-loop:hover .logos-loop__track.is-looping{animation-play-state:paused}
.logos-loop:hover .logos-loop__track img{filter:grayscale(1) opacity(.82)}
.logos-loop__track:not(.is-looping){flex-wrap:wrap;width:auto;justify-content:center;gap:20px 40px}
@keyframes logosScroll{from{transform:translateX(0)}to{transform:translateX(calc(-100% / var(--loop-n,2)))}}
.logos-disclaimer{margin:16px 0 0;font-size:var(--fs-xs);color:var(--text-soft)}

/* ---------- 4. FAQ + CTA INTÉGRÉ ---------- */
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;transition:border-color var(--dur) var(--ease)}
.faq details[open]{border-color:#c9d6f5}
.faq summary{
  list-style:none;cursor:pointer;padding:15px 18px;min-height:44px;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  font-family:var(--font);font-weight:700;font-size:var(--fs-md);color:var(--night);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";width:10px;height:10px;flex:none;
  border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);
  transform:rotate(45deg) translateY(-2px);transition:transform .2s var(--ease);
}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(0)}
.faq summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;border-radius:var(--r-md)}
.faq__body{overflow:hidden;transition:height .3s var(--ease)}
.faq__body p{padding:0 18px 16px;margin:0;font-size:var(--fs-base);color:var(--text-soft);line-height:1.6;max-width:62ch}
.faq__body a{color:var(--blue);text-decoration:underline}

.faq-cta{
  margin-top:var(--gap-head);padding-top:var(--gap-block);
  border-top:1px solid var(--line);text-align:center;
}
.faq-cta h2{font-size:var(--fs-xl);font-weight:800;color:var(--night);margin:0 0 18px;line-height:1.3}
.faq-cta .btn-lg{display:inline-flex}
.faq-cta-note{margin:14px 0 0;font-size:var(--fs-sm);color:var(--text-soft)}

/* ---------- Pied de page ---------- */
footer{border-top:1px solid var(--line);background:#fff;padding:clamp(38px,5vw,56px) 0 30px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-about{color:var(--text-soft);font-size:var(--fs-sm);line-height:1.55;max-width:40ch;margin:12px 0 16px}
.foot-mail{display:inline-flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;font-family:var(--font);font-weight:700;font-size:var(--fs-sm)}
.foot-mail:hover{border-color:var(--blue)}
.foot-mail small{display:block;color:var(--text-soft);font-weight:500;font-size:var(--fs-xs);margin-top:2px}
.foot-col h4{font-family:var(--font);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-soft);margin:0 0 12px}
.foot-col a{display:block;color:var(--text);font-size:var(--fs-sm);padding:6px 0;transition:color var(--dur) var(--ease)}
.foot-col a:hover{color:var(--blue)}
.foot-legal{margin-top:26px;color:var(--text-soft);font-size:var(--fs-xs)}

/* ============================================================================
   prefers-reduced-motion — on coupe tout ce qui bouge
   ============================================================================ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
  html{scroll-behavior:auto}
  .js .reveal{opacity:1 !important;transform:none !important;filter:none !important}
  .hl-underline path{stroke-dashoffset:0 !important;animation:none !important}
  .logos-loop__track{animation:none !important;flex-wrap:wrap;width:auto;justify-content:center;gap:20px 40px}
  .btn:hover{transform:none !important}
  .btn:hover .btn-arrow{transform:none !important}
  .btn-shine::after{display:none !important}
}

/* ============================================================================
   AUTRES PAGES — système partagé harmonisé sur la DA de l'accueil.
   ============================================================================ */

/* ---------- Header unique (identique sur toutes les pages ; page active marquée par JS) ---------- */
.nav-links a.mut[aria-current="page"],
.nav-links a.mut.is-here{color:var(--night)}
.nav-links a.mut[aria-current="page"]::after,
.nav-links a.mut.is-here::after{transform:scaleX(1)}
.subnav__btn.is-here{color:var(--night)}

.subnav{position:relative}
.subnav__btn{
  display:inline-flex;align-items:center;gap:.4em;
  font-family:var(--font);font-weight:600;font-size:.92rem;color:var(--text-soft);
  background:none;border:none;cursor:pointer;padding:6px 0;
  transition:color var(--dur) var(--ease);
}
.subnav__btn:hover{color:var(--night)}
.subnav__btn svg{width:11px;height:11px;transition:transform var(--dur) var(--ease)}
.subnav__btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.subnav__panel{
  position:absolute;top:calc(100% + 10px);right:0;min-width:210px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--sh-md);padding:6px;display:none;z-index:60;
}
.subnav__panel.open{display:block}
.subnav__panel a{
  display:block;padding:9px 12px;border-radius:var(--r-sm);
  font-size:var(--fs-sm);font-weight:600;color:var(--text);
  transition:background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.subnav__panel a:hover{background:var(--mist);color:var(--blue)}
.subnav__panel a[aria-current="page"],
.subnav__panel a.is-here{color:var(--blue)}
@media(max-width:900px){
  /* Sur mobile, le menu « Plus » se déplie à plat dans le panneau burger */
  .subnav{width:100%}
  .subnav__btn{display:none}
  .subnav__panel{
    position:static;display:block;min-width:0;border:none;box-shadow:none;
    padding:0;border-top:1px solid var(--line);margin-top:6px;padding-top:6px;
  }
  .subnav__panel a{padding:12px 0}
  .subnav__panel a:hover{background:none}
}

/* En-tête de page interne */
.phead{padding:clamp(30px,4vw,48px) 0 clamp(18px,2vw,24px)}
.phead .kicker{margin-bottom:12px}
.phead h1{font-size:var(--fs-3xl);font-weight:800;margin:0 0 14px;max-width:22ch}
.phead p{color:var(--text-soft);font-size:var(--fs-lg);max-width:58ch;line-height:1.5;margin:0}

section.blk{padding:var(--section-y) 0}
.sec-h{font-size:var(--fs-2xl);font-weight:800;margin:10px 0 16px;max-width:24ch}
.sec-sub{color:var(--text-soft);max-width:56ch;font-size:var(--fs-md)}
.tag{display:inline-block;font-family:var(--font);font-weight:700;text-transform:uppercase;letter-spacing:.11em;font-size:var(--fs-xs);color:var(--blue)}

/* Eyebrow (badge pilule) — utilisé sur les articles de blog */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-pill);
  padding:.5em 1em;font-weight:600;font-size:var(--fs-sm);color:var(--text-soft);box-shadow:var(--sh-sm);
}
.mock-badge{display:inline-block;background:var(--sky);color:var(--night);border-radius:var(--r-pill);padding:.3em .8em;font-family:var(--font);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:820px){.grid3,.grid2{grid-template-columns:1fr}}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--card-pad);box-shadow:var(--sh-sm)}
a.card{transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease)}
a.card:hover{border-color:#c9d6f5;box-shadow:var(--sh-md);transform:translateY(-2px)}
a.card .link-arrow{margin-top:12px}
@media(max-width:560px){a.card:hover{transform:none}}
.card .num{font-family:var(--font);font-weight:800;font-size:1.1rem;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--blue);color:#fff;margin-bottom:14px}
.card h3{font-size:var(--fs-lg);font-weight:800;margin-bottom:8px}
.card p{color:var(--text-soft);font-size:var(--fs-base);line-height:1.55}
.pill{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:.4em .9em;font-weight:600;font-size:var(--fs-sm);margin:4px 4px 0 0;color:var(--text-soft)}

.prob{background:var(--night);color:#c3cddf;border-radius:var(--r-lg);padding:clamp(28px,4vw,44px);position:relative;overflow:hidden}
.prob .tag{color:var(--sky)}
.prob h2{color:#fff;font-size:var(--fs-2xl);margin:10px 0 12px;max-width:28ch}
.prob p{color:#aab4c8;max-width:60ch;font-size:var(--fs-md)}
.prob .blob{display:none}

.panel{border-radius:var(--r-lg);padding:30px 26px;border:1px solid var(--line)}
.panel.violet{background:var(--blue);color:#fff;border-color:transparent;box-shadow:var(--sh-md)}
.panel.cream{background:#fff}
.panel h3{font-size:var(--fs-xl);font-weight:800;margin-bottom:10px}
.li{position:relative;padding-left:30px;margin:10px 0;font-size:var(--fs-base);line-height:1.55}
.li .d{position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800}
.panel.violet .d{background:#fff;color:var(--blue)}
.panel.violet .li{color:#e7ecfb}
.panel.cream .d{background:var(--blue);color:#fff}
.panel.cream .li{color:#3a4353}

.price{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px;box-shadow:var(--sh-md);max-width:440px}
.price .amt{font-family:var(--font);font-weight:800;font-size:2.8rem;line-height:1;letter-spacing:-.02em}
.price .amt small{font-size:1rem;color:var(--text-soft);font-weight:500}
.price ul{list-style:none;margin:18px 0}
.price li{display:flex;gap:10px;padding:9px 0;font-size:var(--fs-base);border-bottom:1px solid var(--line)}
.price li::before{content:"✓";color:var(--green-ink);font-weight:800}

.quote{background:#F1F5FF;border:1px solid #DDE6FB;border-radius:var(--r-lg);padding:clamp(30px,5vw,44px);text-align:center;box-shadow:var(--sh-sm);max-width:760px;margin:0 auto}
.quote p{font-family:var(--font);font-weight:800;font-size:var(--fs-xl);max-width:30ch;margin:0 auto 18px;line-height:1.35;color:var(--night)}
.who{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600;color:var(--text-soft);font-size:var(--fs-sm)}
.ava{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;background:var(--blue);color:#fff;display:grid;place-items:center;font-family:var(--font);font-weight:800;border:2px solid #fff;box-shadow:var(--sh-sm)}

.band{background:var(--blue);color:#fff;border-radius:var(--r-lg);padding:clamp(36px,5vw,56px) clamp(26px,4vw,44px);text-align:center;position:relative;overflow:hidden}
.band h2{font-size:var(--fs-2xl);font-weight:800;margin-bottom:12px;color:#fff}
.band p{color:#dbe4ff;max-width:48ch;margin:0 auto 22px;font-size:var(--fs-md)}
.band .blob{display:none}
.band .btn{background:#fff;color:var(--blue)}

/* Formulaire (page /demarrer) */
.formcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-md);max-width:440px;margin:0 auto;text-align:left}
.formcard label{font-weight:700;font-size:var(--fs-xs);font-family:var(--font);display:block;margin:12px 0 6px}
.req{color:#DC2626;margin-left:1px}
.formcard input,.formcard select,.formcard textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:inherit;font-size:.95rem;background:#fff;color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}
.formcard textarea{min-height:90px;resize:vertical}
.formcard input:focus,.formcard select:focus,.formcard textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,87,255,.15)}
.formcard .btn{width:100%;margin-top:16px}
.fsub{font-family:var(--font);font-weight:800;font-size:1rem;margin:22px 0 4px;padding-top:18px;border-top:1px solid var(--line)}
.fsub:first-child{border-top:none;padding-top:0;margin-top:4px}
.hint{font-size:var(--fs-xs);color:var(--text-soft);margin:6px 0 0}
.radiolist{display:grid;gap:8px;margin-top:8px}
.radiolist label{display:flex;align-items:center;gap:9px;margin:0;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;cursor:pointer;font-weight:500;font-size:.9rem;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease)}
.radiolist label:hover{border-color:var(--blue);background:#F7F9FF}
.radiolist input{width:auto}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.frow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:520px){.frow,.frow3{grid-template-columns:1fr}}
.ok{display:none;text-align:center;padding:8px 0 2px;color:var(--green-ink);font-weight:700;font-family:var(--font)}
.fstep{display:none}
.fstep.on{display:block}
.steps-bar{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:16px 0 24px}
.stepdot{display:flex;align-items:center;gap:8px;font-family:var(--font);font-weight:700;font-size:.84rem;color:var(--text-soft)}
.stepdot .n{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:#fff;font-size:.85rem}
.stepdot.on{color:var(--night)}
.stepdot.on .n{background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:520px){.steps-bar{gap:8px}.stepdot{font-size:0}.stepdot .n{font-size:.85rem}}

.founder-grid{display:grid;grid-template-columns:320px 1fr;gap:34px;align-items:center}
@media(max-width:720px){.founder-grid{grid-template-columns:1fr}}
.about-photo{width:100%;max-height:420px;object-fit:cover;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--sh-md)}

/* FAQ sur la page /faq (structure sans .faq__body) */
.faq details p{color:var(--text-soft);font-size:var(--fs-base);line-height:1.6;max-width:64ch}
.faq details > p{padding:0 18px 16px}
.faq summary{scroll-margin-top:88px}

/* ============================================================================
   GABARIT LONG-FORMAT — articles SEO + pages légales (.doc / .prose / .doc-toc)
   ============================================================================ */
.doc{padding:var(--section-y) 0}
.doc-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:clamp(30px,5vw,72px);align-items:start}
.doc-grid > .prose{grid-column:1;grid-row:1}
.doc-grid > .doc-toc{grid-column:2;grid-row:1}
@media(max-width:920px){
  .doc-grid{grid-template-columns:1fr;gap:20px}
  .doc-grid > .prose,.doc-grid > .doc-toc{grid-column:1;grid-row:auto}
}

.prose{max-width:68ch;min-width:0}
.prose-head{margin-bottom:clamp(24px,3vw,34px)}
.prose-head h1{font-size:var(--fs-3xl);font-weight:800;line-height:1.12;margin:10px 0 0}
.prose-meta{margin:12px 0 0;font-size:var(--fs-sm);color:var(--text-soft)}

.prose p,.prose li{font-size:var(--fs-md);line-height:1.7;color:var(--text)}
.prose > p,.prose > ul,.prose > ol{margin:0 0 1.1em}
.prose h2{font-size:var(--fs-xl);font-weight:800;line-height:1.25;margin:1.9em 0 .55em;scroll-margin-top:88px}
.prose h3{font-size:var(--fs-lg);font-weight:800;line-height:1.3;margin:1.5em 0 .4em;scroll-margin-top:88px}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.4em 0}
.prose li::marker{color:var(--blue)}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{text-decoration-thickness:2px}
.prose strong{font-weight:700;color:var(--night)}
.prose blockquote{
  margin:1.5em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--blue);
  color:var(--text-soft);font-size:var(--fs-md);line-height:1.6;
}
.prose hr{border:none;border-top:1px solid var(--line);margin:2em 0}

.prose-table-wrap{overflow-x:auto;margin:1.5em 0}
.prose-table-wrap table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);min-width:460px}
.prose-table-wrap th,.prose-table-wrap td{border:1px solid var(--line);padding:10px 13px;text-align:left;vertical-align:top}
.prose-table-wrap th{background:var(--mist);font-weight:700;color:var(--night)}

.prose figure{margin:1.6em 0}
.prose figure img{border:1px solid var(--line);border-radius:var(--r-md)}
.prose figcaption{margin-top:8px;font-size:var(--fs-sm);color:var(--text-soft)}

.callout{background:var(--mist);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px;margin:1.6em 0}
.callout p{margin:0}
.callout p + p{margin-top:.6em}
.callout__title{font-weight:800;color:var(--night);margin-bottom:6px !important}
.callout--warn{background:#FFF5F5;border-color:#F1C9C9}
.callout--warn .callout__title{color:#B42318}
.callout--ok{background:#F0FAF3;border-color:#C6E9D2}
.callout--ok .callout__title{color:var(--green-ink)}

.prose-disclaimer{margin-top:2.4em;padding-top:16px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-soft);line-height:1.6}
.prose-disclaimer a{color:var(--text-soft)}

/* CTA de fin de contenu — compact, jamais d'encadré sombre */
.inline-cta{margin:2.4em 0 0;padding-top:var(--gap-block);border-top:1px solid var(--line);text-align:center}
.inline-cta h2{font-size:var(--fs-xl);font-weight:800;color:var(--night);margin:0 0 16px;line-height:1.3}
.inline-cta .btn-lg{display:inline-flex}
.inline-cta-note{margin:14px 0 0;font-size:var(--fs-sm);color:var(--text-soft)}

/* Sommaire ancré */
.doc-toc{font-size:var(--fs-sm)}
@media(min-width:921px){.doc-toc{position:sticky;top:96px}}
.doc-toc__title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-soft);font-weight:800;margin:0 0 10px}
.doc-toc ol{list-style:none;margin:0;padding:0}
.doc-toc li{margin:0}
.doc-toc a{
  display:block;padding:6px 0 6px 12px;border-left:2px solid var(--line);
  color:var(--text-soft);line-height:1.4;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.doc-toc a:hover{color:var(--blue)}
.doc-toc a.is-current{color:var(--blue);border-left-color:var(--blue);font-weight:700}
/* Version mobile repliable */
.doc-toc details{border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.doc-toc summary{list-style:none;cursor:pointer;padding:12px 16px;font-weight:800;font-size:var(--fs-sm);color:var(--night);display:flex;justify-content:space-between;align-items:center}
.doc-toc summary::-webkit-details-marker{display:none}
.doc-toc summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg) translateY(-2px)}
.doc-toc details[open] summary::after{transform:rotate(-135deg)}
.doc-toc details ol{padding:0 16px 14px}
.doc-toc details a{border-left:none;padding-left:0}
@media(min-width:921px){
  .doc-toc details{border:none;background:none}
  .doc-toc summary{display:none}
  .doc-toc details ol{padding:0}
  .doc-toc details a{border-left:2px solid var(--line);padding-left:12px}
}

/* Bloc « À lire aussi » en fin d'article */
.doc-related{border-top:1px solid var(--line)}
.doc-related .kicker{margin-bottom:var(--gap-block)}

/* ============================================================
   COUCHE ÉNERGIE & ANIMATIONS — donnestage (propagée sur toutes les pages)
   Bleu plus vif + accents, beaucoup de micro-interactions.
   ============================================================ */
:root{ --accent:#FF6B4A; --blue-soft:#EAF0FF; }

/* Reveal plus vif et fiable : moins de flou, plus court */
.js .reveal{ transform:translateY(14px); filter:none;
  transition:opacity .5s var(--ease), transform .5s var(--ease); }

/* Point vert "vérifié 24 h" qui pulse */
.lea-dot{ position:relative; }
.lea-dot::after{ content:""; position:absolute; inset:-3px; border-radius:50%;
  border:2px solid var(--green); opacity:.55; animation:dsPulse 1.8s var(--ease) infinite; }
@keyframes dsPulse{ 0%{transform:scale(1);opacity:.55} 70%{transform:scale(2.3);opacity:0} 100%{opacity:0} }

/* Boutons : reflet qui balaie au survol + bleu plus vif */
.btn::after{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-18deg); transition:left .55s var(--ease); pointer-events:none; }
.btn:hover::after{ left:130%; }
.btn.primary{ background:linear-gradient(120deg,var(--blue),#3D6BFF); }

/* Cartes étapes : survol vivant, numéro qui réagit */
.step{ transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); }
.step:hover{ transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:var(--sky); }
.step-num{ transition:transform .22s var(--ease), box-shadow .22s var(--ease); }
.step:hover .step-num{ transform:scale(1.12) rotate(-4deg); box-shadow:0 8px 18px -6px rgba(36,87,255,.5); }

/* Cartes génériques (tarifs, articles, panneaux) */
.card{ transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); }
.card:hover{ transform:translateY(-4px); box-shadow:var(--sh-lg); }

/* Ligne reliant les 3 étapes, passe DERRIÈRE les cartes (desktop) */
@media(min-width:820px){
  .steps{ position:relative; }
  .steps::before{
    content:""; position:absolute; z-index:-1;
    top:50%; margin-top:-2px; left:0; right:0; height:4px; border-radius:4px;
    background:linear-gradient(90deg,var(--sky),var(--blue) 50%,var(--sky));
    animation:dsGlow 7s ease-in-out infinite;
  }
  .steps::after{ content:none; }
}
@keyframes dsGlow{
  0%,100%{ opacity:.28 }
  50%{ opacity:1 }
}

/* Listes à puces qui glissent au survol */
.check-list li,.lea-list li{ transition:transform .18s var(--ease); }
.check-list li:hover,.lea-list li:hover{ transform:translateX(3px); }

/* Carte Léa : soulèvement + halo */
.lea-card{ transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.lea-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-lg); }

/* Fonds bleutés pour casser le tout-blanc */
.hero{ background:radial-gradient(1200px 480px at 80% -10%, var(--blue-soft), transparent 60%); }
#temoignages{ background:linear-gradient(180deg,var(--blue-soft),#fff); }

/* Logos : moins délavés, réagissent au survol */
.logos img,.logo-row img,[class*="logos"] img{ transition:filter .2s var(--ease), transform .2s var(--ease); }
.logos img:hover,.logo-row img:hover,[class*="logos"] img:hover{ filter:none; transform:translateY(-2px); }

/* Soulignés de menu animés */
.nav-links a.mut{ position:relative; }
.nav-links a.mut::after{ content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px;
  background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .2s var(--ease); }
.nav-links a.mut:hover::after,.nav-links a.mut[aria-current="page"]::after{ transform:scaleX(1); }

/* Kicker avec point accent chaud */
.kicker::before{ content:""; display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--accent); margin-right:8px; vertical-align:middle; }

/* Respect de reduced-motion */
@media(prefers-reduced-motion:reduce){
  .lea-dot::after,.btn::after,.steps::before,.hero-price-amount{ animation:none !important; transition:none !important; }
}

/* ---------- Boutons du formulaire : taille homogène et lisible ---------- */
.formcard .btn{ min-height:52px; font-size:.98rem; }
.fnav{ display:flex; gap:12px; margin-top:20px; align-items:stretch; }
.formcard .fnav .btn{ width:auto; margin-top:0; white-space:nowrap; }
.formcard .fnav .btn.ghost{ flex:0 0 auto; min-width:106px; padding:.9em 1.1em; }
.formcard .fnav .btn.primary{ flex:1 1 auto; min-width:0; justify-content:center; padding:.9em 1.2em; }
@media(max-width:430px){
  .formcard .fnav{ gap:9px; }
  .formcard .fnav .btn{ font-size:.9rem; min-height:62px; }
  .formcard .fnav .btn.ghost{ min-width:80px; padding:.9em .7em; }
  .formcard .fnav .btn.primary{ padding:.85em .8em; white-space:normal; line-height:1.22; text-align:center; }
}

/* Bouton final : passe au vert au survol quand tout est rempli */
.btn.validate{ transition:background .3s var(--ease), color .3s var(--ease),
  border-color .3s var(--ease), box-shadow .3s var(--ease), transform .18s var(--ease); }
form:valid .btn.validate{ box-shadow:0 8px 20px -9px rgba(34,197,94,.5); }
form:valid .btn.validate:hover{
  background:var(--green); color:var(--night); border-color:var(--green);
  box-shadow:0 14px 30px -9px rgba(34,197,94,.62);
  animation:dsReady 1.1s var(--ease) infinite;
}
@keyframes dsReady{
  0%{ transform:translateY(-2px) scale(1) }
  50%{ transform:translateY(-2px) scale(1.028) }
  100%{ transform:translateY(-2px) scale(1) }
}
.no-motion form:valid .btn.validate:hover{ animation:none; transform:none; }

/* ---------- Hero plein écran sur ordinateur ---------- */
@media(min-width:921px){
  .hero{ display:flex; align-items:center; min-height:calc(100vh - 72px);
         padding-top:0; padding-bottom:clamp(28px,4vh,54px); }
  .hero > .wrap{ width:100%; }
  .hero-price{ margin:38px 0 32px; }
}

/* ---------- Bouton principal : bleu nuit au repos, bleu vif au survol ---------- */
.btn.cta-accent{
  background:linear-gradient(120deg,#101828,#25324B);
  color:#fff; border-color:transparent;
  transition:background .45s var(--ease), box-shadow .45s var(--ease), transform .2s var(--ease);
  animation:dsCtaIdle 5s ease-in-out infinite;
}
.btn.cta-accent .btn-arrow{ color:#fff; }
@keyframes dsCtaIdle{
  0%,100%{ box-shadow:0 10px 26px -14px rgba(16,24,40,.50) }
  50%{ box-shadow:0 17px 38px -14px rgba(16,24,40,.78) }
}
.btn.cta-accent:hover{
  background:linear-gradient(120deg,var(--blue),#4C86FF);
  filter:none;
  animation:dsCtaLive 1.5s ease-in-out infinite;
}
@keyframes dsCtaLive{
  0%,100%{ transform:translateY(-2px) scale(1);    box-shadow:0 16px 38px -12px rgba(36,87,255,.58) }
  50%    { transform:translateY(-2px) scale(1.022); box-shadow:0 24px 52px -12px rgba(36,87,255,.86) }
}
.btn.cta-accent:focus-visible{ outline:3px solid var(--blue); outline-offset:3px; }
.no-motion .btn.cta-accent,.no-motion .btn.cta-accent:hover{ animation:none; }

/* ---------- Bloc d'éligibilité : deux conditions ---------- */
.eligibility > h3{ margin-bottom:8px; }
.elig-lead{ margin:0 0 24px; max-width:62ch; line-height:1.55;
  font-size:var(--fs-base); color:var(--text-soft); }
.elig-cols{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px, 3.4vw, 46px); }
@media(min-width:821px){
  .elig-col + .elig-col{ border-left:1px solid var(--line); padding-left:clamp(26px, 3.4vw, 46px); }
}
@media(max-width:820px){
  .elig-cols{ grid-template-columns:1fr; gap:24px; }
  .elig-col + .elig-col{ border-top:1px solid var(--line); padding-top:24px; }
}
.elig-title{ display:flex; align-items:center; gap:10px; margin:0 0 4px;
  font-family:var(--font); font-weight:800; font-size:var(--fs-md); color:var(--night); line-height:1.3; }
.elig-num{ display:inline-grid; place-items:center; width:24px; height:24px; border-radius:7px; flex:none;
  background:var(--blue); color:#fff; font-family:var(--font); font-weight:800; font-size:.8rem; }
.elig-rule{ margin:0 0 16px; padding-left:34px; font-size:var(--fs-xs); color:var(--text-soft); }
.elig-list{ list-style:none; margin:0; padding:0 0 0 34px; display:grid; gap:11px; }
.elig-list li{ display:flex; align-items:flex-start; gap:10px; line-height:1.4;
  font-size:var(--fs-base); font-weight:600; color:var(--night);
  transition:transform .18s var(--ease); }
.elig-list li:hover{ transform:translateX(3px); }
.elig-dot{ width:7px; height:7px; border-radius:50%; background:var(--accent); flex:none; margin-top:.45em;
  transition:transform .18s var(--ease); }
.elig-list li:hover .elig-dot{ transform:scale(1.5); }
.elig-foot{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px;
  margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.elig-foot .btn{ margin:0; }
.elig-foot p{ margin:0; flex:1 1 300px; min-width:0; font-size:var(--fs-sm); color:var(--text-soft); max-width:58ch; }
@media(max-width:560px){
  .elig-foot{ flex-direction:column; align-items:stretch; gap:14px; }
  .elig-foot .btn{ width:100%; justify-content:center; white-space:nowrap; }
  .elig-foot p{ flex:none; max-width:none; }
}
