/* ============ Polices ============ */
@font-face { font-family:'Manrope'; src:url('../fonts/manrope-variable.woff2') format('woff2'); font-weight:400 800; font-display:swap; }

/* ============ Tokens ============ */
:root {
    --bleu-nuit: #090041;
    --bleu-fonce: #05002a;
    --encre: #1c1c3a;
    --texte-2: #5a5a78;
    --ambre: #d98b1f;
    --ambre-clair: #f0ad4e;
    --violet: #3d1d9e;
    --vert-wa: #25d366;
    --fond: #fdfdff;
    --fond-2: #f3f6fd;
    --carte-bord: #eef0f8;
    --rayon: 16px;
    --ombre-douce: 0 4px 14px rgba(20,20,60,.06);
    --ombre-forte: 0 16px 30px rgba(20,20,60,.12);
}

/* ============ Base ============ */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif; background:var(--fond); color:var(--encre); line-height:1.6; overflow-x:hidden; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { font:inherit; background:none; border:none; cursor:pointer; }
.conteneur { max-width:1120px; margin:0 auto; padding:0 24px; }
.section { padding:96px 0; }
.centre { text-align:center; }

/* ============ Typographie de section ============ */
.kicker { font-size:13px; letter-spacing:3px; text-transform:uppercase; color:var(--ambre); font-weight:800; }
.section-titre { font-size:clamp(28px, 3.6vw, 40px); font-weight:800; color:var(--bleu-nuit); text-align:center; line-height:1.2; }
.section-titre::after { content:''; display:block; width:64px; height:4px; border-radius:3px; background:linear-gradient(90deg, var(--ambre), var(--ambre-clair)); margin:16px auto 0; transform:scaleX(0); transition:transform .6s .25s cubic-bezier(.22,1,.36,1); }
.section-titre.on::after { transform:scaleX(1); }
.section-sous { color:var(--texte-2); text-align:center; max-width:640px; margin:14px auto 56px; font-size:17px; }

