/* VerifBox : direction institutionnelle. Marine, filets fins, Public Sans. */
@font-face{font-family:"Public Sans";src:url("/polices/public-sans-latin.woff2") format("woff2");
  font-weight:400 700;font-style:normal;font-display:swap}
:root{
  --marine:#0E2A4F; --marine-2:#1D4E89; --texte:#1B2433; --doux:#556173; --fond:#FFFFFF; --teinte:#F2F5F9;
  --trait:#D8DEE7; --trait-fort:#B9C3D1; --valide:#1C6B4F; --fond-valide:#EAF4EF; --alerte:#A4262C; --fond-alerte:#FBEEEE;
  --marque:var(--marine); --pied:#0E2A4F; --pied-texte:#C9D3E1;
  --police:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --largeur:72rem; color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
  --marine:#9DBBE6; --marine-2:#B9D0F0; --texte:#DCE3EE; --doux:#9AA6B8; --fond:#0C1626; --teinte:#111E33;
  --trait:#24334D; --trait-fort:#34466A; --valide:#7FCFA6; --fond-valide:#10291F; --alerte:#F2A0A3; --fond-alerte:#2E1619;
  --marque:#E6EDF7; --pied:#08111F; --pied-texte:#9AA6B8;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fond);color:var(--texte);font:400 1.0625rem/1.6 var(--police);font-feature-settings:"tnum" 0}
a{color:var(--marine-2);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--marine-2);outline-offset:2px;border-radius:2px}
.largeur{max-width:var(--largeur);margin:0 auto;padding:0 1.5rem}
.lien-evitement{position:absolute;left:-999px;top:0;background:var(--marine);color:#fff;padding:.6rem 1rem;z-index:10}
.lien-evitement:focus{left:1rem}

/* En-tete */
.entete{border-bottom:1px solid var(--trait);background:var(--fond)}
.entete .largeur{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.5rem}
.marque{display:inline-flex;align-items:center;gap:.65rem;color:var(--marque);text-decoration:none;font-weight:700;font-size:1.25rem;letter-spacing:-.015em}
.marque svg{width:30px;height:30px;flex:none}
.marque small{display:block;font-weight:400;font-size:.78rem;letter-spacing:0;color:var(--doux);margin-top:-.15rem}
.nav{display:flex;gap:.25rem}
.nav a{color:var(--texte);text-decoration:none;font-weight:500;font-size:.98rem;padding:.55rem .9rem;border-radius:4px}
.nav a:hover{background:var(--teinte)}
.nav a[aria-current]{color:var(--marine);box-shadow:inset 0 -2px 0 var(--marine);border-radius:0}

/* Titres */
h1,h2,h3{color:var(--marine);line-height:1.15;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.1rem,4.6vw,3.1rem);margin:0 0 1.1rem;max-width:18ch}
h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin:0 0 1rem}
h3{font-size:1.1rem;margin:0 0 .4rem;letter-spacing:-.01em}
.chapeau{font-size:1.2rem;color:var(--doux);max-width:34rem;margin:0 0 1.8rem}

