/* Site public Secondys — style « blanc doux » (décision de Red, 09/11/2026).

   Les couleurs viennent de /couleurs.css (communes avec l'appli) ; ici, seulement leurs noms d'usage et le reste.

   Principes, à garder en tête avant toute retouche :
   - Une matière : le gris perle (--fond). Les chapitres alternent perle et blanc (.section.blanche) pour qu'on voie
     où commence chacun.
   - Le relief (ombre claire en haut à gauche + ombre foncée en bas à droite) seulement sur le gris perle, et par
     touches : jamais sur un texte ni sur un champ à remplir. Sur le blanc, des cartes « posées » (bord fin + ombre).
   - Trois couleurs, un rôle chacune : perle/blanc = la matière ; bleu = la confiance (titres, carte du bilan, pied) ;
     brique = l'action (logo et boutons, rien d'autre). Deux couleurs d'état, sur les chiffres et les étiquettes
     seulement : rouge = en retard, vert = payé / prêt.
   - IBM Plex Sans pour le texte ; DM Sans pour le nom du logo ; Newsreader italique pour « Bonjour … ».
     Polices servies par nous (rien chez Google). */
@import url("/couleurs.css");   /* les couleurs de la marque, communes au site et à l'appli */
@font-face{font-family:"IBM Plex Sans";src:url(/polices/ibm-plex-sans.woff2) format("woff2");font-weight:100 700;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/polices/dm-sans.woff2) format("woff2");font-weight:100 1000;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/polices/newsreader-italique.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}

:root{
  /* noms d'usage du site ; les couleurs elles-mêmes sont dans /couleurs.css */
  /* matière */
  --fond:var(--c-perle);--blanc:var(--c-blanc-casse);--carte:var(--c-blanc);--trait:var(--c-trait);
  --texte:var(--c-encre);--doux:var(--c-encre-douce);--titre-doux:#66758a;
  /* bleu : confiance */
  --bleu:var(--c-bleu);--bleu-clair:var(--c-bleu-clair);--bleu-nuit:var(--c-bleu-nuit);
  /* brique : action (sur le site, le bouton d'action est brique) */
  --accent:var(--c-brique);--accent-fonce:var(--c-brique-fonce);--accent-pale:var(--c-brique-pale);
  /* états, sur les chiffres et étiquettes seulement */
  --rouge:var(--c-rouge);--ok:var(--c-vert);--ok-pale:var(--c-vert-pale);
  /* pied de page et encarts sombres */
  --sombre:var(--c-sombre);--sombre2:var(--c-sombre-profond);--sur-sombre:var(--c-sur-sombre);--sur-sombre-doux:#b9c2cf;--trait-sombre:rgba(255,255,255,.17);
  /* ombres : relief (sur perle), creux (enfoncé), pose (carte sur blanc) */
  --lumiere:rgba(255,255,255,.95);--ombre-relief:rgba(140,150,170,.38);
  --relief:8px 10px 24px -6px var(--ombre-relief),-8px -8px 20px var(--lumiere);
  --relief-petit:4px 5px 12px -2px var(--ombre-relief),-4px -4px 10px var(--lumiere);
  --creux:inset 4px 4px 10px var(--ombre-relief),inset -4px -4px 10px var(--lumiere);
  --pose:0 1px 2px rgba(16,24,40,.04),0 10px 26px -10px rgba(16,24,40,.16);
  --ombre:0 1px 2px rgba(16,24,40,.05),0 30px 60px -24px rgba(16,24,40,.26);
  --police:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--serif:'Newsreader',Georgia,serif;
  --max:1200px
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:400 16px/1.65 var(--police);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid #e2a34f;outline-offset:3px}
svg{display:block}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}
.cadre{width:min(var(--max),calc(100% - 40px));margin:auto}
.saut{position:absolute;left:12px;top:-60px;background:#fff;padding:10px 14px;z-index:200}.saut:focus{top:12px}
/* le surtitre ouvre chaque chapitre : un petit trait bleu, puis le nom */
.surtitre{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--bleu)}
.surtitre::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
.titre-section{font-size:clamp(34px,4.6vw,58px);line-height:1.08;letter-spacing:-.03em;font-weight:600;margin:14px 0 0}
.chapeau{font-size:17px;color:var(--doux);max-width:520px}
.italique{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em}
/* la deuxième phrase d'un titre (« Vos factures encaissées. ») : même police, ton plus doux */
h1 .italique,h2 .italique{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit;color:var(--titre-doux)}