/* ============ Boutons ============ */
.btn { display:inline-block; font-weight:600; padding:13px 28px; border-radius:28px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.btn:hover { transform:translateY(-3px); }
.btn-primaire { background:var(--bleu-nuit); color:#fff; }
.btn-primaire:hover { box-shadow:0 12px 26px rgba(9,0,65,.35); }
.btn-fantome { border:1.5px solid #c9c9dd; color:var(--bleu-nuit); background:#fff; }
.btn-fantome:hover { border-color:var(--bleu-nuit); }
.btn-wa { background:var(--vert-wa); color:#fff; animation:pulserWa 2.6s ease-out infinite; }
.btn-wa:hover { box-shadow:0 12px 26px rgba(37,211,102,.4); animation:none; }
@keyframes pulserWa { 0% { box-shadow:0 0 0 0 rgba(37,211,102,.45); } 70% { box-shadow:0 0 0 16px rgba(37,211,102,0); } 100% { box-shadow:0 0 0 0 rgba(37,211,102,0); } }
.btn-ambre { background:var(--ambre-clair); color:var(--bleu-nuit); }
.btn-ambre:hover { box-shadow:0 12px 26px rgba(240,173,78,.4); }
.btn-contour-blanc { border:1.5px solid rgba(255,255,255,.45); color:#fff; }
.btn-contour-blanc:hover { border-color:#fff; }
.btn-grand { padding:16px 36px; font-size:17px; }

/* ============ Révélations au scroll ============ */
.reveal { opacity:0; transform:translateY(36px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }
.reveal.from-left { transform:translateX(-60px); }
.reveal.from-right { transform:translateX(60px); }
.reveal.on { opacity:1; transform:none; }

/* ============ Navbar ============ */
.nav { position:fixed; top:0; left:0; right:0; z-index:100; transition:background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease; }
.nav.scrolled { background:rgba(255,255,255,.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 2px 20px rgba(9,0,65,.08); }
.nav-int { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:14px; padding-bottom:14px; }
.marque { display:flex; align-items:center; gap:10px; font-family:Georgia, serif; font-style:italic; font-weight:700; font-size:19px; color:var(--bleu-nuit); }
.nav-liens { display:flex; gap:26px; font-size:14.5px; color:var(--texte-2); font-weight:600; }
.nav-liens a { position:relative; transition:color .25s ease; }
.nav-liens a::after { content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; border-radius:2px; background:var(--ambre); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.nav-liens a:hover, .nav-liens a.actif { color:var(--ambre); }
.nav-liens a:hover::after, .nav-liens a.actif::after { transform:scaleX(1); }

/* ============ Barre de progression de lecture ============ */
.progression { position:fixed; top:0; left:0; height:3px; width:100%; background:linear-gradient(90deg, var(--ambre), var(--ambre-clair)); transform-origin:left; transform:scaleX(0); z-index:110; }
.btn-nav { padding:10px 22px; font-size:14.5px; }
.burger { display:none; flex-direction:column; gap:5px; padding:6px; }
.burger span { width:24px; height:2.5px; background:var(--bleu-nuit); border-radius:2px; transition:transform .3s ease, opacity .3s ease; }

/* ============ Hero ============ */
.hero { position:relative; text-align:center; padding:170px 0 100px; overflow:hidden; background:linear-gradient(180deg, #fff 0%, var(--fond-2) 100%); }
.orbe { position:absolute; border-radius:50%; filter:blur(55px); opacity:.5; animation:derive 14s ease-in-out infinite alternate; pointer-events:none; }
.orbe-1 { width:340px; height:340px; background:radial-gradient(circle, #ffd9a0, transparent 70%); top:-90px; left:-70px; }
.orbe-2 { width:420px; height:420px; background:radial-gradient(circle, #c9c2ff, transparent 70%); bottom:-140px; right:-100px; animation-delay:-7s; }
@keyframes derive { from { transform:translate(calc(var(--para-x, 0px) * -1.2), calc(var(--para-y, 0px) * -1.2)) scale(1); } to { transform:translate(calc(50px - var(--para-x, 0px)), calc(30px - var(--para-y, 0px))) scale(1.15); } }
.hero-int { position:relative; }
h1 { font-size:clamp(34px, 5.4vw, 58px); line-height:1.12; font-weight:800; color:var(--bleu-nuit); margin-top:16px; }
.degrade-anime { background:linear-gradient(90deg, var(--ambre), #ff7b54, var(--ambre)); background-size:200% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:brillance 5s linear infinite; }
@keyframes brillance { to { background-position:200% center; } }
.hero-sous { color:var(--texte-2); font-size:18px; max-width:600px; margin:20px auto 30px; }
.hero-ctas { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:44px; }
.hero-ctas .btn-primaire { position:relative; overflow:hidden; }
.hero-ctas .btn-primaire::after { content:''; position:absolute; top:0; left:-80%; width:50%; height:100%; background:linear-gradient(105deg, transparent, rgba(255,255,255,.3), transparent); transform:skewX(-20deg); animation:balayage 4.5s ease-in-out infinite; }
@keyframes balayage { 0%, 55% { left:-80%; } 75%, 100% { left:130%; } }
.hero-chouette { display:inline-block; width:120px; height:120px; animation:flottement 3.5s ease-in-out infinite; filter:drop-shadow(0 14px 18px rgba(9,0,65,.2)); }
@keyframes flottement { 0%,100% { transform:translate(var(--para-x, 0px), var(--para-y, 0px)) rotate(-2deg); } 50% { transform:translate(var(--para-x, 0px), calc(var(--para-y, 0px) - 14px)) rotate(2deg); } }
.stats { display:flex; gap:54px; justify-content:center; flex-wrap:wrap; margin-top:34px; }
.stat b { font-size:34px; font-weight:800; color:var(--bleu-nuit); display:block; }
.stat span { font-size:14px; color:var(--texte-2); }

/* ============ Cascade d'entrée du hero ============ */
.entree-1, .entree-2, .entree-3, .entree-4, .entree-5 { opacity:0; animation:entreeHaut .8s ease forwards; }
.entree-1 { animation-name:entreeBas; }
.entree-2 { animation-delay:.15s; }
.entree-3 { animation-delay:.3s; }
.entree-4 { animation-delay:.45s; }
.entree-5 { animation-delay:.6s; }
@keyframes entreeHaut { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
@keyframes entreeBas { from { opacity:0; transform:translateY(-16px); } to { opacity:1; transform:none; } }

/* ============ Fond alterné de section ============ */
.section-teintee { background:linear-gradient(180deg, #f8faff 0%, #fff 100%); }

/* ============ Vision ============ */
.grille-3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.pilier { background:#fff; border:1px solid var(--carte-bord); border-radius:var(--rayon); padding:34px 26px; text-align:center; box-shadow:var(--ombre-douce); transition:transform .3s ease, box-shadow .3s ease, opacity .7s ease; }
.pilier:hover { transform:translateY(-8px); box-shadow:var(--ombre-forte); }
.pilier-icone { font-size:34px; margin-bottom:14px; }
.pilier h3 { color:var(--bleu-nuit); font-size:20px; margin-bottom:8px; }
.pilier p { color:var(--texte-2); font-size:15px; }

/* ============ Modules du logiciel ============ */
.module { display:flex; align-items:center; gap:48px; margin-bottom:72px; }
.module-inverse { flex-direction:row-reverse; }
.module-texte { flex:1.15; }
.module-visuel { flex:.85; }
.module-badge { display:inline-block; font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--ambre); border:1.5px solid var(--ambre); border-radius:16px; padding:3px 12px; margin-bottom:12px; }
.module h3 { font-size:26px; color:var(--bleu-nuit); margin-bottom:8px; }
.module-utilite { color:var(--encre); font-size:16.5px; margin-bottom:14px; }
.module-points li { position:relative; padding-left:26px; color:var(--texte-2); font-size:15px; margin-bottom:8px; }
.module-points li::before { content:'✓'; position:absolute; left:0; color:var(--ambre); font-weight:800; }
.logos-paiement { display:flex; gap:14px; align-items:center; margin-top:18px; flex-wrap:wrap; }
.logos-paiement img { height:30px; width:auto; border-radius:6px; }

/* ============ Écran stylisé (fenêtre) ============ */
.ecran { background:#fff; border:1px solid var(--carte-bord); border-radius:14px; box-shadow:var(--ombre-forte); overflow:hidden; transform:perspective(900px) rotateY(-6deg) rotateX(2deg); transition:transform .5s ease; }
.ecran-inverse { transform:perspective(900px) rotateY(6deg) rotateX(2deg); }
.ecran:hover { transform:perspective(900px) rotateY(0) rotateX(0); }
.ecran-barre { height:28px; background:var(--fond-2); display:flex; gap:5px; align-items:center; padding:0 12px; }
.ecran-barre i { width:9px; height:9px; border-radius:50%; background:#d9dcea; }

/* ============ Mini-interfaces ============ */
.mini-ui { padding:18px; font-size:12.5px; }
.mini-titre { font-weight:800; color:var(--bleu-nuit); margin-bottom:10px; font-size:13px; }
.mini-edt { display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; margin-bottom:10px; }
.mini-edt span { border-radius:6px; padding:8px 4px; text-align:center; color:var(--bleu-nuit); font-weight:600; font-size:11px; }
.mini-ligne { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid var(--carte-bord); color:var(--texte-2); }
.mini-ligne b { color:var(--bleu-nuit); }
.mini-ligne.mini-total { border-bottom:none; padding-top:10px; }
.mini-ok { color:#0f8a4d !important; }

/* ============ Cascade interne des mini-interfaces ============ */
.reveal .mini-ui > * { opacity:0; transform:translateY(10px); transition:opacity .45s ease, transform .45s ease; }
.reveal.on .mini-ui > * { opacity:1; transform:none; }
.reveal.on .mini-ui > *:nth-child(1) { transition-delay:.25s; }
.reveal.on .mini-ui > *:nth-child(2) { transition-delay:.4s; }
.reveal.on .mini-ui > *:nth-child(3) { transition-delay:.55s; }
.reveal.on .mini-ui > *:nth-child(4) { transition-delay:.7s; }
.reveal.on .mini-ui > *:nth-child(5) { transition-delay:.85s; }
.reveal.on .mini-ui > *:nth-child(6) { transition-delay:1s; }

/* ============ Cascades dynamiques des contenus ============ */
.reveal .module-points li { opacity:0; transform:translateX(-16px); transition:opacity .5s ease, transform .5s ease; }
.reveal.on .module-points li { opacity:1; transform:none; }
.reveal.on .module-points li:nth-child(1) { transition-delay:.2s; }
.reveal.on .module-points li:nth-child(2) { transition-delay:.32s; }
.reveal.on .module-points li:nth-child(3) { transition-delay:.44s; }
.reveal.on .module-points li:nth-child(4) { transition-delay:.56s; }
.reveal.on .module-points li:nth-child(5) { transition-delay:.68s; }

.reveal .logos-paiement img, .reveal .app-nb, .reveal .badges-stores .badge-store { opacity:0; transform:translateY(14px) scale(.94); transition:opacity .45s ease, transform .45s cubic-bezier(.34,1.56,.64,1); }
.reveal.on .logos-paiement img, .reveal.on .app-nb, .reveal.on .badges-stores .badge-store { opacity:1; transform:none; }
.reveal.on .logos-paiement img:nth-child(1) { transition-delay:.75s; }
.reveal.on .logos-paiement img:nth-child(2) { transition-delay:.85s; }
.reveal.on .logos-paiement img:nth-child(3) { transition-delay:.95s; }
.reveal.on .logos-paiement img:nth-child(4) { transition-delay:1.05s; }
.reveal.on .app-nb { transition-delay:.72s; }
.reveal.on .badges-stores .badge-store:nth-child(1) { transition-delay:.85s; }
.reveal.on .badges-stores .badge-store:nth-child(2) { transition-delay:.97s; }

.faq-liste.reveal .faq-item { opacity:0; transform:translateY(18px); transition:opacity .5s ease, transform .5s ease, box-shadow .3s ease; }
.faq-liste.reveal.on .faq-item { opacity:1; transform:none; }
.faq-liste.reveal.on .faq-item:nth-child(1) { transition-delay:.1s; }
.faq-liste.reveal.on .faq-item:nth-child(2) { transition-delay:.22s; }
.faq-liste.reveal.on .faq-item:nth-child(3) { transition-delay:.34s; }
.faq-liste.reveal.on .faq-item:nth-child(4) { transition-delay:.46s; }
.faq-liste.reveal.on .faq-item:nth-child(5) { transition-delay:.58s; }
.faq-liste.reveal.on .faq-item:nth-child(6) { transition-delay:.7s; }

.contact-int.reveal .contact-ctas .btn, .contact-int.reveal .contact-coordonnees p { opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s cubic-bezier(.22,1,.36,1), box-shadow .25s ease; }
.contact-int.reveal.on .contact-ctas .btn, .contact-int.reveal.on .contact-coordonnees p { opacity:1; transform:none; }
.contact-int.reveal.on .contact-ctas .btn:nth-child(1) { transition-delay:.25s; }
.contact-int.reveal.on .contact-ctas .btn:nth-child(2) { transition-delay:.4s; }
.contact-int.reveal.on .contact-ctas .btn:nth-child(3) { transition-delay:.55s; }
.contact-int.reveal.on .contact-coordonnees p:nth-child(1) { transition-delay:.75s; }
.contact-int.reveal.on .contact-coordonnees p:nth-child(2) { transition-delay:.85s; }
.contact-int.reveal.on .contact-coordonnees p:nth-child(3) { transition-delay:.95s; }

/* Rythme d'entree des en-tetes de section : kicker puis titre puis sous-titre */
.section-titre.reveal { transition-delay:.12s; }
.section-sous.reveal { transition-delay:.24s; }

/* ============ Blocs applications ============ */
.app-bloc { display:flex; align-items:center; gap:48px; margin-bottom:72px; border-radius:var(--rayon); padding:36px; }
.app-inverse { flex-direction:row-reverse; }
.app-superprof { background:linear-gradient(135deg, #f8faff, #fff); border:1px solid var(--carte-bord); }
.app-monecolier { background:linear-gradient(135deg, #fffaf3, #fff); border:1px solid #f5ead8; }
.app-fondaschool { background:linear-gradient(135deg, #f5f3ff, #fff); border:1px solid #e8e4f8; }
.app-texte { flex:1.2; }
.app-texte h3 { font-size:26px; color:var(--bleu-nuit); margin-bottom:8px; }
.app-cible { font-size:16px; font-weight:600; color:var(--ambre); }
.app-nb { font-style:italic; color:var(--texte-2); font-size:14px; margin-top:12px; }

/* ============ Téléphone stylisé ============ */
.telephone { flex-shrink:0; width:230px; border:3px solid var(--bleu-nuit); border-radius:26px; background:#fff; box-shadow:var(--ombre-forte); padding:26px 8px 16px; position:relative; transition:transform .45s ease; transform:perspective(700px) rotateY(0); }
.app-bloc:hover .telephone { transform:perspective(700px) rotateY(-10deg) translateY(-6px); }
.app-inverse:hover .telephone { transform:perspective(700px) rotateY(10deg) translateY(-6px); }
.telephone-ambre { border-color:var(--ambre); }
.telephone-violet { border-color:var(--violet); }
.telephone-encoche { position:absolute; top:9px; left:50%; transform:translateX(-50%); width:64px; height:7px; border-radius:5px; background:var(--carte-bord); }
.mini-bouton { margin-top:12px; background:var(--bleu-nuit); color:#fff; text-align:center; border-radius:9px; padding:9px; font-weight:600; font-size:12.5px; }
.mini-bouton-ambre { background:var(--ambre); }
.mini-tuiles { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mini-tuiles span { background:var(--fond-2); border-radius:9px; padding:10px 8px; text-align:center; font-size:10.5px; color:var(--texte-2); }
.mini-tuiles b { display:block; font-size:15px; color:var(--bleu-nuit); }

/* ============ Badges stores ============ */
.badges-stores { display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; }
.badge-store { display:flex; align-items:center; gap:9px; background:#0b0b14; color:#fff; border-radius:10px; padding:8px 16px; position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.badge-store::after { content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(105deg, transparent, rgba(255,255,255,.35), transparent); transform:skewX(-20deg); transition:left .6s ease; }
.badge-store:hover { transform:translateY(-3px) scale(1.03); box-shadow:0 10px 22px rgba(11,11,20,.35); }
.badge-store:hover::after { left:120%; }
.badge-store small { display:block; font-size:10px; opacity:.75; line-height:1.2; }
.badge-store b { font-size:14.5px; line-height:1.2; }

/* ============ Témoignages ============ */
.temoignage { background:#fff; border:1px solid var(--carte-bord); border-radius:var(--rayon); padding:28px 24px; box-shadow:var(--ombre-douce); transition:transform .3s ease, box-shadow .3s ease, opacity .7s ease; display:flex; flex-direction:column; gap:16px; }
.temoignage:hover { transform:translateY(-8px); box-shadow:var(--ombre-forte); }
.temoignage blockquote { color:var(--encre); font-size:15px; }
.temoignage figcaption b { display:block; color:var(--bleu-nuit); }
.temoignage figcaption span { font-size:13px; color:var(--texte-2); }

/* ============ FAQ ============ */
.faq-liste { max-width:720px; margin:0 auto; }
.faq-item { background:#fff; border:1px solid var(--carte-bord); border-radius:12px; margin-bottom:12px; overflow:hidden; box-shadow:var(--ombre-douce); }
.faq-q { width:100%; text-align:left; font-weight:700; color:var(--bleu-nuit); padding:18px 20px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:15.5px; }
.faq-q .chev { color:var(--ambre); transition:transform .35s ease; }
.faq-item.open .chev { transform:rotate(180deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-a p { padding:0 20px 18px; color:var(--texte-2); font-size:14.5px; }

/* ============ Contact ============ */
.contact { position:relative; background:linear-gradient(135deg, var(--bleu-nuit), #1a0a6b); padding:96px 0; text-align:center; overflow:hidden; }
.orbe-contact { width:380px; height:380px; background:radial-gradient(circle, rgba(240,173,78,.3), transparent 70%); top:-120px; right:-90px; }
.contact-int { position:relative; }
.contact h2 { font-size:clamp(26px, 3.4vw, 38px); font-weight:800; color:#fff; }
.contact-sous { color:rgba(255,255,255,.75); font-size:17px; margin:12px 0 34px; }
.contact-ctas { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:38px; }
.contact-coordonnees p { color:rgba(255,255,255,.65); font-size:14px; margin-bottom:4px; }

/* ============ Footer ============ */
.footer { background:var(--bleu-fonce); padding:56px 0 24px; }
.footer-int { display:flex; justify-content:space-between; align-items:flex-start; gap:36px; flex-wrap:wrap; }
.footer-marque img { display:inline-block; vertical-align:middle; }
.footer-marque img + img { margin-left:12px; }
.footer-marque p { color:rgba(255,255,255,.55); font-size:13.5px; font-style:italic; margin-top:10px; }
.footer-liens { display:flex; gap:22px; flex-wrap:wrap; color:rgba(255,255,255,.75); font-size:14px; }
.footer-liens a:hover { color:var(--ambre-clair); }
.footer-sociaux { display:flex; gap:12px; }
.footer-sociaux a { width:36px; height:36px; border:1px solid rgba(255,255,255,.3); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:14px; transition:border-color .25s ease, background .25s ease; }
.footer-sociaux a:hover { border-color:var(--ambre-clair); background:rgba(240,173,78,.15); }
.footer-mention { text-align:center; color:rgba(255,255,255,.6); font-size:12.5px; margin-top:40px; padding:0 24px; }

/* ============ Responsive ============ */
@media (max-width: 1080px) {
    .section { padding:72px 0; }
    .module, .app-bloc { gap:30px; }
    .stats { gap:34px; }
}

@media (max-width: 820px) {
    .nav-liens { position:fixed; inset:0; background:rgba(9,0,65,.97); flex-direction:column; align-items:center; justify-content:center; gap:30px; font-size:21px; color:#fff; transform:translateY(-102%); transition:transform .4s ease; z-index:90; }
    .nav-liens a { color:#fff; }
    body.menu-ouvert .nav-liens { transform:none; }
    body.menu-ouvert { overflow:hidden; }
    .burger { display:flex; position:relative; z-index:95; }
    body.menu-ouvert .burger span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); background:#fff; }
    body.menu-ouvert .burger span:nth-child(2) { opacity:0; }
    body.menu-ouvert .burger span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); background:#fff; }
    .btn-nav { display:none; }
    .hero { padding:130px 0 70px; }
    .stats { gap:20px; }
    .stat b { font-size:26px; }
    .grille-3 { grid-template-columns:1fr; }
    .module, .module-inverse, .app-bloc, .app-inverse { flex-direction:column; }
    .module-visuel { width:100%; max-width:420px; }
    .app-bloc { padding:24px 18px; }
    .telephone { width:210px; }
    .reveal.from-left, .reveal.from-right { transform:translateY(36px); }
    .reveal.from-left.on, .reveal.from-right.on { transform:none; }
    .contact-ctas .btn { width:100%; max-width:340px; }
}

/* ============ Accessibilité mouvement ============ */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { animation:none !important; transition:none !important; }
    .reveal { opacity:1; transform:none; }
    .entree-1, .entree-2, .entree-3, .entree-4, .entree-5 { opacity:1; }
    .reveal .mini-ui > * { opacity:1; transform:none; }
    .reveal .module-points li, .reveal .logos-paiement img, .reveal .app-nb,
    .reveal .badges-stores .badge-store, .faq-liste.reveal .faq-item,
    .contact-int.reveal .contact-ctas .btn, .contact-int.reveal .contact-coordonnees p { opacity:1; transform:none; }
    .section-titre::after { transform:scaleX(1); }
    .hero-ctas .btn-primaire::after { display:none; }
}
