/* Composants repris en octobre 2026 : « Comment ça marche », trame lumineuse du haut
   de l'accueil (grid pulse) et parallaxe. Voir docs/COMPOSANTS.md. */

/* Comment ça marche */
.hiw{position:relative;padding-block:clamp(56px,8vw,110px);overflow:hidden}
.hiw-head{position:relative;z-index:2;margin-bottom:clamp(28px,4vw,56px)}
.hiw-board{position:relative;max-width:1000px;margin:0 auto;padding:0 16px}
.hiw-lines{position:absolute;inset:0;pointer-events:none;opacity:.07;background-image:linear-gradient(#151515 1px,transparent 1px);background-size:100% 32px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}
.hiw-path{display:none}
.hiw-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px;position:relative;z-index:1}
.hiw-card{position:relative;width:100%;transition:transform .3s ease}
.hiw-paper{background:#fff;padding:8px;border-radius:25px;border:1px solid #eeeeec;box-shadow:0 10px 20px 0 #d3d3d3}
.hiw-pin{display:block;width:30px;height:30px;margin:4px auto 18px;fill:var(--red,#e11d2a)}
.hiw-note{border-radius:15px;padding:16px 16px 18px;border:1px solid #f6d4d6;background:#fdecec}
.hiw-num{display:block;font-family:Manrope,Inter,sans-serif;font-weight:800;font-size:38px;line-height:1;letter-spacing:-.04em;color:var(--red,#e11d2a);margin-bottom:16px;font-variant-numeric:tabular-nums}
.hiw-note h3{font-size:22px;letter-spacing:-.03em;line-height:1.1;margin:0 0 8px;color:#151515}
.hiw-note p{margin:0;font-size:14px;line-height:1.5;color:#5f5f5f}
.hiw-card.is-ink .hiw-pin{fill:#151515}.hiw-card.is-ink .hiw-note{background:#f3f3f1;border-color:#e6e6e3}.hiw-card.is-ink .hiw-num{color:#151515}
.hiw-card.is-paper .hiw-pin{fill:#8a8a86}.hiw-card.is-paper .hiw-note{background:#fff;border-color:#ececea}.hiw-card.is-paper .hiw-num{color:#8a8a86}
@media (min-width:860px){
  .hiw-steps{display:block;height:1130px}
  .hiw-card{position:absolute;width:280px}
  .hiw-card:hover{z-index:3;transform:scale(1.05) rotate(var(--hiw-rot))}
  .hiw-card{transform:rotate(var(--hiw-rot))}
  .hiw-1{top:0;left:15%;--hiw-rot:8deg}
  .hiw-2{top:120px;right:15%;--hiw-rot:-8deg}
  .hiw-3{top:450px;left:15%;--hiw-rot:8deg}
  .hiw-4{top:570px;right:10%;--hiw-rot:-8deg}
  .hiw-5{top:850px;left:15%;--hiw-rot:8deg}
  .hiw-path{display:block;position:absolute;left:16px;right:16px;top:0;width:calc(100% - 32px);height:1130px;z-index:0;pointer-events:none}
  .hiw-path path{fill:none;stroke:#c9c9c5;stroke-width:2;stroke-linecap:round;stroke-dasharray:8 6;animation:hiw-dash 3s linear infinite}
}
@keyframes hiw-dash{to{stroke-dashoffset:-140}}
@media (prefers-reduced-motion:reduce){.hiw-path path{animation:none}.hiw-card,.hiw-card:hover{transition:none}}
body.motion-reduced .hiw-path path{animation:none}

/* Trame lumineuse derrière le haut de l'accueil */
.home-hero{position:relative;isolation:isolate}
.home-hero>*:not(.grid-pulse){position:relative;z-index:1}
.grid-pulse{position:absolute;inset:-24px calc(50% - 50vw) 0;z-index:0;pointer-events:none;overflow:hidden;--grid-pulse-line:rgba(21,21,21,.05);background-image:linear-gradient(to right,var(--grid-pulse-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-pulse-line) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent);mask-image:linear-gradient(to bottom,#000 80%,transparent)}
.grid-pulse canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
/* Le trajet en pointillés ne s'anime que lorsqu'il est à l'écran. */
.hiw-path path{animation-play-state:paused}
.hiw.is-visible .hiw-path path{animation-play-state:running}

/* Carrousel des écrans de l'application (section Application) */
.mobile-step-title{font-size:20px;letter-spacing:-.03em;margin:28px 0 8px;color:#151515}
.phone-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;width:100%}
.phone-carousel .mobile-phone-stack{grid-column:2;touch-action:pan-y;user-select:none}
.phone-nav{grid-row:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #e6e2e2;background:#fff;color:#151515;cursor:pointer;box-shadow:0 4px 12px #15151512;transition:transform .2s,border-color .2s}
.phone-nav:hover{border-color:var(--red,#e11d2a);color:var(--red,#e11d2a)}
.phone-nav:active{transform:scale(.94)}
.phone-nav .icon{width:20px;height:20px}
.phone-nav.prev{grid-column:1}.phone-nav.next{grid-column:3}
.phone-dots{grid-column:1/-1;display:flex;justify-content:center;gap:4px;margin-top:14px}
.phone-dots button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer}
.phone-dots span{display:block;width:8px;height:8px;border-radius:4px;background:#d9d4d4;transition:width .3s,background .3s}
.phone-dots [aria-selected="true"] span{width:22px;background:var(--red,#e11d2a)}
.phone-dots button:focus-visible{outline:2px solid var(--red,#e11d2a);outline-offset:2px;border-radius:8px}
@media (max-width:760px){.phone-carousel{position:relative;grid-template-columns:minmax(0,1fr);gap:0}.phone-carousel .mobile-phone-stack{grid-column:1}.phone-nav{position:absolute;top:42%;z-index:2;width:40px;height:40px;background:#ffffffe6}.phone-nav.prev{left:2px}.phone-nav.next{right:2px}}
@media (prefers-reduced-motion:reduce){.phone-dots span,.phone-nav{transition:none}}

/* Compteur à rouleaux (calculateur et prix de la page Tarifs) */
.odo{display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums}
.odo-digit{display:inline-block;height:1em;line-height:1;overflow:hidden;vertical-align:baseline}
.odo-col{display:flex;flex-direction:column;transition:transform .7s cubic-bezier(.2,.75,.15,1)}
.odo-col>span{display:block;height:1em;line-height:1;text-align:center}
.odo-sep{display:inline-block;white-space:pre}
@media (prefers-reduced-motion:reduce){.odo-col{transition:none}}
body.motion-reduced .odo-col{transition:none}

/* Témoignages : vrais témoignages, ou exemples fictifs signalés (site-config.js) */
.testimonials-stage{position:relative;height:420px;overflow:hidden;perspective:600px;margin-top:28px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent),linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);}
.testimonials-tilt{display:flex;justify-content:center;gap:16px;transform:translateZ(-80px) rotateX(18deg) rotateY(-8deg) rotateZ(14deg);height:140%;margin-top:-6%}
.tm-col{display:flex;flex-direction:column;gap:16px;width:240px;flex:none}
.tm-group{display:flex;flex-direction:column;gap:16px;animation:tm-scroll 38s linear infinite}
.tm-col.reverse .tm-group{animation-direction:reverse}
.tm-col:hover .tm-group{animation-play-state:paused}
@keyframes tm-scroll{to{transform:translateY(calc(-100% - 16px))}}
.tm-card{margin:0;background:#fff;border:1px solid #eeeeec;border-radius:14px;padding:16px;box-shadow:0 8px 18px #15151510}
.tm-card figcaption{display:flex;align-items:center;gap:10px}
.tm-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fdecec;color:var(--red,#e11d2a);font-weight:700;font-size:12px;flex:none}
.tm-who b{display:block;font-size:13px}.tm-who small{display:block;font-size:11px;color:#77777a}
.tm-card blockquote{margin:12px 0 0;font-size:13px;line-height:1.55;color:#3d3d40}
.tm-logo{display:block;width:62px;height:auto;aspect-ratio:200/162;object-fit:contain;flex:none;border-radius:8px;border:1px solid #f0efed;background:#fff}
.tm-question{font-size:13px;font-weight:700;line-height:1.4;color:#151515}.tm-case p{margin:8px 0 0;font-size:13px;line-height:1.55;color:#4a4a4d}
.tm-stars{display:flex;gap:2px;margin-top:10px;font-size:14px;line-height:1;color:#dcd6d3}.tm-stars .on{color:#e8a317}
.tm-flag{display:inline-block;margin-top:10px;font-size:10px;font-weight:600;letter-spacing:.04em;color:#8a7b7e;text-transform:uppercase}
.tm-label{max-width:640px;margin:12px 0 0;color:#8a8a8e;font-size:12px;line-height:1.5}
.tm-label .icon{width:16px;height:16px;flex:none;margin-top:2px;color:var(--red,#e11d2a)}
.tm-label[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.tm-group{animation:none}}
body.motion-reduced .tm-group{animation:none}

/* ---- Téléphones de l'application (d'après « Phone Mockups ») : contour, îlot et boutons
   dessinés en CSS autour des vraies captures ; carrousel en éventail, le téléphone choisi
   au premier plan, ses voisins plus petits et tournés derrière. */
.pm-phone{container-type:inline-size;width:100%}
.pm-body{position:relative;padding:3.4cqw;border-radius:15cqw;background:#151515;box-shadow:inset 0 0 0 1.5px #3b3b3b,inset 0 0 0 3px #0c0c0c,0 30px 46px -22px #15151566}
.pm-screen{position:relative;aspect-ratio:390/844;border-radius:11.8cqw;overflow:hidden;background:#fff}
.pm-screen img{display:block;width:100%;height:100%;object-fit:cover}
.pm-island{position:absolute;top:2.4cqw;left:50%;width:27cqw;height:7.6cqw;transform:translateX(-50%);border-radius:4cqw;background:#0b0b0b}
.pm-key{position:absolute;left:-.9cqw;width:1.2cqw;border-radius:1cqw 0 0 1cqw;background:#2b2b2b}
.pm-key-a{top:17%;height:5%}.pm-key-b{top:25%;height:10%}
.pm-key-c{left:auto;right:-.9cqw;top:24%;height:14%;border-radius:0 1cqw 1cqw 0}
.panel-2 .pm-phone{width:245px;margin:2px auto 0}
.mobile-phone-stack.pm-stage{display:grid;place-items:center;perspective:1500px;padding:8px 0 4px}
.pm-stage>.pm-slide{grid-area:1/1;width:min(250px,64%);max-width:none;margin:0;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.75,.2,1),opacity .5s ease,filter .5s ease;will-change:transform}
.pm-slide[data-pos="0"]{z-index:5}
.pm-slide[data-pos="1"],.pm-slide[data-pos="-1"],.pm-slide[data-pos="2"],.pm-slide[data-pos="-2"]{cursor:pointer;filter:brightness(.96) saturate(.8)}
.pm-slide[data-pos="1"]{z-index:4;transform:translateX(56%) scale(.8) rotateY(-26deg)}
.pm-slide[data-pos="-1"]{z-index:4;transform:translateX(-56%) scale(.8) rotateY(26deg)}
.pm-slide[data-pos="2"]{z-index:3;transform:translateX(98%) scale(.64) rotateY(-34deg);filter:brightness(.9) saturate(.6)}
.pm-slide[data-pos="-2"]{z-index:3;transform:translateX(-98%) scale(.64) rotateY(34deg);filter:brightness(.9) saturate(.6)}
.pm-slide:not([data-pos="0"]):not([data-pos="1"]):not([data-pos="-1"]):not([data-pos="2"]):not([data-pos="-2"]){z-index:1;transform:scale(.5);opacity:0;pointer-events:none}
.pm-slide:not([data-pos="0"]) .pm-body{box-shadow:inset 0 0 0 1.5px #3b3b3b,inset 0 0 0 3px #0c0c0c,0 18px 30px -20px #15151555}
.phone-carousel .phone-nav{position:relative;z-index:6}
@media (max-width:760px){
  .pm-stage>.pm-slide{width:min(230px,60%)}
  .pm-slide[data-pos="1"]{transform:translateX(50%) scale(.78) rotateY(-26deg)}
  .pm-slide[data-pos="-1"]{transform:translateX(-50%) scale(.78) rotateY(26deg)}
  .pm-slide[data-pos="2"],.pm-slide[data-pos="-2"]{opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){.pm-stage>.pm-slide{transition:none}}
body.motion-reduced .pm-stage>.pm-slide{transition:none}

/* ---- Compteur réel (d'après « Count Up ») : chiffres libres, centrés côte à côte, petit
   libellé dessous, sans cadre ; chaque chiffre roule jusqu'à sa valeur. */
.proof-stats{padding-top:40px;padding-bottom:24px;text-align:center}
.ps-title{font-size:clamp(20px,2.4vw,26px);letter-spacing:-.03em;margin:0 0 26px}
.ps-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:28px 72px;margin:0}
.ps-grid>div{display:flex;flex-direction:column-reverse;align-items:center;gap:6px}
.ps-grid>div[hidden]{display:none}
.ps-grid dd{margin:0;font-size:clamp(48px,6vw,72px);font-weight:700;letter-spacing:-.04em;line-height:1;color:#151515;font-variant-numeric:tabular-nums}
.ps-grid dd[data-stat=users]{color:var(--red,#e11d2a)}
.ps-grid dt{font-size:13px;color:#77777a}
@media (max-width:640px){.ps-grid{gap:22px 44px}}

/* ---- Section Afrique (kit « Afrique V2 ») : texte et carte côte à côte, carte contenue (ratio 1080 / 980). */
.africa-section .africa-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px}
.africa-section .africa-visual.tx-africa{max-width:620px;width:100%;margin:0 auto 34px;justify-self:center;align-self:center}
@media (max-width:1000px){.africa-section .africa-layout{width:calc(100% - 64px)}}
@media (max-width:700px){.africa-section .africa-layout{grid-template-columns:minmax(0,1fr);gap:8px}.africa-section .africa-visual.tx-africa{max-width:440px;margin:18px auto 28px}}

/* Réglage discret en bas de page : les animations jouent seules, ce bouton reste pour qui en a besoin. */
.footer .motion-toggle{font-size:9px;opacity:.6;min-height:32px;gap:5px}.footer .motion-toggle .icon{width:11px;height:11px}.footer .motion-toggle:hover,.footer .motion-toggle:focus-visible{opacity:1}

/* ---- Écran Carte du carrousel : vraie carte animée + habillage de l'application (tailles en cqw du téléphone). */
.pm-live{background:#2b3a2a;font-family:Inter,Arial,sans-serif;color:#fff}
.pm-live-map{position:absolute;inset:0;z-index:0;background:#3b4a35}
.pm-live-map .leaflet-bottom{bottom:44cqw!important}.pm-live-map .leaflet-control-attribution{font-size:1.8cqw!important;line-height:1.3;padding:0 1.6cqw!important;background:#ffffffb0!important;color:#333;margin:0!important}
.pm-live-top{position:absolute;z-index:2;left:4.5cqw;right:4.5cqw;top:12cqw;display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw;padding:1.3cqw;border-radius:4.5cqw;background:#fff;box-shadow:0 2cqw 5cqw #0003}
.pm-live-top span{display:grid;place-items:center;height:9cqw;border-radius:3.4cqw;font-size:3.3cqw;font-weight:600;color:#6c6c70}
.pm-live-top .is-on{background:#232326;color:#fff}
.pm-live-tools{position:absolute;z-index:2;right:4.5cqw;top:30cqw;display:grid;gap:2.4cqw}
.pm-live-tools span{display:grid;place-items:center;width:10.5cqw;height:10.5cqw;border-radius:3cqw;background:#fff;color:#232326;box-shadow:0 1cqw 3cqw #0002}
.pm-live-tools .icon{width:4.8cqw;height:4.8cqw}
.pm-live-card{position:absolute;z-index:2;left:3.5cqw;right:3.5cqw;bottom:27.5cqw;display:flex;align-items:center;gap:2.6cqw;padding:3cqw 3.6cqw;border-radius:5cqw;background:#232326f2;box-shadow:0 2cqw 6cqw #0004}
.pm-live-card strong{flex:1;font-size:4cqw;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-live-tag{flex:none;padding:1.3cqw 2.4cqw;border-radius:2cqw;background:#edf5ef;color:#216f58;font-size:2.8cqw;font-weight:600}
.pm-live-eta{flex:none;font-size:3.4cqw;color:#d9d9dc}.pm-live-eta b{font-weight:600;color:#fff}
.pm-live-card .icon{width:4.4cqw;height:4.4cqw;flex:none}
.pm-live-nav{position:absolute;z-index:2;left:3.5cqw;right:3.5cqw;bottom:4.5cqw;height:17cqw;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:0 1cqw 2.3cqw;border-radius:6cqw;background:#232326}
.pm-nav-item{display:grid;justify-items:center;gap:1cqw;color:#b9b9bd}.pm-nav-item .icon{width:5cqw;height:5cqw}.pm-nav-item b{font-size:2.5cqw;font-weight:500}
.pm-nav-item.is-map{color:#fff;margin-top:-9cqw}.pm-nav-item.is-map .icon{box-sizing:content-box;width:5.4cqw;height:5.4cqw;padding:3.3cqw;border-radius:50%;background:#232326;border:1cqw solid #fff}
.pm-live-moto{width:9cqw;height:13cqw;object-fit:contain;filter:drop-shadow(0 1cqw 1cqw #0006);transition:transform .2s linear}
.pm-live-stop{display:grid;place-items:center;width:9cqw;height:9cqw;border-radius:50%;background:#e11d2a;color:#fff;font:700 3.6cqw/1 Inter,Arial,sans-serif;border:.9cqw solid #fff;box-shadow:0 1cqw 2cqw #0005}
.ps-grid .odo-col{transition-duration:.18s}

/* ---- Commandes offertes à l'inscription : compact, juste avant le prix ; le nombre compte depuis 0. */
.free-start{display:flex;align-items:center;gap:14px;margin:14px 0 18px;padding:12px 16px;border-radius:16px;background:#fff1f2;color:#151515;width:fit-content;max-width:100%}
.free-start-count{font-size:clamp(34px,4vw,44px);font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--red,#e11d2a);font-variant-numeric:tabular-nums;min-width:1.2em}
.free-start>span{font-size:13px;line-height:1.35;color:#4a4a4d}.free-start strong{display:block;font-size:15px;color:#151515}
.price-anchor .free-start{background:#ffffff1f;color:#fff}.price-anchor .free-start-count{color:#fff}.price-anchor .free-start>span{color:#ffffffd9}.price-anchor .free-start strong{color:#fff}
.free-then{margin:0 0 -6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.free-start .odo-col{transition-duration:.18s}
/* Bandeau cookies (Hirael « Cookie Consent », réécrit) : dormant tant que SITE_GA_ID est vide. */
.cc{position:fixed;left:24px;bottom:24px;z-index:90;width:min(400px,calc(100% - 32px));padding:18px 18px 16px;border:1px solid #e6e3dc;border-radius:18px;background:#fff;color:#151515;box-shadow:0 18px 50px #1515151f,0 2px 6px #1515150d;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .26s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
.cc.is-open{opacity:1;transform:none}
.cc-head{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.cc-icon{width:18px;height:18px;fill:none;stroke:#6f6a62;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cc h2{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}
.cc-text{margin:0;font-size:13px;line-height:1.55;color:#5f5a52}
.cc-text a{color:#151515;text-decoration:underline;text-underline-offset:2px}
.cc-cats{display:grid;gap:8px;margin-top:14px}
.cc-cat{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #eeebe5;border-radius:12px;background:#faf9f6}
.cc-cat label{cursor:pointer;flex:1}
.cc-cat-name{margin:0;font-size:13px;font-weight:600;color:#151515}
.cc-cat-note{margin:2px 0 0;font-size:12px;line-height:1.45;color:#6f6a62}
.cc-toggle{position:absolute;right:12px;top:12px;width:36px;height:22px;margin:0;opacity:0;cursor:pointer;z-index:1}
.cc-switch{position:relative;flex-shrink:0;width:36px;height:22px;margin-top:1px;border-radius:999px;background:#dcd8d0;transition:background .2s}
.cc-switch::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e;transition:transform .2s}
.cc-switch[data-on=true]{background:#151515}
.cc-switch[data-on=true]::after{transform:translateX(14px)}
.cc-switch[data-locked=true]{opacity:.45}
.cc-toggle:focus-visible+.cc-switch{outline:2px solid #151515;outline-offset:2px}
.cc-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}
.cc-main{display:flex;gap:8px;margin-left:auto}
.cc-btn{min-height:40px;padding:0 15px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .12s}
.cc-btn:active{transform:scale(.97)}
.cc-ghost{padding:0 4px;border:0;background:none;color:#5f5a52;text-decoration:underline;text-underline-offset:3px}
.cc-outline{border:1px solid #d9d5cd;background:#fff;color:#151515}
.cc-outline:hover{border-color:#151515}
.cc-solid{border:1px solid #151515;background:#151515;color:#fff}
.cc-solid:hover{background:#000}
.cc-btn:focus-visible{outline:2px solid #e11d2a;outline-offset:2px}
.cookie-settings{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;opacity:.75}
.cookie-settings:hover{opacity:1;text-decoration:underline}
@media(max-width:560px){.cc{left:16px;right:16px;bottom:16px;width:auto}.cc-main{width:100%;margin-left:0}.cc-main .cc-btn{flex:1}.cc-actions{flex-direction:column-reverse;align-items:stretch}.cc-ghost{align-self:center}}
@media(prefers-reduced-motion:reduce){.cc{transition:none}}
/* Accroche du titre principal de l'accueil (référencement) : même rendu que l'ancien sur-titre. */
.home-hero h1 .hero-kicker{font:600 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.09em;margin-bottom:28px;white-space:normal}
@media(max-width:560px){.home-hero h1 .hero-kicker{font-size:9px;margin-bottom:20px}}

/* Grands titres dévoilés (d'après « Text Block Animation ») : un bloc rouge couvre chaque
   ligne puis se retire en découvrant le texte. Classes posées par components-v7.js. */
.tb .tb-line{position:relative;display:inline-block}
.tb .tb-text{opacity:0}
.tb .tb-line::after{content:"";position:absolute;inset:4% -2px 2% -2px;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none}
.tb.tb-in .tb-text{animation:tb-text .01s linear forwards;animation-delay:calc(var(--i,0) * .12s + .4s)}
.tb.tb-in .tb-line::after{animation:tb-block .8s cubic-bezier(.77,0,.18,1) forwards;animation-delay:calc(var(--i,0) * .12s)}
@keyframes tb-text{to{opacity:1}}
@keyframes tb-block{0%{transform:scaleX(0);transform-origin:left}49.9%{transform:scaleX(1);transform-origin:left}50%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
body.motion-reduced .tb .tb-text{opacity:1;animation:none}
body.motion-reduced .tb .tb-line::after{display:none}
@media(prefers-reduced-motion:reduce),print{.tb .tb-text{opacity:1;animation:none}.tb .tb-line::after{display:none}}
/* Téléchargement de l'application, toujours visible dans l'en-tête (8 novembre 2026). */
.nav-app{gap:7px;color:#151515}.nav-app .icon{width:16px;height:16px;color:var(--red,#e11d2a)}
.nav-app-quick{display:none}
@media(max-width:1000px){.nav-app{justify-content:flex-start!important}.nav-app span{flex:1}.nav-app-quick{display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:10px;min-height:44px;padding:0 15px;border:1.5px solid #151515;border-radius:100px;background:#fff;color:#151515;font-size:13px;font-weight:600;white-space:nowrap}.nav-app-quick .icon{width:16px;height:16px;color:var(--red,#e11d2a)}.nav-app-quick:hover,.nav-app-quick:focus-visible{background:#151515;color:#fff}}