/* Hero */
.hero{padding:3.5rem 0 4rem}
.grille-hero{display:grid;grid-template-columns:1fr minmax(0,31rem);gap:3.5rem;align-items:start}
.garanties{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.garanties li{display:grid;grid-template-columns:2.1rem 1fr;gap:.8rem;align-items:start}
.garanties svg{width:2.1rem;height:2.1rem;padding:.42rem;border:1px solid var(--trait-fort);border-radius:6px;color:var(--marine)}
.garanties strong{display:block;color:var(--texte);font-weight:600}
.garanties span{color:var(--doux);font-size:.95rem}

/* Panneau d'action : aspect formulaire officiel */
.panneau{background:var(--fond);border:1px solid var(--trait-fort);border-top:4px solid var(--marine);border-radius:4px;padding:1.6rem}
.panneau h2{font-size:1.2rem;margin-bottom:.3rem;letter-spacing:-.01em}
.panneau .aide{color:var(--doux);font-size:.95rem;margin:0 0 1.2rem}
.depot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;
  min-height:9.5rem;border:1.5px dashed var(--valide);border-radius:4px;background:var(--fond-valide);padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.depot:hover,.depot.survol{border-style:solid;box-shadow:0 0 0 3px var(--fond-valide),0 0 0 4px var(--valide)}
.depot:focus-within{outline:3px solid var(--marine-2);outline-offset:2px}
.depot input{position:absolute;inset:0;opacity:0;cursor:pointer}
.depot svg{width:1.9rem;height:1.9rem;color:var(--valide);margin-bottom:.3rem}
.depot strong{font-weight:600;color:var(--texte);overflow-wrap:anywhere}
.depot span{color:var(--valide);font-weight:600;font-size:.92rem}
.depot.rempli{border-style:solid;border-color:var(--marine-2);background:var(--fond)}
.depot+.depot{margin-top:.9rem}
.mention{display:flex;gap:.5rem;align-items:center;color:var(--doux);font-size:.88rem;margin:.9rem 0 0}
.mention svg{width:1rem;height:1rem;flex:none;color:var(--valide)}
.progression{height:4px;background:var(--trait);overflow:hidden;margin:1.1rem 0 .3rem;border-radius:2px}
.progression>i{display:block;height:100%;width:0;background:var(--marine-2);transition:width .1s linear}
.etat{color:var(--doux);font-size:.93rem;min-height:1.5em;margin:.5rem 0 0}
.erreur{background:var(--fond-alerte);color:var(--alerte);border-left:4px solid var(--alerte);padding:.8rem 1rem;margin:1rem 0 0}

/* Boutons */
button,.bouton{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 1rem var(--police);
  border-radius:4px;padding:.75rem 1.25rem;border:1px solid var(--marine);cursor:pointer;background:var(--marine);color:var(--fond);text-decoration:none;min-height:2.9rem}
button:hover,.bouton:hover{background:var(--marine-2);border-color:var(--marine-2)}
button.secondaire,.bouton.secondaire{background:transparent;color:var(--marine)}
button.secondaire:hover,.bouton.secondaire:hover{background:var(--teinte)}
@media (prefers-color-scheme:dark){button,.bouton{color:#0C1626}}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.6rem 0 0}

/* Resultat et sceau */
.section-resultat{padding:0 0 3.5rem}
.carte-resultat{border:1px solid var(--trait-fort);border-radius:4px;padding:2rem;display:grid;grid-template-columns:13.5rem 1fr;gap:2.5rem;align-items:center}
.carte-resultat h2{font-size:1.45rem;margin-bottom:1rem}
.sceau{width:100%;height:auto;color:var(--marine)}
.sceau .anneau{font:600 9.4px var(--mono);letter-spacing:.06em;fill:currentColor}
.sceau .date{font:700 16.5px var(--police);fill:var(--marine);letter-spacing:-.01em}
.sceau .heure{font:500 11.5px var(--police);fill:var(--doux)}
@media (prefers-reduced-motion:no-preference){
  .sceau.pose{animation:pose .5s cubic-bezier(.2,.9,.3,1.2) both}
  @keyframes pose{from{transform:scale(1.18) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}
}
dl.details{margin:0;display:grid;grid-template-columns:8rem 1fr;gap:.5rem 1.2rem;font-size:.97rem}
dl.details dt{color:var(--doux)} dl.details dd{margin:0;overflow-wrap:anywhere}
.hex{font-family:var(--mono);font-size:.86rem}
.note{border-left:3px solid var(--marine-2);background:var(--teinte);padding:.9rem 1.1rem;margin:1.4rem 0 0;font-size:.97rem}

/* Bandes de contenu */
.bande{background:var(--teinte);border-top:1px solid var(--trait);border-bottom:1px solid var(--trait);padding:4rem 0}
.section{padding:4rem 0}
.intro-section{color:var(--doux);max-width:40rem;margin:-.4rem 0 2.2rem}
.etapes{list-style:none;counter-reset:e;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.etapes li{counter-increment:e;border-top:2px solid var(--marine);padding-top:1rem}
.etapes li::before{content:counter(e);display:block;font-weight:700;font-size:.95rem;color:var(--marine);margin-bottom:.5rem;font-feature-settings:"tnum" 1}
.etapes p{margin:0;color:var(--doux);font-size:.97rem}
.deux-col{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.liste-portee{margin:0;padding:0;list-style:none}
.liste-portee li{padding:.65rem 0 .65rem 1.9rem;border-bottom:1px solid var(--trait);position:relative}
.liste-portee li::before{position:absolute;left:0;top:.62rem;font-weight:700}
.liste-portee.oui li::before{content:"✓";color:var(--valide)} .liste-portee.non li::before{content:"✕";color:var(--doux)}
.cadre-juridique{margin:2rem 0 0;color:var(--doux);font-size:.95rem;max-width:52rem}
.transparence{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.registre{border:1px solid var(--trait-fort);border-radius:4px;margin:0}
.registre div{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--trait)}
.registre div:last-child{border-bottom:0}
.registre dt{color:var(--doux);font-size:.93rem} .registre dd{margin:0;overflow-wrap:anywhere}
code{font-family:var(--mono);font-size:.88em;background:var(--teinte);border:1px solid var(--trait);border-radius:3px;padding:.05em .35em}

/* Verification */
.page-titre{padding:3rem 0 2rem;border-bottom:1px solid var(--trait);margin-bottom:2.5rem}
.page-titre h1{margin-bottom:.6rem}
.page-titre .chapeau{margin:0}
.grille-verif{display:grid;grid-template-columns:minmax(0,30rem) 1fr;gap:2.5rem;align-items:start;padding-bottom:4rem}
.verdict{border:1px solid var(--trait-fort);border-top:4px solid var(--trait-fort);border-radius:4px;padding:1.5rem 1.6rem}
.verdict.ok{border-top-color:var(--valide)} .verdict.ko{border-top-color:var(--alerte)}
.verdict .statut{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;padding:.2rem .6rem;border-radius:3px;margin-bottom:.8rem;background:var(--teinte);color:var(--doux)}
.verdict.ok .statut{background:var(--fond-valide);color:var(--valide)} .verdict.ko .statut{background:var(--fond-alerte);color:var(--alerte)}
.verdict h2{margin:0 0 .5rem;font-size:1.45rem}
.verdict p{margin:0}
.attente-verdict{border:1px dashed var(--trait-fort);border-radius:4px;padding:1.5rem;color:var(--doux)}
.controles{list-style:none;padding:0;margin:1.2rem 0 0;border-top:1px solid var(--trait)}
.controles li{padding:.65rem 0 .65rem 1.8rem;position:relative;border-bottom:1px solid var(--trait);font-size:.97rem}
.controles li::before{position:absolute;left:0;top:.62rem;font-weight:700}
.controles li.ok::before{content:"✓";color:var(--valide)} .controles li.ko::before{content:"✕";color:var(--alerte)}
.controles li.neutre::before{content:"–";color:var(--doux)}

/* Pages juridiques */
.legal{max-width:46rem;padding:3rem 0 4rem}
.legal h2{font-size:1.25rem;margin:2.2rem 0 .6rem}
.legal p{margin:0 0 .9rem}

/* Pied de page institutionnel */
.pied{background:var(--pied);color:var(--pied-texte);padding:3rem 0 2rem;font-size:.93rem;margin-top:0}
.pied .largeur{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.pied .marque{color:#fff;margin-bottom:.9rem}
.pied h3{color:#fff;font-size:.95rem;margin:0 0 .7rem;letter-spacing:0}
.pied ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.pied a{color:#fff;text-decoration:none} .pied a:hover{text-decoration:underline}
.pied p{margin:0 0 .4rem}
.pied .bas{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:1.3rem;margin-top:.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}

.cache{display:none!important}
.sans-marge{margin-top:0}

@media (max-width:900px){
  .grille-hero,.grille-verif,.transparence,.deux-col{grid-template-columns:1fr}
  .etapes{grid-template-columns:1fr 1fr}
  .pied .largeur{grid-template-columns:1fr 1fr}
  .pied .largeur>div:first-child{grid-column:1/-1}
}
@media (max-width:600px){
  .hero{padding:2.2rem 0 3rem}
  .etapes{grid-template-columns:1fr}
  .carte-resultat{grid-template-columns:1fr;padding:1.4rem;gap:1.5rem}
  .carte-resultat .sceau{max-width:12rem}
  dl.details{grid-template-columns:1fr;gap:.1rem}
  dl.details dd{margin-bottom:.6rem}
  .registre div{grid-template-columns:1fr;gap:.2rem}
  .nav a{padding:.5rem .6rem}
  .marque small{display:none}
  .pied .largeur{grid-template-columns:1fr}
}

/* Ajustements */
.garanties li{grid-template-columns:2.5rem 1fr}
.garanties svg{width:2.5rem;height:2.5rem;padding:.5rem}
.garanties span{line-height:1.5;display:block;margin-top:.1rem}
.etat:empty{min-height:0;margin:0}
.registre{background:var(--fond)}
#resultat{scroll-margin-top:1.5rem}
body{font-variant-ligatures:no-common-ligatures}
.grille-hero{grid-template-areas:"texte panneau" "garanties panneau";row-gap:0}
.hero-texte{grid-area:texte} .garanties{grid-area:garanties} .grille-hero>.panneau{grid-area:panneau}
@media (max-width:900px){.grille-hero{grid-template-areas:"texte" "panneau" "garanties";row-gap:2rem}.hero-texte .chapeau{margin-bottom:0}}

.liens-explorateur{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin-top:.35rem;font-size:.93rem}

/* Apercu du certificat */
.obtenu{display:grid;grid-template-columns:minmax(0,22rem) 1fr;gap:4.5rem;align-items:center}
.apercu-certificat{margin:0}
.apercu-certificat a{display:block;border:1px solid var(--trait-fort);background:#fff;
  box-shadow:10px 10px 0 -1px var(--teinte),10px 10px 0 0 var(--trait-fort);transition:transform .2s}
.apercu-certificat a:hover{transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){.apercu-certificat a{transition:none}.apercu-certificat a:hover{transform:none}}
.apercu-certificat img{display:block;width:100%;height:auto}
.apercu-certificat figcaption{color:var(--doux);font-size:.85rem;margin-top:1.1rem}
.livrables{margin:0;border-top:1px solid var(--trait)}
.livrables div{padding:1rem 0;border-bottom:1px solid var(--trait)}
.livrables dt{font-weight:600;color:var(--marine);display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem}
.livrables dd{margin:0;color:var(--doux);font-size:.97rem}
.ext{font:500 .78rem var(--mono);color:var(--doux);background:var(--teinte);border:1px solid var(--trait);border-radius:3px;padding:.05rem .4rem}
@media (max-width:900px){.obtenu{grid-template-columns:1fr;gap:2.5rem}.apercu-certificat{max-width:19rem;order:2}}

/* Selecteur de langue */
.nav a.langue{margin-left:.5rem;padding:.35rem .6rem;border:1px solid var(--trait-fort);border-radius:4px;font-size:.85rem;font-weight:600;letter-spacing:.04em;color:var(--marine);align-self:center}
.nav a.langue:hover{background:var(--teinte)}
@media (max-width:600px){
  .entete .largeur{gap:.5rem;padding:0 1rem}
  .nav{gap:0}
  .nav a{padding:.5rem .45rem;font-size:.93rem}
  .nav a.langue{margin-left:.25rem;padding:.3rem .45rem}
}
@media (max-width:380px){
  .marque{font-size:1.08rem;gap:.45rem}
  .marque svg{width:25px;height:25px}
  .nav a{padding:.5rem .35rem;font-size:.88rem}
}

/* Prochaines etapes apres l'horodatage */
.suite{margin-top:1.5rem;padding-top:1.3rem;border-top:1px solid var(--trait)}
.suite h3{font-size:1.05rem;margin:0 0 .7rem}
.suite ol{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:.55rem}
.suite li{counter-increment:s;position:relative;padding-left:2.3rem;font-size:.97rem;min-height:1.6rem}
.suite li::before{content:counter(s);position:absolute;left:0;top:.05rem;display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;
  border-radius:50%;border:1.5px solid var(--marine);color:var(--marine);font-weight:700;font-size:.82rem;font-feature-settings:"tnum" 1}
.suite p{margin:.8rem 0 0;color:var(--doux);font-size:.9rem}

.sceau .coche{stroke:var(--valide)}
.sceau .marque-sceau{fill:var(--marine)}

/* Coche verte du logo */
.marque .coche-logo{stroke:var(--valide)}
.pied .marque .coche-logo{stroke:#7FD18B}
.marque .mot{display:block;height:.74em;width:calc(.74em * 5.575)}
.entete .marque small{margin-top:.22rem}

/* Specification */
.spec{max-width:52rem}
.spec pre{background:var(--teinte);border:1px solid var(--trait);border-radius:4px;padding:1rem 1.1rem;overflow-x:auto;margin:0 0 1.1rem;font-size:.84rem;line-height:1.55}
.spec pre code{background:none;border:0;padding:0;font-size:inherit}
.spec .liste-portee{margin:0 0 1rem}
.etapes-spec{padding-left:1.4rem;margin:0 0 1rem} .etapes-spec li{margin:.45rem 0;padding-left:.2rem}

/* A quoi ca sert */
.usages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.usages li{border:1px solid var(--trait);border-radius:4px;padding:1.3rem 1.3rem 1.2rem;background:var(--fond)}
.usages svg{width:2.4rem;height:2.4rem;padding:.48rem;border-radius:6px;background:var(--teinte);color:var(--marine);margin-bottom:.8rem}
.usages h3{margin:0 0 .4rem}
.usages p{margin:0;color:var(--doux);font-size:.96rem}
.bande .apercu-certificat a{box-shadow:10px 10px 0 -1px var(--fond),10px 10px 0 0 var(--trait-fort)}
@media (max-width:900px){.usages{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.usages{grid-template-columns:1fr}}

/* Encadre "Confirme dans Bitcoin" */
.ancrage-btc{margin:1.1rem 0 .2rem;border:1px solid var(--valide);border-radius:4px;background:var(--fond-valide);padding:1rem 1.1rem;display:grid;gap:.8rem}
.ancrage-tete{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
.badge-btc{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.85rem;color:#fff;background:var(--valide);border-radius:3px;padding:.2rem .6rem}
@media (prefers-color-scheme:dark){.badge-btc{color:#0C1626}}
.badge-btc::before{content:"✓"}
.ancrage-bloc{font-weight:600;color:var(--texte)}
.ancrage-libelle{display:block;font-size:.85rem;color:var(--doux);margin-bottom:.3rem;width:100%}
.ancrage-tx{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.ancrage-id{font-size:.88rem;overflow-wrap:anywhere;word-break:break-all;flex:1 1 18rem;background:var(--fond);padding:.45rem .6rem}
.ancrage-btc button.copier{min-height:2.3rem;padding:.4rem .9rem;font-size:.9rem}
.ancrage-liens{display:flex;flex-wrap:wrap;gap:.5rem}
.ancrage-liens .bouton{min-height:2.3rem;padding:.4rem .9rem;font-size:.9rem;background:var(--fond)}
.boutons-hero{display:flex;flex-wrap:wrap;gap:.7rem;margin:-.6rem 0 1.8rem}
.boutons-hero .bouton{min-height:2.5rem;padding:.5rem 1rem;font-size:.95rem}
@media (max-width:900px){.boutons-hero{margin-bottom:0}}

/* Image a partager */
.partage{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.9rem}
.case{display:inline-flex;align-items:center;gap:.45rem;font-size:.93rem;color:var(--doux);cursor:pointer}
.case input{width:1.05rem;height:1.05rem;accent-color:var(--marine-2)}
.legende{margin-top:1rem;border:1px solid var(--trait);border-radius:4px;padding:.9rem 1rem;background:var(--teinte)}
.legende-titre{display:block;font-size:.85rem;font-weight:600;color:var(--doux);margin-bottom:.35rem}
.legende p{margin:0 0 .7rem;font-size:.95rem}
.legende button{min-height:2.2rem;padding:.35rem .9rem;font-size:.9rem}

/* Boutons sous l'accroche : espacement explicite, sans marge negative (corrige le chevauchement sur mobile) */
.hero-texte .chapeau{margin-bottom:1.3rem}
.boutons-hero{margin:0 0 1.8rem}
@media (max-width:900px){.hero-texte .chapeau{margin-bottom:1.3rem}.boutons-hero{margin:0}}
@media (max-width:600px){.boutons-hero{gap:.6rem}.boutons-hero .bouton{min-height:2.4rem;padding:.45rem .9rem;font-size:.92rem}}

/* Types de fichiers et prise de vue directe */
.depot .types{font-style:normal;font-size:.85rem;color:var(--doux);margin-top:.35rem;text-align:center}
.original{margin-top:1.1rem;border:2px solid var(--marine-2);border-radius:4px;padding:1rem 1.1rem;background:var(--teinte)}
.original strong{display:block;color:var(--texte);margin-bottom:.3rem}
.original p{margin:0 0 .8rem;color:var(--doux);font-size:.95rem}

/* Les longues valeurs (empreintes, signatures) ecrites en ligne se coupent au lieu de deborder */
.legal p code,.legal li code,.legal td code{overflow-wrap:anywhere;word-break:break-word}
.legal a{overflow-wrap:anywhere}

/* Double ancrage */
.double-ancrage{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.25rem;margin:1.5rem 0 1.75rem}
.chaine{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:stretch}
.maillon{position:relative;border:1px solid var(--trait-fort);border-radius:4px;padding:.75rem 1rem;text-align:center;background:var(--fond);font-weight:600;color:var(--texte)}
.maillon small{display:block;font-weight:400;color:var(--doux);font-size:.88rem}
.maillon+.maillon{margin-top:1.6rem}
.maillon+.maillon::before{content:"";position:absolute;left:50%;top:-1.6rem;height:1.6rem;border-left:2px solid var(--trait-fort)}
.maillon+.maillon::after{content:"";position:absolute;left:calc(50% - 5px);top:-9px;border:5px solid transparent;border-top-color:var(--trait-fort)}
.maillon.btc{border:2px solid var(--marine-2);color:var(--marine)}
.pourquoi{display:grid;grid-template-columns:3fr 2fr;gap:2rem}
.pourquoi h3{margin:0 0 .5rem}
.pourquoi p{color:var(--doux);margin:0 0 .8rem}
@media (max-width:760px){.double-ancrage,.pourquoi{grid-template-columns:1fr}}

/* Parcours complet et garde-fous : section de la page d'accueil. Utilise les variables de /style.css. */
.parcours{padding:4rem 0;border-top:1px solid var(--trait)}
.parcours-etapes{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.4rem;counter-reset:etape}
.parcours-etape{position:relative;background:var(--fond);border:1px solid var(--trait-fort);border-top:4px solid var(--marine);border-radius:4px;padding:1.2rem 1.15rem 1.1rem;display:flex;flex-direction:column}
.parcours-etape:not(:last-child)::after{content:"";position:absolute;top:2.4rem;right:-1.55rem;width:.7rem;height:.7rem;border-top:2px solid var(--trait-fort);border-right:2px solid var(--trait-fort);transform:rotate(45deg)}
.parcours-lieu{margin:0 0 .35rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--doux)}
.parcours-etape h3{margin-bottom:.45rem}
.parcours-etape>p{margin:0 0 .9rem;font-size:.95rem;color:var(--texte)}
.parcours-gardes{list-style:none;margin:0;padding:.8rem 0 0;border-top:1px solid var(--trait);display:grid;gap:.45rem}
.parcours-gardes li{display:grid;grid-template-columns:1.1rem 1fr;gap:.5rem;font-size:.9rem;color:var(--doux);line-height:1.4}
.parcours-gardes svg{width:1.1rem;height:1.1rem;margin-top:.1rem;color:var(--valide)}
.parcours-preuves{display:grid;gap:.55rem;margin:0 0 .9rem}
.parcours-preuve{border:1px solid var(--trait);border-radius:4px;background:var(--teinte);padding:.6rem .7rem}
.parcours-preuve strong{display:block;font-size:.93rem;color:var(--texte)}
.parcours-preuve span{display:block;font-size:.85rem;color:var(--doux);line-height:1.4}
.parcours-preuve .parcours-badge{display:inline-block}
.parcours-preuve.bientot{background:var(--fond);border-style:dashed;border-color:var(--trait-fort)}
.parcours-badge{display:inline-block;margin-left:.35rem;padding:.05rem .4rem;border:1px solid var(--marine-2);border-radius:3px;font-size:.72rem;font-weight:600;color:var(--marine-2);vertical-align:.1em}
.parcours-tsa{margin-top:3rem;border:1px dashed var(--trait-fort);border-radius:4px;padding:1.5rem 1.4rem}
.parcours-tsa h3{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem}
.parcours-tsa>p{margin:0 0 1.2rem;color:var(--doux);font-size:.95rem;max-width:46rem}
.parcours-tsa ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem 1.6rem}
.parcours-tsa li{display:grid;grid-template-columns:1.1rem 1fr;gap:.55rem;font-size:.92rem;color:var(--doux);line-height:1.45}
.parcours-tsa li strong{display:block;color:var(--texte);font-weight:600}
.parcours-tsa svg{width:1.1rem;height:1.1rem;margin-top:.15rem;color:var(--valide)}
.parcours-tsa>p.parcours-transparence{margin:1.6rem 0 0;max-width:none;padding:.9rem 1rem;background:var(--teinte);border-left:3px solid var(--marine);font-size:.9rem;color:var(--texte);max-width:none}
@media (max-width:62rem){
  .parcours-etapes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .parcours-etape:nth-child(2)::after{display:none}
  .parcours-tsa ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:40rem){
  .parcours{padding:3rem 0}
  .parcours-etapes{grid-template-columns:1fr;gap:2rem}
  .parcours-etape:not(:last-child)::after,.parcours-etape:nth-child(2)::after{display:block;top:auto;right:auto;bottom:-1.45rem;left:50%;margin-left:-.35rem;transform:rotate(135deg)}
  .parcours-tsa ul{grid-template-columns:1fr}
}

.schema-process{margin:2.4rem 0 .5rem;overflow-x:auto}.schema-process h3{margin:0 0 .8rem}.schema-process svg{display:block;max-width:100%;height:auto}.schema-process figcaption{color:var(--doux);font-size:.95rem;margin-top:.6rem}
@media (max-width:760px){.schema-process svg{min-width:900px}}
/* Parcours animé : la couleur parcourt les blocs étape par étape (13 étapes, cycle de 13 s).
   Classes seulement (CSP style-src 'self'), désactivé si l'utilisateur préfère moins d'animations. */
.schema-process .sp{animation:sp-etape 13s linear infinite;animation-delay:var(--sp-d,0s)}
.schema-process .s1{--sp-d:0s}.schema-process .s2{--sp-d:1s}.schema-process .s3{--sp-d:2s}.schema-process .s4{--sp-d:3s}
.schema-process .s5{--sp-d:4s}.schema-process .s6{--sp-d:5s}.schema-process .s7{--sp-d:6s}.schema-process .s8{--sp-d:7s}
.schema-process .s9{--sp-d:8s}.schema-process .s10{--sp-d:9s}.schema-process .s11{--sp-d:10s}.schema-process .s12{--sp-d:11s}
.schema-process .s13{--sp-d:12s}
@keyframes sp-etape{
  0%{fill:var(--fond)}
  2%{fill:var(--fond-valide);stroke:var(--valide);stroke-width:2.5}
  9%{fill:var(--fond-valide);stroke:var(--valide);stroke-width:2.5}
  14%{fill:var(--fond)}
  100%{fill:var(--fond)}
}
@media (prefers-reduced-motion:reduce){.schema-process .sp{animation:none}}
.panneau .mention svg{color:var(--valide)}