/* ---------- boutons ---------- */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border-radius:14px;border:1px solid transparent;font-size:16px;font-weight:600;white-space:nowrap;transition:background-color .2s,transform .2s,box-shadow .2s}
.bouton svg{width:18px;height:18px}
.bouton:hover{transform:translateY(-1px)}
/* l'action principale : la brique, un léger dégradé et une ombre de sa couleur */
.b-accent{background:linear-gradient(145deg,#d0583a,#b8442a);color:#fff;box-shadow:0 10px 22px -8px rgba(184,68,42,.55)}
.b-accent:hover{background:linear-gradient(145deg,#c64f31,var(--accent-fonce));box-shadow:0 6px 14px -6px rgba(184,68,42,.6)}
.b-sombre{background:var(--sombre2);color:#fff;box-shadow:var(--pose)}.b-sombre:hover{background:#000}
/* bouton secondaire : posé, en blanc */
.b-bord{border-color:var(--trait);background:var(--carte);box-shadow:var(--pose)}.b-bord:hover{border-color:#c8ced6}

/* logo */
.logo{font-family:'DM Sans',sans-serif;display:inline-flex;align-items:center;gap:10px;font-size:26px;font-weight:800;letter-spacing:-.06em;line-height:1}
.logo img{width:32px;height:32px;flex:none}
.logo .point{color:var(--accent)}

/* ---------- en-tête ---------- */
.entete{position:sticky;top:0;z-index:100;background:rgba(236,238,241,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px -16px var(--ombre-relief)}
.nav{display:flex;align-items:center;gap:24px;min-height:72px}
.nav .logo{color:var(--texte)}
.liens{display:flex;gap:26px;margin-left:auto}
.liens a{font-size:15px;font-weight:500;color:#3d444c}.liens a:hover{color:var(--bleu)}
.actions{display:flex;align-items:center;gap:18px}
.connexion{font-size:15px;font-weight:700}
.actions .bouton{min-height:44px;padding:0 18px;font-size:15px}
.menu{display:none;border:0;background:none;padding:10px;margin-right:-10px}.menu svg{width:26px;height:26px}

/* ---------- haut de page ---------- */
.haut{position:relative;overflow:hidden}
.haut-grille{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:84px 0 92px}
.haut h1{font-size:clamp(46px,5.5vw,78px);line-height:1.02;letter-spacing:-.045em;font-weight:600;margin:22px 0 26px}
.haut h1 .italique{display:block;color:#8693a6}
.haut .accroche{font-size:19px;line-height:1.65;color:var(--doux);max-width:540px}
.haut-cta{display:flex;align-items:center;gap:20px;margin-top:32px;flex-wrap:wrap}
.rassure{font-size:15px;color:var(--doux)}.rassure b{color:var(--texte)}
.garanties{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;font-size:15px;font-weight:600}
.garanties li{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;box-shadow:var(--relief-petit)}
.garanties svg{width:17px;height:17px;color:var(--ok)}

/* ---------- la feuille : le bilan (accueil) ou le point du matin (BTP) ----------
   Haut bleu avec le chiffre qui compte, puis une ligne en relief par sujet. Les chiffres de l'accueil sont ceux de la
   démonstration (tests/test_site_feuille.py le vérifie). L'animation d'arrivée est dans le script de la page. */
.feuille-pile{position:relative;perspective:1400px;padding:10px 0}
/* deux feuilles derrière : la pile de travail retrouvée */
.feuille-pile::before,.feuille-pile::after{content:"";position:absolute;inset:10px 0;border-radius:30px;background:#e4e7eb;box-shadow:0 20px 40px -24px rgba(110,122,145,.5)}
.feuille-pile::before{transform:rotate(-5deg) translate(-14px,10px);opacity:.75}
.feuille-pile::after{transform:rotate(-2.4deg) translate(-6px,4px)}
.feuille{position:relative;z-index:1;border-radius:30px;overflow:hidden;background:var(--fond);color:var(--texte);
  /* --rx, --ry, --leve : posées par le script quand la souris passe dessus (ordinateur) */
  transform:rotate(1.2deg) translateY(var(--leve,0px)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;
  box-shadow:0 2px 4px rgba(16,24,40,.06),0 40px 80px -24px rgba(23,36,64,.45),-14px -14px 34px var(--lumiere)}
.feuille.cliquable{cursor:pointer}
.feuille-haut{position:relative;padding:26px 30px;color:#fff;background:radial-gradient(120% 140% at 85% 0%,var(--bleu-clair) 0%,var(--bleu) 40%,var(--bleu-nuit) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px -10px rgba(23,36,64,.55)}
/* un reflet passe une fois sur le bleu, à l'arrivée */
.feuille-haut::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) 45%,transparent 60%);transform:translateX(-120%)}
.feuille.arrive .feuille-haut::after{animation:reflet 1.6s 1.4s ease-out both}
.feuille-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:600;color:#c9d5ea}
.feuille-exemple{font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.12);color:#dce5f4}
/* barre de lecture : les 60 jours sont lus */
.feuille-lecture{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:#b9c7de}
.feuille-barre{flex:0 0 110px;height:5px;border-radius:5px;background:rgba(255,255,255,.16);overflow:hidden}
.feuille-barre i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#8fd1ab,#4fb37c);transform-origin:left}
.feuille.arrive .feuille-barre i{animation:remplit 1.1s ease-out both}
.feuille-bonjour{font-family:var(--serif);font-style:italic;font-size:25px;color:#dbe3f1;margin-top:16px}
.feuille-intro{font-size:17px;font-weight:600;margin-top:2px}
.feuille-total{font-size:76px;font-weight:600;letter-spacing:-.05em;line-height:1.02;margin-top:6px;font-variant-numeric:tabular-nums;
  text-shadow:0 1px 0 rgba(255,255,255,.25),0 -1px 0 rgba(0,0,0,.35),0 14px 30px rgba(0,0,0,.3)}
.feuille-sous{font-size:15px;color:#c3cfe3}
.feuille-lignes{display:grid;gap:12px;padding:20px 20px 4px}
.feuille-ligne{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;padding:13px 16px;border-radius:16px;background:#f4f5f7;
  box-shadow:6px 7px 16px -4px var(--ombre-relief),-6px -6px 14px var(--lumiere),inset 0 1px 0 #fff;transition:box-shadow .25s}
a.feuille-ligne:hover{box-shadow:var(--creux)}
.feuille.arrive .feuille-ligne{animation:entre .5s ease-out both}
.feuille.arrive .feuille-ligne:nth-child(1){animation-delay:.9s}.feuille.arrive .feuille-ligne:nth-child(2){animation-delay:1.02s}
.feuille.arrive .feuille-ligne:nth-child(3){animation-delay:1.14s}.feuille.arrive .feuille-ligne:nth-child(4){animation-delay:1.26s}
.feuille-ligne b{font-size:20px;font-weight:600;letter-spacing:-.02em}
.feuille-ligne b.retard{color:var(--rouge)}
.feuille-ligne span{font-size:15px;font-weight:600;line-height:1.3}.feuille-ligne small{display:block;font-size:13px;font-weight:400;color:var(--doux)}
/* étiquette : neutre ; verte quand c'est prêt */
.etiquette{font-style:normal;font-size:12px;font-weight:600;color:#3d4654;background:#e3e7ec;padding:4px 10px;border-radius:999px;white-space:nowrap}
.etiquette.prete{color:var(--ok);background:var(--ok-pale)}
.feuille-pied{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 30px 22px;font-size:14px;color:var(--doux)}
.feuille-pied a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600}.feuille-pied svg{width:15px;height:15px}
@keyframes reflet{to{transform:translateX(120%)}}
@keyframes remplit{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes entre{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- messageries : une rainure creusée ---------- */
.messageries{padding:6px 0 10px}
.messageries .cadre{display:flex;align-items:center;gap:36px;min-height:92px;flex-wrap:wrap;padding:18px 32px;border-radius:22px;box-shadow:var(--creux)}
.messageries p{font-size:15px;font-weight:700;max-width:220px;line-height:1.4}.messageries p span{display:block;font-weight:400;color:var(--doux)}
.messageries ul{display:flex;flex-wrap:wrap;gap:10px 30px;flex:1;justify-content:space-between}
.messageries li{font-size:17px;font-weight:700;color:#4b5563;letter-spacing:-.02em}.messageries li.autres{font-weight:400;color:var(--doux);font-size:15px}

/* ---------- chapitres ---------- */
.section{padding:104px 0}
.section.blanche,.fin{background:var(--blanc)}
.tete-section{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px}
.tete-section .chapeau{max-width:400px}

.pastille{display:inline-block;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;background:var(--accent-pale);color:var(--accent-fonce)}.pastille.ok{background:var(--ok-pale);color:var(--ok)}
.demo-bas{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:15px;color:var(--doux)}

/* ce que ça fait : tuiles en relief (sur perle) */
.quatre{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.quatre article{padding:32px 34px;border-radius:24px;box-shadow:var(--relief)}
.quatre h3{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.quatre p{font-size:16px;color:var(--doux)}

/* étapes : cartes posées (sur blanc) */
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.etape{padding:30px 30px 28px;border-radius:24px;background:var(--carte);border:1px solid #e7eaee;box-shadow:var(--pose)}
.etape .no{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bleu);color:#fff;font-size:17px;font-weight:600;margin-bottom:18px}
.etape h3{font-size:22px;font-weight:600;margin-bottom:8px;letter-spacing:-.02em}.etape p{font-size:16px;color:var(--doux)}
.etapes-bas{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;font-size:17px;font-weight:700}

/* sécurité : le cadenas en relief au milieu */
.securite-grille{display:grid;grid-template-columns:minmax(0,1fr) 250px minmax(0,1.1fr);gap:48px;align-items:center}
.securite .chapeau{margin-top:18px}
.france{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:10px 16px;border-radius:999px;box-shadow:var(--relief-petit);font-size:14px;font-weight:700}
.drapeau{display:flex;width:24px;height:16px}.drapeau i{flex:1;background:#2450a0}.drapeau i:nth-child(2){background:#fff}.drapeau i:nth-child(3){background:#e5423b}
.engagements{display:grid;gap:16px}
.engagements li{display:grid;grid-template-columns:32px 1fr;gap:14px;padding:18px 20px;border-radius:18px;box-shadow:var(--relief-petit)}
.engagements svg{width:22px;height:22px;color:var(--bleu)}
.engagements b{display:block;font-size:18px;margin-bottom:4px}.engagements p{font-size:15px;color:var(--doux)}
.cadenas{position:relative;width:210px;height:250px;margin:0 auto}
.cadenas-anse{position:absolute;left:50%;top:4px;width:118px;height:120px;transform:translateX(-50%);border-radius:60px 60px 0 0;border:22px solid var(--fond);border-bottom:0;
  box-shadow:10px 10px 22px var(--ombre-relief),-10px -10px 22px var(--lumiere),inset 6px 6px 12px var(--ombre-relief),inset -6px -6px 12px var(--lumiere)}
.cadenas-corps{position:absolute;left:0;right:0;bottom:0;height:150px;border-radius:34px;background:linear-gradient(145deg,#f6f7f9,#e1e4e9);box-shadow:18px 18px 40px var(--ombre-relief),-16px -16px 36px #fff}
.cadenas-serrure{position:absolute;left:50%;top:50%;width:50px;height:50px;transform:translate(-50%,-56%);border-radius:50%;background:var(--fond);box-shadow:inset 6px 6px 12px var(--ombre-relief),inset -6px -6px 12px #fff}
.cadenas-serrure::after{content:"";position:absolute;left:50%;top:52%;width:10px;height:18px;transform:translateX(-50%);border-radius:5px;background:var(--bleu)}
.cadenas-voyant{position:absolute;right:26px;top:22px;width:9px;height:9px;border-radius:50%;background:#2f8f5b;box-shadow:0 0 0 4px rgba(47,143,91,.12),0 0 10px rgba(47,143,91,.6)}

/* tarif : l'offre posée sur le blanc */
.tarif-grille{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}
.paiement{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;font-size:15px;font-weight:600;color:var(--doux)}
.paiement li{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--carte);border:1px solid #e7eaee}
.paiement svg{width:17px;height:17px;color:var(--ok)}
.offre{background:var(--carte);border:1px solid #e7eaee;border-radius:30px;box-shadow:var(--ombre);padding:38px 38px 32px}
.offre-tete{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:14px;background:#f4f5f7;font-size:15px;font-weight:600}
.offre .prix{display:flex;align-items:baseline;gap:8px;padding-top:18px}
.offre .prix b{font:600 76px/.95 var(--police);letter-spacing:-.05em}.offre .prix span{font-size:18px;color:var(--doux)}
.offre .apres{font-size:15px;color:var(--doux);margin:8px 0 18px}
.offre li{display:flex;gap:10px;align-items:center;padding:7px 0;font-size:16px}.offre li svg{width:18px;height:18px;color:var(--ok);flex:none}
.offre .bouton{width:100%;margin-top:20px}.offre .petit{text-align:center;font-size:14px;color:var(--doux);margin-top:12px}

/* questions : des touches en relief ; une question ouverte s'enfonce */
.questions-grille{display:grid;grid-template-columns:.7fr 1fr;gap:80px}
details{border-radius:16px;box-shadow:var(--relief-petit);margin-bottom:16px;padding:0 22px}
details[open]{box-shadow:var(--creux)}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:20px 0;font-weight:600;font-size:17px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;box-shadow:var(--relief-petit);font-size:22px;line-height:1;color:var(--bleu);font-weight:400}
details[open] summary::after{content:"−"}
details p{padding:0 30px 20px 0;font-size:16px;color:var(--doux)}

/* fin : un panneau creusé dans le blanc */
.fin{padding:70px 0}
.fin .cadre{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:56px 60px;border-radius:34px;background:var(--fond);box-shadow:var(--creux)}
.fin h2{font-size:clamp(34px,4.4vw,56px);line-height:1.08;letter-spacing:-.035em;font-weight:600}
.fin h2 .italique{color:#8693a6}
.fin p{font-size:17px;color:var(--doux);margin-top:10px}

/* pied : bleu nuit, il ferme la page */
.pied{background:var(--sombre2);color:#ddd9cf;padding:52px 0 30px}
.pied-haut{display:flex;justify-content:space-between;gap:40px;padding-bottom:52px}
.pied .logo{color:#fff}.pied-haut p{font-size:15px;color:#b3ada2;max-width:330px;margin-top:18px}
.colonnes{display:flex;flex-wrap:wrap;gap:28px 70px}.colonnes div{display:flex;flex-direction:column;gap:12px}
.colonnes strong{font-size:14px;font-weight:600;color:#c9c3b8}.colonnes a{font-size:15px}.colonnes a:hover{text-decoration:underline}
.pied-bas{display:flex;justify-content:space-between;gap:14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:#a49e92}

.apparait.vu{animation:monte .6s ease both}@keyframes monte{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- la vraie appli en vitrine ---------- */
.tester-demo{display:inline-flex;align-items:center;gap:10px;margin:-18px 0 26px;padding:10px 18px 10px 14px;border-radius:14px;background:var(--carte);border:1px solid #e7eaee;box-shadow:var(--pose);color:var(--texte);font-size:16px;font-weight:500}
.tester-demo svg{width:20px;height:20px;flex:none;color:var(--bleu);animation:pointe 1.6s ease-in-out infinite}
@keyframes pointe{50%{transform:translateY(3px)}}
.vitrine{position:relative;padding-right:170px;border-radius:22px}
.navigateur{background:#fff;border:1px solid #e7eaee;border-radius:22px;overflow:hidden;box-shadow:var(--ombre)}
.navigateur-barre{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--fond)}
.navigateur-barre i{width:11px;height:11px;border-radius:50%;background:var(--fond);box-shadow:inset 2px 2px 3px var(--ombre-relief),inset -2px -2px 3px var(--lumiere)}
.navigateur-barre span{margin-left:12px;flex:1;max-width:320px;background:var(--fond);border-radius:8px;padding:3px 12px;font-size:13px;color:var(--doux);box-shadow:inset 2px 2px 5px var(--ombre-relief),inset -2px -2px 5px var(--lumiere)}
/* l'appli s'affiche à sa vraie taille (1440 × 900 ou 390 × 844), réduite à la place disponible ;
   en attendant qu'elle charge, une image d'elle (scripts/affiches_demo.py la refait) */
.ecran-demo{position:relative;overflow:hidden;--k:.5}
.ecran-demo iframe{position:absolute;top:0;left:0;border:0;transform:scale(var(--k));transform-origin:0 0;background:var(--fond)}
.ecran-demo.ordi{aspect-ratio:1440/900;background:var(--fond) url(/site/ecran-bureau.webp) 0 0/100% auto no-repeat}
.ecran-demo.tel{aspect-ratio:390/844;border-radius:24px;background:var(--fond) url(/site/tel-bureau.webp) 0 0/100% auto no-repeat}
.telephone{position:absolute;right:0;bottom:-40px;width:250px;border:9px solid #14181f;border-radius:36px;background:#14181f;box-shadow:0 30px 60px rgba(15,20,30,.3)}
.legende-vitrine{margin-top:60px;font-size:16px;color:var(--doux);max-width:760px}.legende-vitrine b{color:var(--texte)}
/* un clic sur la feuille du haut amène ici : le cadre s'éclaire une fois */
.vitrine.eclair{animation:eclair 1.4s ease-out}
@keyframes eclair{0%{box-shadow:0 0 0 0 rgba(35,71,126,.45)}100%{box-shadow:0 0 0 22px rgba(35,71,126,0)}}

/* ---------- formulaire d'essai ---------- */
.formulaire{background:var(--carte);border:1px solid #e7eaee;border-radius:24px;box-shadow:var(--ombre);padding:32px;color:var(--texte)}
.formulaire label{display:block;font-weight:600;font-size:16px;margin:16px 0 6px}
.formulaire label:first-child{margin-top:0}
.formulaire input{width:100%;font:inherit;font-size:17px;padding:13px 14px;border:1px solid #c8ced6;border-radius:10px;background:#fff;color:var(--texte)}
.formulaire input:focus{outline:3px solid #e2a34f;outline-offset:1px}
.formulaire .bouton{width:100%;margin-top:20px;border:0}
.formulaire .bouton:disabled{opacity:.6;cursor:default}
.aide{font-size:14px;color:var(--doux);margin-top:6px}
.aide a{text-decoration:underline}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.message:empty{display:none}
.message{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:15px}
.message.erreur{background:var(--accent-pale);color:var(--accent-fonce)}

/* ---------- pages de texte (légal) ---------- */
.texte-long{max-width:760px;padding:56px 0 80px}
.texte-long h1{font-size:clamp(34px,5vw,48px);letter-spacing:-.035em;line-height:1.1;margin-bottom:18px}
.texte-long h2{font-size:22px;letter-spacing:-.02em;margin:34px 0 10px}
.texte-long p,.texte-long li{font-size:17px;color:#3c4044;margin-bottom:12px}
.texte-long ul{list-style:disc;padding-left:22px}
.texte-long a{text-decoration:underline}
.brouillon{background:var(--accent-pale);color:var(--accent-fonce);padding:12px 16px;border-radius:10px;font-weight:600;font-size:15px!important}

/* ---------- guides ---------- */
.guide{max-width:780px;padding:40px 0 24px}
.ariane{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--doux);margin-bottom:28px}.ariane a{text-decoration:underline}
.guide h1{font-size:clamp(34px,5vw,50px);letter-spacing:-.035em;line-height:1.08;margin:12px 0 18px}
.guide .chapo{font-size:19px;color:#3c4044;margin-bottom:26px}
.guide h2{font-size:clamp(24px,3vw,30px);letter-spacing:-.025em;line-height:1.2;margin:44px 0 14px}
.guide h3{font-size:19px;margin:26px 0 8px}
.guide p,.guide li{font-size:17px;color:#3c4044}.guide p{margin-bottom:14px}
.guide ul,.guide ol{padding-left:22px;margin-bottom:16px}.guide ul{list-style:disc}.guide ol{list-style:decimal}.guide li{margin-bottom:8px}
.guide article a,.guide p a,.guide li a{text-decoration:underline;text-underline-offset:3px}
.en-bref{background:var(--carte);border:1px solid var(--trait);border-left:4px solid var(--bleu);border-radius:10px;padding:18px 22px;margin:8px 0 10px}
.en-bref strong{display:block;font-size:15px;font-weight:600;color:var(--bleu);margin-bottom:8px}
.en-bref ul{margin:0}.en-bref li{font-size:16px}
.modele{background:var(--carte);border:1px solid var(--trait);border-radius:14px;margin:14px 0 22px;overflow:hidden}
.modele-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:#f4f5f7;border-bottom:1px solid var(--trait);font-size:14px;font-weight:700}
.modele-tete button{border:1px solid var(--trait);background:var(--carte);border-radius:8px;padding:5px 12px;font-size:14px;font-weight:600}
.modele-corps{padding:16px 18px;font-size:16px;white-space:pre-line;color:#2b2f33;line-height:1.6}
.tableau-simple{margin:10px 0 18px;border-top:1px solid var(--trait)}
.tableau-simple div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--trait);font-size:16px}
.tableau-simple b{flex:0 1 62%;text-align:right}
.cta-produit{background:var(--sombre);color:var(--sur-sombre);border-radius:20px;padding:26px 28px;margin:36px 0}
.cta-produit h2{color:#fff;margin:0 0 10px!important;font-size:24px!important}
.cta-produit p,.cta-produit li{color:var(--sur-sombre-doux)!important}
.cta-produit .bouton{margin-top:8px}
.guide .faq{margin-top:20px}
.guide details p{padding-right:0}
.autres-guides{max-width:780px;padding:10px 0 60px}
.autres-guides h2{font-size:22px;margin-bottom:12px}
.autres-guides ul{display:grid;gap:10px}.autres-guides a{text-decoration:underline;font-size:17px}
.grille-guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;padding:10px 0 70px}
.carte-guide{display:flex;flex-direction:column;gap:10px;background:var(--carte);border:1px solid #e7eaee;border-radius:20px;padding:24px;box-shadow:var(--pose);transition:transform .2s,box-shadow .2s}
.carte-guide:hover{transform:translateY(-2px);box-shadow:var(--ombre)}
.carte-guide h2{font-size:21px;letter-spacing:-.02em}.carte-guide p{color:var(--doux);font-size:16px}
.carte-guide .lire{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--bleu)}.carte-guide .lire svg{width:16px;height:16px}

/* ---------- tablette ---------- */
@media (max-width:960px){
  .liens{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;gap:0;background:var(--fond);padding:8px 20px 18px;box-shadow:0 16px 24px rgba(0,0,0,.06)}
  .liens.ouvert{display:flex}.liens a{padding:14px 0;border-bottom:1px solid var(--trait);font-size:17px}
  .actions{margin-left:auto}.menu{display:block}
  .haut-grille,.securite-grille,.tarif-grille,.questions-grille{grid-template-columns:1fr;gap:48px}
  .securite-grille{gap:32px}.cadenas{transform:scale(.75);margin:-30px auto}
  .haut-grille{padding:64px 0 76px}.feuille-pile{max-width:560px;width:100%;margin:auto}
  .tete-section{flex-direction:column;align-items:flex-start;gap:14px}
  .section{padding:80px 0}
  .vitrine{padding-right:0}
  .telephone{position:relative;right:auto;bottom:auto;margin:28px auto 0;width:280px}
  .legende-vitrine{margin-top:44px}
}
/* ---------- téléphone ---------- */
@media (max-width:620px){
  .cadre{width:calc(100% - 32px)}
  .actions .bouton{display:none}.connexion{font-size:15px}
  .haut h1{font-size:clamp(44px,12.5vw,64px)}
  .haut .accroche{font-size:17px}
  .haut-cta .bouton{width:100%}.rassure{width:100%;text-align:center}
  .garanties li{padding:8px 12px}
  .feuille{transform:none;border-radius:24px}.feuille-pile::before,.feuille-pile::after{border-radius:24px}
  .feuille-haut{padding:22px 20px}.feuille-total{font-size:58px}.feuille-lignes{padding:16px 12px 2px}
  .feuille-ligne{grid-template-columns:1fr auto;gap:2px 10px;padding:12px}.feuille-ligne span{grid-column:1/-1;grid-row:2}
  .feuille-pied{flex-direction:column;align-items:flex-start;padding:12px 20px 20px}
  .messageries .cadre{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px}
  .messageries p{max-width:none}
  .messageries ul{justify-content:flex-start;gap:8px 20px}
  .section{padding:64px 0}
  .demo-bas,.etapes-bas,.fin .cadre,.pied-haut,.pied-bas{flex-direction:column;align-items:stretch}
  .quatre,.etapes{grid-template-columns:1fr;gap:20px}
  .quatre article,.etape{padding:24px 22px}.etape .no{margin-bottom:12px}
  .offre{padding:28px 22px}.offre .prix b{font-size:72px}
  .fin .cadre{padding:36px 24px;border-radius:26px}
  .colonnes{gap:28px 40px}
  .navigateur{display:none}
  .tester-demo{font-size:15px;margin-top:-8px}
  .telephone{width:min(300px,84vw);margin-top:0}
  .formulaire{padding:22px 18px}
  .navigateur-barre span{display:none}
  .texte-long{padding:36px 0 56px}
}
@media (max-width:700px){.tableau-simple div{flex-direction:column;gap:2px}.tableau-simple b{text-align:left}.guide{padding-top:26px}.cta-produit{padding:22px 20px}.grille-guides{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
