/* AMB Courtage® — pages intérieures et simulateurs.
   Identité reprise de l'accueil (style.css) : nuit, abîme, bleu, brume, vert d'eau ; Jost / Montserrat / Manrope.
   Lisibilité d'abord : corps 18-19 px, interligne 1,65, ~68 caractères par ligne, contrastes AA, aucun texte justifié.
   Toutes les tailles sont en px ou bornées par clamp(px, vw, px) : pas de rem. */

:root{
  --nuit:#14404e; --abime:#061a20; --indigo:#123a44; --bleu:#2a6a86;
  --brume:#c9e2e4; --craie:#ffffff; --craie-2:#f2f5f6;
  --or:#48bf93; --or-clair:#73c3a6; --or-sombre:#238863;
  /* jetons de lecture (fond clair) */
  --papier:#f6f5f0; --papier-2:#eef1ec; --carte:#ffffff;
  --encre:#14404e; --encre-forte:#0c2f3a; --encre-douce:#3f5f69;
  --lien:#235d77; --lien-survol:#0c2f3a;
  --vert-texte:#1b6e50; --filet:#d6dfdc; --filet-fort:#6b878f;
  --fond-bref:#ffffff; --fond-note:#eaf2f4; --fond-resultat:#ecf6f1;
  --erreur:#a3261b; --fond-erreur:#fbeceb;
  --titre:'Jost','Manrope','Segoe UI',system-ui,sans-serif;
  --texte:'Manrope','Segoe UI',system-ui,-apple-system,sans-serif;
  --marque:'Montserrat','Manrope','Segoe UI',system-ui,sans-serif;
  --marge:clamp(16px,4.5vw,64px);
  --corps:clamp(18px,calc(16px + .25vw),19px);
  --petit:clamp(16px,calc(15px + .12vw),17px);
  --entete-h:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--entete-h) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--papier);color:var(--encre);font-family:var(--texte);font-size:var(--corps);font-weight:400;line-height:1.65;text-align:left;overflow-x:hidden;overflow-x:clip}
img,svg{max-width:100%}
a{color:var(--lien);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--lien-survol);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--or-sombre);outline-offset:3px;border-radius:2px}
::selection{background:var(--or-clair);color:var(--abime)}
.evitement{position:absolute;left:12px;top:-80px;z-index:100;background:var(--craie);color:var(--abime);padding:12px 18px;border-radius:4px;font-weight:600}
.evitement:focus{top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ░░ Boutons ░░ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:12px 24px;border-radius:4px;border:2px solid var(--or);background:var(--or);color:var(--abime);font-family:var(--texte);font-weight:700;font-size:var(--petit);line-height:1.25;text-decoration:none;text-align:center;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.btn:hover{background:var(--or-clair);border-color:var(--or-clair);color:var(--abime);text-decoration:none}
.btn-second{background:transparent;color:var(--encre-forte);border-color:var(--nuit)}
.btn-second:hover{background:var(--nuit);border-color:var(--nuit);color:var(--craie)}

/* ░░ En-tête ░░ */
.entete{position:sticky;top:0;z-index:40;background:linear-gradient(100deg,var(--abime) 0%,#0b2a33 45%,var(--nuit) 100%);color:var(--craie);border-bottom:1px solid rgba(115,195,166,.22)}
.entete-in{max-width:1320px;margin:0 auto;padding:0 var(--marge);min-height:var(--entete-h);display:flex;align-items:center;gap:20px}
.logo{display:inline-flex;align-items:center;gap:.55em;text-decoration:none;color:var(--craie);font-size:19px;line-height:1;flex:none}
.logo:hover{color:var(--craie)}
.logo-a{height:2.15em;width:2.99em;flex:none;display:block;overflow:visible}
.amb-a-bleu{fill:currentColor}
.amb-a-vert{fill:var(--or-clair)}
.logo-txt{display:flex;flex-direction:column;gap:.34em}
.logo-nom{font-family:var(--marque);font-weight:300;font-size:1em;letter-spacing:.02em;text-transform:uppercase;display:flex;align-items:baseline;gap:.22em;white-space:nowrap}
.logo-nom strong{font-weight:500;font-size:1.28em;letter-spacing:.01em}
.logo-nom sup{font-family:var(--texte);font-weight:400;font-size:.5em;align-self:flex-start;margin:0 0 0 -.15em;line-height:1;opacity:.85}
.logo-slogan{font-family:var(--marque);font-weight:400;font-size:.45em;letter-spacing:.12em;text-transform:uppercase;color:var(--brume);white-space:nowrap}

.nav{margin-left:auto;display:flex;align-items:center;gap:8px}
.nav-liste{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.nav-liste>li{position:relative}
.nav-lien,.nav-bouton{display:inline-flex;align-items:center;gap:.4em;min-height:48px;padding:8px 14px;border:0;background:none;color:var(--craie);font-family:var(--texte);font-size:16.5px;font-weight:500;line-height:1.2;text-decoration:none;border-radius:4px;cursor:pointer}
.nav-lien:hover,.nav-bouton:hover,.nav-bouton[aria-expanded="true"]{background:rgba(201,226,228,.1);color:var(--craie)}
.nav-lien[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--or)}
.nav-bouton::after{content:"";width:8px;height:8px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg);transition:transform .2s;opacity:.8}
.nav-bouton[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}
.nav-panneau{position:absolute;top:calc(100% + 10px);left:-12px;width:min(440px,90vw);background:var(--carte);color:var(--encre);border-radius:6px;box-shadow:0 18px 50px rgba(6,26,32,.35);padding:10px;border-top:3px solid var(--or)}
.nav-panneau[hidden]{display:none}
.nav-panneau ul{list-style:none;margin:0;padding:0}
.nav-panneau a{display:block;padding:11px 14px;border-radius:4px;color:var(--encre-forte);text-decoration:none;font-weight:600;font-size:17px;line-height:1.35}
.nav-panneau a small{display:block;font-weight:400;font-size:15.5px;color:var(--encre-douce);margin-top:2px}
.nav-panneau a:hover,.nav-panneau a[aria-current="page"]{background:var(--papier-2)}
.nav-panneau a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--or-sombre)}
.nav-panneau .sous{display:flex;flex-wrap:wrap;gap:4px 0;padding:6px 14px 10px}
.nav-panneau .sous-titre{display:block;width:100%;font-weight:600;font-size:17px;color:var(--encre-forte);padding:5px 0 2px}
.nav-panneau .sous a{display:inline-block;padding:6px 12px 6px 0;font-weight:500;color:var(--lien);text-decoration:underline;text-underline-offset:3px}
.nav-panneau .sous a:hover{background:none;color:var(--lien-survol)}
.btn-rdv{min-height:48px;padding:10px 20px;margin-left:8px;white-space:nowrap}
.burger{display:none;margin-left:auto;align-items:center;gap:10px;min-height:48px;padding:8px 14px;border:1px solid rgba(201,226,228,.45);border-radius:4px;background:none;color:var(--craie);font-family:var(--texte);font-size:17px;font-weight:600;cursor:pointer}
.burger-ic{position:relative;width:20px;height:2px;background:currentColor;display:block}
.burger-ic::before,.burger-ic::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;transition:transform .2s}
.burger-ic::before{top:-6px}.burger-ic::after{top:6px}
.burger[aria-expanded="true"] .burger-ic{background:transparent}
.burger[aria-expanded="true"] .burger-ic::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] .burger-ic::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1099px){
  :root{--entete-h:68px}
  .entete{position:relative}
  .logo{font-size:17px}
  .burger{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:45;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--marge) 22px;background:var(--abime);border-bottom:3px solid var(--or);max-height:calc(100vh - var(--entete-h));overflow-y:auto}
  .nav.ouvert{display:flex}
  .nav-liste{flex-direction:column;align-items:stretch}
  .nav-lien,.nav-bouton{width:100%;justify-content:space-between;font-size:19px;min-height:56px;padding:10px 6px;border-bottom:1px solid rgba(201,226,228,.14);border-radius:0}
  .nav-panneau{position:static;width:auto;box-shadow:none;border-top:0;margin:8px 0 12px;padding:6px}
  .btn-rdv{margin:18px 0 0;width:100%;min-height:56px;font-size:18px}
}
@media (max-width:420px){.logo{font-size:15.5px}.burger{padding:8px 10px}}
@media (max-width:340px){.logo-slogan{display:none}}
@media (max-width:430px){.burger-txt{display:none}}

/* ░░ Bandeau de page (titre) ░░ */
.tete-page{position:relative;background:radial-gradient(120% 140% at 85% 0%,#1f5466 0%,var(--nuit) 45%,var(--abime) 100%);color:var(--craie);padding:clamp(22px,3vw,40px) var(--marge) clamp(70px,8vw,120px);overflow:hidden}
.tete-page-in{position:relative;z-index:1;max-width:1086px;margin:0 auto}
.fil{font-size:15.5px;line-height:1.4;margin:0 0 clamp(18px,2.4vw,30px)}
.fil ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.fil li{color:var(--brume)}
.fil li+li::before{content:"›";margin:0 .55em;color:var(--or-clair)}
.fil a{color:var(--craie);text-decoration:underline;text-decoration-color:rgba(255,255,255,.4)}
.fil a:hover{color:var(--or-clair)}
.fil [aria-current]{color:var(--brume)}
.tete-page .sur{margin:0 0 12px;font-family:var(--marque);font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--or-clair)}
.tete-page h1{margin:0;max-width:22em;font-family:var(--titre);font-weight:400;font-size:clamp(30px,calc(22px + 2vw),48px);line-height:1.16;letter-spacing:-.005em;color:var(--craie);text-wrap:balance}
.tete-page .chapeau{margin:clamp(16px,2vw,24px) 0 0;max-width:42em;font-size:clamp(19px,calc(17px + .3vw),21px);line-height:1.6;color:#e1eeef}
.signature{margin:clamp(18px,2.2vw,26px) 0 0;font-size:16px;line-height:1.5;color:var(--brume);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}
.signature a{color:var(--craie)}
.signature .sep{color:var(--or-clair)}
@media (max-width:600px){.signature{flex-direction:column;align-items:flex-start;gap:2px}.signature .sep{display:none}}
.baous{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(46px,7vw,96px);display:block;z-index:0}
.baous .loin{fill:rgba(201,226,228,.07)}
.baous .pres{fill:var(--papier)}

/* ░░ Grille de lecture ░░ */
.page-grille{max-width:1180px;margin:0 auto;padding:clamp(10px,2vw,24px) var(--marge) clamp(40px,5vw,72px);display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:1100px){
  .page-grille{grid-template-columns:250px minmax(0,780px);gap:56px;justify-content:center}
  .page-grille.sans-sommaire{grid-template-columns:minmax(0,780px)}
}

/* ░░ Sommaire ░░ */
.sommaire{font-size:16.5px;line-height:1.4}
.sommaire details{background:var(--carte);border:1px solid var(--filet);border-radius:6px}
.sommaire summary{list-style:none;cursor:pointer;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;font-family:var(--marque);font-size:14.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-forte)}
.sommaire summary::-webkit-details-marker{display:none}
.sommaire summary::after{content:"";width:9px;height:9px;border:solid var(--encre);border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg);transition:transform .2s;flex:none}
.sommaire details[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.sommaire ol{list-style:none;margin:0;padding:0 10px 12px;counter-reset:s}
.sommaire li{counter-increment:s}
.sommaire a{display:flex;gap:10px;padding:9px 8px;border-radius:4px;color:var(--encre);text-decoration:none;border-left:3px solid transparent}
.sommaire a::before{content:counter(s);font-family:var(--titre);color:var(--vert-texte);min-width:1.1em;font-weight:500}
.sommaire a:hover{background:var(--papier-2);color:var(--encre-forte)}
.sommaire a.actif{border-left-color:var(--or-sombre);background:var(--papier-2);color:var(--encre-forte);font-weight:600}
.sommaire .som-simu{counter-increment:none}
.sommaire .som-simu a::before{content:"≈"}
@media (min-width:1100px){
  .sommaire{position:sticky;top:calc(var(--entete-h) + 24px);align-self:start;max-height:calc(100vh - var(--entete-h) - 48px);overflow:auto}
  .sommaire details{background:transparent;border:0;border-left:1px solid var(--filet);border-radius:0}
  .sommaire summary{cursor:default;pointer-events:none;min-height:0;padding:6px 18px 10px}
  .sommaire summary::after{display:none}
  .sommaire ol{padding:0 0 0 8px}
}

/* ░░ Texte courant ░░ */
.prose{min-width:0}
.prose>*:first-child{margin-top:0}
.prose p,.prose li{max-width:68ch}
.prose p{margin:0 0 1.05em}
.prose h2{margin:2.1em 0 .6em;font-family:var(--titre);font-weight:500;font-size:clamp(25px,calc(20px + 1vw),33px);line-height:1.22;color:var(--encre-forte);text-wrap:balance;scroll-margin-top:calc(var(--entete-h) + 16px)}
.prose h3{margin:1.7em 0 .5em;font-family:var(--titre);font-weight:500;font-size:clamp(21px,calc(18px + .45vw),24px);line-height:1.3;color:var(--encre-forte)}
.prose section{scroll-margin-top:calc(var(--entete-h) + 16px)}
.prose section+section{border-top:1px solid var(--filet);margin-top:2.4em}
.prose section+section>h2:first-child{margin-top:1.4em}
.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.5em}
.prose li{margin:0 0 .5em}
.prose ul{list-style:none;padding-left:1.4em}
.prose ul>li{position:relative}
.prose ul>li::before{content:"";position:absolute;left:-1.05em;top:.62em;width:7px;height:7px;background:var(--or-sombre);transform:rotate(45deg)}
.prose ol>li::marker{color:var(--vert-texte);font-weight:700}
.prose strong{font-weight:700;color:var(--encre-forte)}
.prose sup{font-size:.7em;line-height:0}

/* En bref */
.prose .en-bref{background:var(--fond-bref);border:1px solid var(--filet);border-top:4px solid var(--or);border-radius:6px;padding:clamp(18px,2.4vw,28px) clamp(18px,2.6vw,32px) 10px;margin:0 0 2em;box-shadow:0 1px 0 rgba(6,26,32,.04)}
.prose .en-bref h2{margin:0 0 .55em;font-family:var(--marque);font-size:15px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--vert-texte)}
.prose .en-bref ul{margin-bottom:.8em}
.prose .en-bref p{font-size:var(--petit);color:var(--encre-douce)}

/* Encadré d'alerte */
.prose .note{background:var(--fond-note);border-left:4px solid var(--bleu);border-radius:0 6px 6px 0;padding:16px 20px;margin:1.4em 0;max-width:72ch}
.prose .note p:last-child{margin-bottom:0}

/* Tableaux */
.prose .tbl{margin:1.5em 0 1.8em;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--filet);border-radius:6px;background:var(--carte)}
.prose table{width:100%;border-collapse:collapse;font-size:var(--petit);line-height:1.5}
.prose caption{caption-side:top;text-align:left;padding:14px 16px 12px;font-family:var(--titre);font-weight:500;font-size:clamp(18px,calc(16px + .3vw),20px);color:var(--encre-forte);border-bottom:1px solid var(--filet)}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--filet)}
.prose thead th{background:var(--papier-2);font-weight:700;color:var(--encre-forte)}
.prose tbody tr:last-child td,.prose tbody tr:last-child th{border-bottom:0}
.prose tbody tr:nth-child(even){background:#fafbf8}
.prose tbody th{font-weight:600}
@media (max-width:699px){
  .prose .tbl.empile{overflow:visible;border:0;background:none}
  .prose .tbl.empile table,.prose .tbl.empile tbody,.prose .tbl.empile tr,.prose .tbl.empile td,.prose .tbl.empile tbody th{display:block;width:100%}
  .prose .tbl.empile caption{display:block;padding:0 0 10px;border:0}
  .prose .tbl.empile thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .prose .tbl.empile tr{background:var(--carte)!important;border:1px solid var(--filet);border-radius:6px;margin:0 0 12px;padding:6px 0}
  .prose .tbl.empile td,.prose .tbl.empile tbody th{border:0;padding:6px 16px}
  .prose .tbl.empile td[data-label]::before,.prose .tbl.empile tbody th[data-label]::before{content:attr(data-label);display:block;font-size:15px;font-weight:700;color:var(--vert-texte);letter-spacing:.01em}
  .prose .tbl.empile tr>:first-child{font-weight:700;color:var(--encre-forte);border-bottom:1px solid var(--filet);padding-bottom:10px;margin-bottom:4px}
}

/* FAQ */
.prose details{border-bottom:1px solid var(--filet);max-width:72ch}
.prose details:first-of-type{border-top:1px solid var(--filet)}
.prose details>summary{list-style:none;cursor:pointer;position:relative;min-height:56px;padding:15px 48px 15px 0;font-weight:700;font-size:var(--corps);line-height:1.45;color:var(--encre-forte)}
.prose details>summary::-webkit-details-marker{display:none}
.prose details>summary::before,.prose details>summary::after{content:"";position:absolute;right:12px;top:50%;width:16px;height:2px;background:var(--vert-texte);transition:transform .2s}
.prose details>summary::after{transform:rotate(90deg)}
.prose details[open]>summary::after{transform:rotate(0)}
.prose details>summary:hover{color:var(--lien)}
.prose details>:not(summary){margin-top:0}
.prose details>p:last-child{margin-bottom:1.1em}

/* Appel à l'action et mentions */
.prose .cta{display:flex;flex-wrap:wrap;gap:14px;margin:2.4em 0 1.8em;max-width:none}
.prose .cta .btn+.btn{background:transparent;color:var(--encre-forte);border-color:var(--nuit)}
.prose .cta .btn+.btn:hover{background:var(--nuit);color:var(--craie)}
.prose .mentions{font-size:16px;line-height:1.6;color:var(--encre-douce);border-top:1px solid var(--filet);padding-top:1.1em;margin-top:1.4em;max-width:72ch}
@media (max-width:520px){.prose .cta .btn{width:100%}}

/* ░░ À lire aussi ░░ */
.a-lire{background:var(--papier-2);border-top:1px solid var(--filet);padding:clamp(36px,5vw,64px) var(--marge)}
.a-lire-in{max-width:1086px;margin:0 auto}
.a-lire h2{margin:0 0 22px;font-family:var(--titre);font-weight:500;font-size:clamp(24px,calc(20px + .8vw),30px);color:var(--encre-forte)}
.a-lire ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.a-lire a{display:flex;flex-direction:column;gap:8px;height:100%;padding:20px 22px 22px;background:var(--carte);border:1px solid var(--filet);border-radius:6px;text-decoration:none;color:var(--encre);transition:border-color .2s,box-shadow .2s}
.a-lire a:hover{border-color:var(--or-sombre);box-shadow:0 8px 24px rgba(6,26,32,.08)}
.a-lire .rub{font-family:var(--marque);font-size:13.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--vert-texte)}
.a-lire .tit{font-family:var(--titre);font-weight:500;font-size:clamp(19px,calc(17px + .3vw),21px);line-height:1.3;color:var(--encre-forte)}
.a-lire .desc{font-size:16px;line-height:1.55;color:var(--encre-douce)}
.a-lire .suite{margin-top:auto;padding-top:6px;font-weight:600;font-size:16px;color:var(--lien);text-decoration:underline;text-underline-offset:3px}

/* ░░ Pied de page ░░ */
.pied{background:linear-gradient(180deg,var(--nuit) 0%,var(--abime) 100%);color:var(--brume);font-size:16.5px;line-height:1.6;padding:clamp(40px,5vw,64px) var(--marge) 28px}
.pied-in{max-width:1086px;margin:0 auto}
.pied a{color:var(--craie);text-decoration-color:rgba(255,255,255,.35)}
.pied a:hover{color:var(--or-clair)}
.pied-grille{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:32px 40px}
.pied h2{margin:0 0 12px;font-family:var(--marque);font-size:13.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--or-clair)}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin:0 0 9px}
.pied li a{text-decoration:none}
.pied li a:hover{text-decoration:underline}
.pied address{font-style:normal;margin:16px 0 14px}
.pied .pied-rdv{margin-top:14px}
.pied-legal{margin-top:clamp(32px,4vw,48px);padding-top:22px;border-top:1px solid rgba(201,226,228,.18);font-size:15px;line-height:1.6;color:#b3d0d3}
.pied-legal p{margin:0 0 10px;max-width:none}
.pied-liens{display:flex;flex-wrap:wrap;gap:6px 20px}
@media (max-width:999px){.pied-grille{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.pied-grille{grid-template-columns:1fr}.pied{font-size:17px}}

/* ░░ Barre basse mobile ░░ */
.barre-rdv{display:none}
@media (max-width:899px){
  .barre-rdv{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:10px;padding:10px var(--marge) calc(10px + env(safe-area-inset-bottom));background:rgba(6,26,32,.97);border-top:1px solid rgba(115,195,166,.35);box-shadow:0 -8px 24px rgba(6,26,32,.25)}
  .barre-rdv .btn{flex:1;min-height:52px;font-size:18px}
  body.a-barre{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}

/* ░░ Simulateurs ░░ */
.prose .simu{margin:2em 0 2.4em;background:var(--carte);border:1px solid var(--filet);border-radius:8px;overflow:hidden;box-shadow:0 2px 0 rgba(6,26,32,.03);scroll-margin-top:calc(var(--entete-h) + 16px)}
.simu-tete{background:linear-gradient(110deg,var(--abime),var(--nuit));color:var(--craie);padding:clamp(18px,2.4vw,26px) clamp(18px,2.6vw,30px)}
.prose .simu-tete .simu-sur{margin:0 0 6px;font-family:var(--marque);font-size:13.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--or-clair)}
.prose .simu-tete h2{margin:0;color:var(--craie);font-size:clamp(23px,calc(19px + .8vw),29px)}
.prose .simu-tete p{margin:.5em 0 0;color:#dbeaec;font-size:var(--petit)}
.simu-corps{padding:clamp(18px,2.6vw,30px)}
.simu-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
@media (max-width:699px){.simu-form{grid-template-columns:1fr}}
.champ{display:flex;flex-direction:column;gap:6px;min-width:0}
.champ.large,.simu-actions,.champ-groupe{grid-column:1/-1}
.champ[hidden]{display:none}
.champ>label,.champ legend{font-weight:700;font-size:var(--petit);line-height:1.4;color:var(--encre-forte);padding:0}
.champ fieldset{border:0;margin:0;padding:0;min-width:0}
.champ .aide{font-size:15.5px;line-height:1.45;color:var(--encre-douce);margin:0}
.saisie{position:relative;display:flex;align-items:stretch;max-width:340px}
.saisie input,.champ select{width:100%;min-height:54px;padding:10px 14px;border:2px solid var(--filet-fort);border-radius:5px;background:var(--carte);color:var(--encre-forte);font-family:var(--texte);font-size:19px;font-weight:600;line-height:1.2}
.champ select{max-width:340px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--encre) 50%),linear-gradient(135deg,var(--encre) 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.saisie input{padding-right:70px;font-variant-numeric:tabular-nums}
.saisie .unite{position:absolute;right:2px;top:2px;bottom:2px;display:flex;align-items:center;padding:0 14px;color:var(--encre-douce);font-weight:600;font-size:17px;background:var(--papier-2);border-radius:0 3px 3px 0;pointer-events:none}
.saisie input:focus,.champ select:focus{outline:3px solid var(--or-clair);outline-offset:1px;border-color:var(--nuit)}
.champ.en-erreur input,.champ.en-erreur select{border-color:var(--erreur)}
.champ .err{color:var(--erreur);font-weight:600;font-size:16px;margin:0}
.choix{display:flex;flex-wrap:wrap;gap:10px}
.choix label{position:relative;display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 16px 10px 14px;border:2px solid var(--filet-fort);border-radius:5px;background:var(--carte);cursor:pointer;font-size:var(--petit);font-weight:600;line-height:1.3;color:var(--encre-forte);flex:1 1 200px}
.choix input{width:22px;height:22px;margin:0;accent-color:var(--nuit);flex:none}
.choix label:has(input:checked){border-color:var(--nuit);background:var(--fond-note);box-shadow:inset 0 0 0 1px var(--nuit)}
.case{display:flex;align-items:flex-start;gap:12px;font-size:var(--petit);font-weight:600;color:var(--encre-forte);cursor:pointer;line-height:1.45}
.case input{width:24px;height:24px;margin:1px 0 0;accent-color:var(--nuit);flex:none}
.simu-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:4px}
.simu-actions p{margin:0;font-size:15.5px;color:var(--encre-douce)}
.simu-resultat{margin-top:26px;border-radius:6px;background:var(--fond-resultat);border:1px solid #bfe0d2;padding:clamp(18px,2.4vw,26px)}
.simu-resultat[hidden]{display:none}
.prose .simu-resultat p{max-width:none}
.res-principal{margin:0 0 14px}
.res-principal .lib{display:block;font-weight:700;font-size:var(--petit);color:var(--vert-texte)}
.res-principal .val{display:block;font-family:var(--titre);font-weight:500;font-size:clamp(34px,calc(26px + 1.6vw),48px);line-height:1.1;color:var(--encre-forte);font-variant-numeric:tabular-nums;margin-top:4px}
.res-principal.neutre .val{font-size:clamp(24px,calc(20px + .8vw),30px)}
.res-lignes{width:100%;border-collapse:collapse;font-size:var(--petit);margin:6px 0 4px}
.res-lignes th,.res-lignes td{padding:10px 0;border-top:1px solid #cfe4da;vertical-align:top;text-align:left;font-weight:400}
.res-lignes td{text-align:right;white-space:nowrap;font-weight:700;color:var(--encre-forte);padding-left:16px;font-variant-numeric:tabular-nums}
.prose .res-lignes tr{background:none!important}
.prose .res-lignes tbody th{font-weight:400}
.res-lignes tr.fort th,.res-lignes tr.fort td{font-weight:700;color:var(--encre-forte)}
.res-lignes .sous-titre th{padding-top:16px;font-weight:700;color:var(--vert-texte);border-top:0}
.prose .res-notes{margin:12px 0 0;padding:0;list-style:none}
.prose .res-notes li{margin:0 0 8px;padding-left:0;font-size:16px;line-height:1.55;max-width:none}
.prose .res-notes li::before{display:none}
.prose .res-notes li.alerte{background:var(--carte);border-left:4px solid var(--bleu);padding:10px 14px;border-radius:0 4px 4px 0}
.simu-pied{margin-top:22px;font-size:16px;line-height:1.6;color:var(--encre-douce)}
.prose .simu-pied details{border:0;max-width:none;margin:0 0 10px}
.prose .simu-pied details:first-of-type{border-top:0}
.prose .simu-pied details>summary{min-height:44px;padding:8px 40px 8px 0;font-size:16.5px;color:var(--encre-forte)}
.prose .simu-pied details>summary::before,.prose .simu-pied details>summary::after{width:13px}
.prose .simu-pied ul{margin:4px 0 8px}
.prose .simu-pied li{font-size:16px;margin-bottom:.4em;max-width:none}
.prose .simu-avert{margin:14px 0 18px;font-weight:600;color:var(--encre-forte);font-size:16px;max-width:none}
.simu-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media (max-width:520px){.simu-cta .btn,.simu-actions .btn{width:100%}.saisie,.champ select{max-width:none}}
@media (max-width:420px){.res-lignes td{white-space:normal}}

/* ░░ Page de rendez-vous ░░ */
.rdv-grille{max-width:1086px;margin:0 auto;padding:clamp(10px,2vw,24px) var(--marge) clamp(40px,5vw,72px);display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media (min-width:1000px){.rdv-grille{grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}}
.rdv-form{background:var(--carte);border:1px solid var(--filet);border-top:4px solid var(--or);border-radius:8px;padding:clamp(20px,3vw,36px)}
.rdv-form h2{margin:0 0 6px;font-family:var(--titre);font-weight:500;font-size:clamp(24px,calc(20px + .8vw),30px);color:var(--encre-forte)}
.rdv-form .intro{margin:0 0 22px;color:var(--encre-douce);font-size:var(--petit)}
.rdv-form .simu-form{gap:22px 24px}
.rdv-form .saisie{max-width:none}
.rdv-form .saisie input{padding-right:14px}
.rdv-form textarea{width:100%;min-height:140px;padding:12px 14px;border:2px solid var(--filet-fort);border-radius:5px;font-family:var(--texte);font-size:18px;line-height:1.5;color:var(--encre-forte);resize:vertical}
.rdv-form textarea:focus{outline:3px solid var(--or-clair);outline-offset:1px;border-color:var(--nuit)}
.rdv-form .champ select{max-width:none}
.rdv-form .choix label{flex:1 1 230px}
.oblig{color:var(--erreur);font-weight:700}
.facult{font-weight:400;color:var(--encre-douce)}
.piege{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.rdv-envoi{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.rdv-envoi .btn{min-width:240px;font-size:18px}
.rdv-envoi p{margin:0;font-size:15.5px;color:var(--encre-douce)}
.rdv-cote{display:grid;gap:16px}
.engagement{background:var(--carte);border:1px solid var(--filet);border-radius:8px;padding:20px 22px}
.engagement h2{margin:0 0 8px;font-family:var(--titre);font-weight:500;font-size:21px;line-height:1.3;color:var(--encre-forte)}
.engagement p,.engagement li{font-size:16.5px;line-height:1.6;margin:0 0 8px}
.engagement ul,.engagement ol{margin:0;padding-left:1.25em}
.engagement.fort{background:var(--nuit);border-color:var(--nuit);color:#e1eeef}
.engagement.fort h2{color:var(--craie)}
.engagement.fort strong{color:var(--or-clair)}
.boite-erreurs{background:var(--fond-erreur);border-left:4px solid var(--erreur);padding:14px 18px;margin:0 0 20px;border-radius:0 6px 6px 0}
.boite-erreurs[hidden]{display:none}
.boite-erreurs p{margin:0 0 6px;font-weight:700;color:var(--erreur)}
.boite-erreurs ul{margin:0;padding-left:1.2em}
.merci{max-width:780px;margin:0 auto;padding:clamp(20px,3vw,40px) var(--marge) clamp(50px,6vw,90px)}

@media print{
  .entete,.barre-rdv,.sommaire,.a-lire,.simu-cta,.cta{display:none!important}
  .tete-page{background:none;color:#000;padding:0}.tete-page h1,.tete-page .chapeau,.signature,.fil li{color:#000}
  .baous{display:none}body{background:#fff}
}
/* ® discret (marque déposée) */
sup.r,.prose sup.r{font-size:.42em;vertical-align:1em;line-height:0;margin-left:.04em;font-weight:400;letter-spacing:0;opacity:.8}
.pied-credit{font-size:.82em;opacity:.75;margin-top:4px}.pied-credit a{text-decoration:underline;text-underline-offset:2px}

/* ════════ Thème « jour » : léger, végétal, ciel transparent (23/10/2026) ════════ */
:root{--papier:#f5f7f2;--papier-2:#edf3ec;--feuille:#3f7a5b;--feuille-claire:#7fae93;--ciel:#cfe5f1}
body{background:
  linear-gradient(180deg,rgba(164,207,232,.55) 0,rgba(196,226,240,.42) 220px,rgba(226,240,240,.30) 420px,rgba(245,247,242,0) 640px) no-repeat,
  radial-gradient(70% 420px at 82% 0,rgba(255,255,255,.75),rgba(255,255,255,0)) no-repeat,
  var(--papier)}
/* Menu en verre dépoli : on voit le ciel puis le texte défiler dessous */
.entete{background:rgba(250,252,250,.55);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);color:var(--encre-forte);border-bottom:1px solid rgba(63,122,91,.14);box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.logo,.logo:hover{color:var(--nuit)}
.amb-a-vert{fill:#48a07c}
.logo-slogan{color:var(--encre-douce)}
.nav-lien,.nav-bouton{color:var(--encre-forte)}
.nav-lien:hover,.nav-bouton:hover,.nav-bouton[aria-expanded="true"]{background:rgba(63,122,91,.09);color:var(--encre-forte)}
.nav-lien[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--feuille)}
.nav-panneau{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top-color:var(--feuille-claire);box-shadow:0 18px 50px rgba(20,64,78,.18)}
.burger{color:var(--encre-forte);border-color:rgba(20,64,78,.25)}
@media (max-width:1099px){
  .nav{background:rgba(247,250,247,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom-color:var(--feuille-claire)}
  .nav-lien,.nav-bouton{border-bottom-color:rgba(20,64,78,.10)}
}
/* Bandeau de titre : ciel bleu translucide, texte sombre */
.tete-page{background:transparent;color:var(--encre-forte);padding-bottom:clamp(96px,12vw,190px)}
.fil li,.fil [aria-current]{color:var(--encre-douce)}
.fil li+li::before{color:var(--feuille)}
.fil a{color:var(--lien);text-decoration-color:rgba(35,93,119,.35)}
.fil a:hover{color:var(--lien-survol)}
.tete-page .sur{color:var(--vert-texte)}
.tete-page h1{color:var(--encre-forte)}
.tete-page .chapeau{color:var(--encre)}
.signature{color:var(--encre-douce)}
.signature a{color:var(--lien)}
.signature .sep{color:var(--feuille)}
/* Le Baou : plus vert, en couches translucides */
.baous{height:clamp(80px,11vw,170px)}
.baous .alpes{fill:rgba(120,160,176,.22)}
.baous .baou{fill:url(#g-baou);opacity:.55}
.baous .colline{fill:url(#g-colline);opacity:.62}
.baous .cypres{fill:#2f6a4c;opacity:.55}
.baous .pres{fill:var(--papier)}
/* Aquarelle évanescente, à droite du titre */
.illu{position:absolute;z-index:0;right:clamp(16px,6vw,110px);top:clamp(40px,5vw,70px);width:clamp(170px,17vw,260px);height:auto;opacity:.78;mix-blend-mode:multiply;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%)}
@media (prefers-reduced-motion:no-preference){.illu{animation:brume 2.4s ease-out both}@keyframes brume{from{opacity:0;filter:blur(6px)}to{opacity:.78;filter:blur(0)}}}
@media (max-width:1180px){.illu{opacity:.5;width:clamp(150px,22vw,210px);top:auto;bottom:clamp(64px,9vw,120px)}}
@media (max-width:760px){.illu{display:none}}
.tete-page-in{z-index:1}
@media (min-width:1181px){.tete-page h1,.tete-page .chapeau{max-width:min(42em,calc(100% - 270px))}}
/* Cartes et encadrés : plus aériens */
.prose .en-bref{background:rgba(255,255,255,.72);border-color:rgba(63,122,91,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.bref-sources{margin:.7em 0 0;font-size:var(--petit)}
.bref-sources a{color:var(--vert-texte)}
/* Sources */
.sources{margin-top:2.6em;padding-top:1.4em;border-top:1px solid var(--filet)}
.sources h2{font-size:1.15em}
.sources-date{color:var(--encre-douce);font-size:var(--petit)}
.sources ol{font-size:var(--petit);line-height:1.55;padding-left:1.3em;color:var(--encre-douce)}
.sources li{margin:.35em 0}
.sources a{overflow-wrap:anywhere}
/* Pied de page : vert profond plutôt que nuit */
.pied{background:linear-gradient(180deg,#24563f 0%,#173a2c 100%)}

/* ════════ Bande fixe sous le menu : chemin d'accès + section en cours (23/10/2026) ════════ */
.fil-fixe{position:sticky;top:var(--entete-h);z-index:38;background:rgba(246,250,247,.62);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid rgba(63,122,91,.12)}
.fil-fixe-in{max-width:1320px;margin:0 auto;padding:0 var(--marge);min-height:46px;display:flex;align-items:center;gap:14px;overflow:hidden}
.fil-fixe .fil{margin:0;font-size:15px;flex:none;max-width:60%}
.fil-fixe .fil ol{flex-wrap:nowrap;white-space:nowrap}
.fil-fixe .fil [aria-current]{color:var(--encre-forte);font-weight:600}
.fil-section{flex:1 1 auto;min-width:0;font-size:15px;color:var(--vert-texte);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(4px);transition:opacity .45s,transform .45s}
.fil-section::before{content:"—";margin-right:.6em;color:var(--feuille-claire)}
.fil-section.vu{opacity:1;transform:none}
.lecture{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--feuille-claire),#48a07c);transform-origin:0 50%;transform:scaleX(0);transition:transform .15s linear}
html{scroll-padding-top:calc(var(--entete-h) + 66px)}
@media (min-width:1100px){.sommaire{top:calc(var(--entete-h) + 70px);max-height:calc(100vh - var(--entete-h) - 94px)}}
@media (max-width:1099px){.fil-fixe{top:0}html{scroll-padding-top:62px}}
@media (max-width:700px){
  .fil-fixe .fil{max-width:100%;font-size:14px}
  .fil-fixe .fil li:not(:last-child):not(:nth-last-child(2)){display:none}
  .fil-fixe .fil li:nth-last-child(2)::before{display:none}
  .fil-section{display:none}
}
/* Touches dynamiques */
.glisse{transform:translateY(18px);transition:transform .9s cubic-bezier(.22,.8,.2,1)}
.glisse.arrive{transform:none}
a.ext::after{content:"↗";display:inline-block;margin-left:.18em;font-size:.78em;transform:translateY(-.1em);transition:transform .2s}
a.ext:hover::after{transform:translate(2px,-.3em)}
.a-lire a{transition:transform .3s cubic-bezier(.22,.8,.2,1),box-shadow .3s}
.a-lire a:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,64,78,.12)}
.btn{transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(35,136,99,.22)}
@media (prefers-reduced-motion:no-preference){.illu{animation:brume 2.4s ease-out both,flotte 14s ease-in-out 2.4s infinite alternate}@keyframes flotte{from{translate:0 0}to{translate:-6px 5px}}}
@media (prefers-reduced-motion:reduce){.glisse{transform:none}}

/* ════════ Barre de menu givrée, plus transparente ; teinte verte ou bleue selon la page (23/10/2026) ════════ */
.entete,.fil-fixe{--givre:228,240,233;--givre-filet:63,122,91}
.givre-bleu .entete,.givre-bleu .fil-fixe{--givre:222,236,246;--givre-filet:42,106,134}
.entete{background:linear-gradient(180deg,rgba(var(--givre),.42),rgba(var(--givre),.28));-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%);border-bottom:1px solid rgba(var(--givre-filet),.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 24px rgba(20,64,78,.05)}
.fil-fixe{background:rgba(var(--givre),.30);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);border-bottom-color:rgba(var(--givre-filet),.14)}
.givre-bleu .lecture{background:linear-gradient(90deg,#8cc3dd,#2a6a86)}
/* Logo plus net : graisses plus franches, lissage, couleur pleine */
.logo{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:#0f3644}
.logo-nom{font-weight:400;letter-spacing:.035em}
.logo-nom strong{font-weight:600}
.logo-slogan{font-weight:500;color:#33545e;letter-spacing:.13em}
.nav-lien,.nav-bouton{-webkit-font-smoothing:antialiased}
@media (max-width:1099px){.givre-bleu .nav{background:rgba(240,247,252,.96)}}

/* ════════ « Saviez-vous que… ? » ════════ */
.saviez{position:fixed;z-index:44;right:clamp(14px,2.4vw,32px);bottom:clamp(14px,2.4vw,32px);width:min(360px,calc(100vw - 28px));padding:18px 20px 14px;border-radius:14px;color:var(--encre-forte);
  background:linear-gradient(150deg,rgba(255,255,255,.86),rgba(232,244,238,.80));-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(63,122,91,.18);box-shadow:0 22px 60px rgba(20,64,78,.20);opacity:0;transform:translateY(16px) scale(.98);transition:opacity .5s,transform .6s cubic-bezier(.22,.8,.2,1)}
.givre-bleu .saviez{background:linear-gradient(150deg,rgba(255,255,255,.86),rgba(226,239,248,.82));border-color:rgba(42,106,134,.18)}
.saviez.visible{opacity:1;transform:none}
.saviez-sur{margin:0 0 6px;font-family:var(--marque);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--vert-texte)}
.saviez-txt{margin:0 0 12px;font-size:16.5px;line-height:1.5}
.saviez-lien{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:16px;color:var(--lien);text-decoration:none}
.saviez-lien i{width:18px;height:1.5px;background:currentColor;position:relative;transition:width .25s}
.saviez-lien i::after{content:"";position:absolute;right:0;top:-3.5px;width:7px;height:7px;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}
.saviez-lien:hover i{width:26px}
.saviez-src{margin:10px 0 0;font-size:13px;color:var(--encre-douce)}
.saviez-fermer{position:absolute;top:6px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--encre-douce);font-size:22px;line-height:1;cursor:pointer}
.saviez-fermer:hover{background:rgba(20,64,78,.07)}
@media (max-width:1099px){.saviez{bottom:86px;right:14px}}
@media (prefers-reduced-motion:reduce){.saviez{transition:opacity .3s;transform:none}}
@media print{.saviez,.fil-fixe{display:none!important}}
/* Menus au survol : passerelle invisible entre le mot et le panneau, apparition éclair */
@media (min-width:1100px){
  .nav-panneau::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
  .nav-panneau:not([hidden]){animation:panneau .14s ease-out}
  @keyframes panneau{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
}
.nav-panneau{background:rgba(255,255,255,.97)}
.logo-nom sup{font-size:.55em;font-weight:500;opacity:1;-webkit-font-smoothing:antialiased}

/* ════════ Formulaire : protection des données et « Je ne suis pas un robot » ════════ */
.rgpd{background:rgba(255,255,255,.7);border:1px solid var(--filet);border-left:4px solid var(--feuille-claire);border-radius:0 8px 8px 0;padding:14px 18px;font-size:15.5px;line-height:1.55;color:var(--encre-douce)}
.rgpd p{margin:.4em 0}
.rgpd .rgpd-titre{margin-top:0;font-weight:700;color:var(--encre-forte);font-size:16.5px}
.case.robot{display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--filet-fort);border-radius:8px;background:#fff;min-width:min(320px,100%);transition:border-color .2s,box-shadow .2s}
.case.robot .robot-ic{width:26px;height:26px;margin-left:auto;fill:none;stroke:var(--filet-fort);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;transition:stroke .3s}
.case.robot.coche{border-color:var(--feuille);box-shadow:0 0 0 3px rgba(72,160,124,.14)}
.case.robot.coche .robot-ic{stroke:#2f8a63}
.simu-form .rgpd,.rdv-form .rgpd{grid-column:1/-1}

/* ════════ Séparations en fondu, ligne du sommaire animée (23/10/2026) ════════ */
/* Plus de traits nets sous le menu et la bande fixe : un léger fondu à la place */
.entete,.fil-fixe{border-bottom:0!important}
.entete::after,.fil-fixe::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px;pointer-events:none;background:linear-gradient(180deg,rgba(var(--givre),.55),rgba(var(--givre),0))}
.fil-fixe::after{height:22px}
.a-fil-fixe .entete::after{display:none}
.lecture{bottom:0}
/* Séparations de sections, FAQ, mentions, sources, « À lire aussi » : lignes qui s'effacent aux extrémités */
.prose section+section,.prose .mentions,.sources,.a-lire,.prose details,.prose details:first-of-type{border-image:linear-gradient(90deg,rgba(63,122,91,0),rgba(63,122,91,.32) 18%,rgba(63,122,91,.32) 82%,rgba(63,122,91,0)) 1}
.givre-bleu .prose section+section,.givre-bleu .prose .mentions,.givre-bleu .sources,.givre-bleu .a-lire,.givre-bleu .prose details{border-image:linear-gradient(90deg,rgba(42,106,134,0),rgba(42,106,134,.30) 18%,rgba(42,106,134,.30) 82%,rgba(42,106,134,0)) 1}
.a-lire{background:linear-gradient(180deg,rgba(237,243,236,0),var(--papier-2) 90px)}
/* Sommaire : la ligne verticale devient un fil de lumière animé, avec un point sur la section en cours */
@media (min-width:1100px){
  .sommaire details{border-left:0;position:relative}
  .sommaire details::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(63,122,91,0),rgba(63,122,91,.35) 10%,rgba(63,122,91,.35) 90%,rgba(63,122,91,0))}
  .sommaire details::after{content:"";position:absolute;left:-1px;top:0;width:3px;height:90px;border-radius:3px;background:linear-gradient(180deg,rgba(72,160,124,0),#48a07c 50%,rgba(72,160,124,0));box-shadow:0 0 10px rgba(72,160,124,.55);animation:filLumiere 7s cubic-bezier(.45,.05,.55,.95) infinite}
  .givre-bleu .sommaire details::after{background:linear-gradient(180deg,rgba(42,106,134,0),#3b8db0 50%,rgba(42,106,134,0));box-shadow:0 0 10px rgba(59,141,176,.55)}
  @keyframes filLumiere{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 90px);opacity:0}}
  .sommaire a{border-left:0;position:relative}
  .sommaire a::after{content:"";position:absolute;left:-12px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:#48a07c;opacity:0;transform:scale(.3);transition:opacity .35s,transform .35s cubic-bezier(.22,.8,.2,1);box-shadow:0 0 0 4px rgba(72,160,124,.16),0 0 12px rgba(72,160,124,.55)}
  .givre-bleu .sommaire a::after{background:#3b8db0;box-shadow:0 0 0 4px rgba(59,141,176,.16),0 0 12px rgba(59,141,176,.55)}
  .sommaire a.actif::after{opacity:1;transform:scale(1)}
  .sommaire a.actif{background:linear-gradient(90deg,rgba(72,160,124,.10),rgba(72,160,124,0))}
  .givre-bleu .sommaire a.actif{background:linear-gradient(90deg,rgba(59,141,176,.10),rgba(59,141,176,0))}
}
@media (prefers-reduced-motion:reduce){.sommaire details::after{animation:none;display:none}}

/* ════════ Néon, avec parcimonie : trois points d'attention seulement ════════ */
:root{--neon-vert:0 0 6px rgba(72,191,147,.85),0 0 18px rgba(48,188,136,.45),0 0 38px rgba(34,186,130,.22)}
/* 1. Le bouton du milieu de page s'allume trois fois quand il arrive à l'écran */
.prose .cta-milieu.arrive .btn,.prose .cta-milieu:not(.glisse) .btn{animation:neonSouffle 2.6s ease-in-out .6s 3}
@keyframes neonSouffle{0%,100%{box-shadow:none}50%{box-shadow:var(--neon-vert)}}
/* 2. « Prendre rendez-vous » dans le menu : halo au survol */
.btn-rdv:hover,.btn-rdv:focus-visible{box-shadow:var(--neon-vert)}
/* 3. L'encart « Saviez-vous » s'annonce par un liseré lumineux, une seule fois */
.saviez.visible{animation:neonLiseré 2.2s ease-out .3s 1}
@keyframes neonLiseré{0%{box-shadow:0 22px 60px rgba(20,64,78,.20)}35%{box-shadow:0 22px 60px rgba(20,64,78,.20),0 0 0 1px rgba(72,191,147,.7),0 0 22px rgba(48,188,136,.45)}100%{box-shadow:0 22px 60px rgba(20,64,78,.20)}}
.saviez .saviez-sur{text-shadow:0 0 10px rgba(72,191,147,.35)}
@media (prefers-reduced-motion:reduce){.prose .cta-milieu .btn,.saviez.visible{animation:none}}

/* ════════ Bloc « le cabinet » (adresse, horaires en direct, appel, itinéraire, plan) ════════ */
.cabinet-bloc{max-width:1180px;margin:clamp(40px,6vw,80px) auto 0;padding:0 var(--marge);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(20px,3vw,40px);align-items:stretch}
.cab-infos{background:rgba(255,255,255,.78);border:1px solid rgba(63,122,91,.16);border-radius:16px;padding:clamp(20px,2.6vw,32px);box-shadow:0 18px 50px rgba(20,64,78,.08)}
.cab-sur{margin:0 0 6px;font-family:var(--marque);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--vert-texte)}
.cab-infos h2{margin:0 0 10px;font-family:var(--titre);font-weight:500;font-size:clamp(24px,calc(18px + 1vw),30px);color:var(--encre-forte)}
.cab-adr{margin:0 0 14px;color:var(--encre)}
.cab-statut{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:var(--petit)}
.cab-pastille{width:10px;height:10px;border-radius:50%;background:#b8c4c2;flex:none}
.cabinet-bloc.ouvert .cab-pastille{background:#2f9d6c;box-shadow:0 0 0 4px rgba(47,157,108,.16),0 0 10px rgba(72,191,147,.6)}
.cabinet-bloc:not(.ouvert) .cab-etat b{color:#a3261b}
.cabinet-bloc.ouvert .cab-etat b{color:#1f7a52}
.cab-horaires{width:100%;max-width:360px;border-collapse:collapse;font-size:var(--petit);margin:0 0 18px}
.cab-horaires caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cab-horaires th,.cab-horaires td{padding:4px 0;font-weight:400;color:var(--encre-douce);text-align:left;border:0}
.cab-horaires td{text-align:right;font-variant-numeric:tabular-nums}
.cab-horaires tr.aujourdhui th,.cab-horaires tr.aujourdhui td{font-weight:700;color:var(--encre-forte)}
.cab-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.cab-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:10px 16px;border:1px solid var(--filet-fort);border-radius:999px;color:var(--encre-forte);text-decoration:none;font-weight:600;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.cab-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.cab-btn:hover{border-color:var(--feuille);box-shadow:0 6px 18px rgba(20,64,78,.10);transform:translateY(-1px)}
.cab-rdv{display:flex;justify-content:center;width:100%;min-height:52px;border-radius:999px}
.cab-reseaux{margin:14px 0 0;font-size:var(--petit);color:var(--encre-douce)}
.cab-carte{position:relative;border-radius:16px;overflow:hidden;min-height:340px;border:1px solid rgba(63,122,91,.16);box-shadow:0 18px 50px rgba(20,64,78,.08);background:var(--papier-2)}
.cab-carte iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.85) hue-rotate(-8deg)}
.cab-carte-lien{position:absolute;right:12px;bottom:12px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.92);font-size:14px;font-weight:600;color:var(--lien);text-decoration:none;box-shadow:0 4px 14px rgba(20,64,78,.15)}
@media (max-width:860px){.cabinet-bloc{grid-template-columns:1fr}.cab-carte{min-height:280px}}
@media (max-width:420px){.cab-actions{grid-template-columns:1fr}}

/* Encadré RGPD du formulaire : replié par défaut, l'essentiel reste lisible */
details.rgpd{padding:12px 18px}
details.rgpd summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;column-gap:14px;row-gap:2px;align-items:center}
details.rgpd summary::-webkit-details-marker{display:none}
details.rgpd .rgpd-titre{grid-column:1;font-weight:700;color:var(--encre-forte);font-size:16px}
details.rgpd .rgpd-resume{grid-column:1;font-size:14.5px;line-height:1.45}
details.rgpd .rgpd-plus{grid-column:2;grid-row:1 / span 2;font-size:13.5px;font-weight:600;color:var(--feuille,#2c7a5b);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
details.rgpd .rgpd-plus::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
details.rgpd[open] .rgpd-plus::after{transform:rotate(-135deg) translateY(-1px)}
details.rgpd summary:focus-visible{outline:2px solid var(--feuille-claire);outline-offset:4px;border-radius:4px}
details.rgpd[open] summary{margin-bottom:6px}
@media (max-width:560px){details.rgpd summary{grid-template-columns:1fr}details.rgpd .rgpd-plus{grid-column:1;grid-row:auto;margin-top:4px}}

/* Resserrement des encarts (25/10/2026) : moins de vides entre les blocs */
.page-grille,.rdv-grille{padding-bottom:clamp(20px,2.5vw,32px)}
.cabinet-bloc{margin-top:clamp(12px,2vw,24px);margin-bottom:clamp(28px,3.5vw,44px)}
.rdv-grille+.cabinet-bloc{max-width:1086px}
.rdv-cote{display:grid;gap:12px}
.prose section+section{margin-top:1.6em}
.prose section+section>h2:first-child{margin-top:1.05em}
.sources{margin-top:28px}
.a-lire{padding-top:clamp(28px,3.5vw,44px);padding-bottom:clamp(28px,3.5vw,44px)}
.pied{padding-top:clamp(32px,4vw,48px)}
.cab-horaires tbody{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.cab-horaires tr{display:flex;justify-content:space-between;gap:10px}
.cab-horaires th,.cab-horaires td{padding:3px 0}
@media (max-width:420px){.cab-horaires tbody{grid-template-columns:1fr}}
.cab-actions{flex-wrap:wrap}
.cab-btn{white-space:nowrap;padding-left:16px;padding-right:16px}
.cab-btn svg{flex:none}

/* Bonus souscription (25/10/2026) */
.avertissement-construction{margin:0 0 22px;padding:12px 16px;border-radius:8px;background:#fff4dc;border:1px solid #e9c46a;color:#5a4410;font-size:15px;line-height:1.5}
.avertissement-construction strong{color:#3d2e08}
.bonus-lien{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 6px;padding:14px 18px;border-radius:10px;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,243,236,.9));border:1px solid rgba(63,122,91,.25);box-shadow:0 6px 18px rgba(20,60,45,.06)}
.bonus-lien p{margin:0;flex:1 1 320px;font-size:16px;line-height:1.5;color:var(--encre-douce)}
.bonus-lien strong{color:var(--feuille)}
.btn-bonus{background:linear-gradient(180deg,#f3c969,#e0a93a)!important;color:#3a2a05!important;border-color:#d39a2a!important}
.btn-bonus:hover,.btn-bonus:focus-visible{background:linear-gradient(180deg,#f7d685,#e7b44b)!important}
.entete .btn-bonus{box-shadow:0 0 14px rgba(224,169,58,.35)}

/* FAQ : recherche et mini sommaire */
.faq-outils{margin:0 0 30px;padding:20px 22px;border-radius:12px;background:rgba(255,255,255,.88);border:1px solid rgba(63,122,91,.22);box-shadow:0 10px 30px rgba(20,60,45,.07)}
.faq-label{display:block;font-weight:700;font-size:15px;color:var(--encre-forte);margin-bottom:8px}
.faq-champ{position:relative;display:flex;align-items:center}
.faq-champ svg{position:absolute;left:14px;width:19px;height:19px;fill:none;stroke:var(--feuille);stroke-width:2;stroke-linecap:round;pointer-events:none}
.faq-champ input{width:100%;font:inherit;font-size:17px;padding:13px 44px 13px 44px;border-radius:999px;border:1.5px solid rgba(63,122,91,.45);background:#fff;color:var(--encre-forte);-webkit-appearance:none;appearance:none}
.faq-champ input:focus{outline:none;border-color:var(--feuille);box-shadow:0 0 0 4px rgba(127,174,147,.28)}
.faq-champ input::-webkit-search-cancel-button{display:none}
.faq-effacer{position:absolute;right:8px;width:32px;height:32px;border-radius:50%;border:0;background:rgba(63,122,91,.12);color:var(--feuille);font-size:20px;line-height:1;cursor:pointer}
.faq-compte{margin:8px 4px 12px;font-size:14px;color:var(--encre-douce);min-height:1.2em}
.faq-themes{display:flex;flex-wrap:wrap;gap:8px}
.faq-themes a{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-size:14px;text-decoration:none;color:var(--encre-forte);background:rgba(127,174,147,.16);border:1px solid rgba(63,122,91,.2);transition:background .2s,opacity .2s}
.faq-themes a:hover,.faq-themes a:focus-visible{background:rgba(127,174,147,.32);outline:none}
.faq-nb{font-size:12px;font-weight:700;color:var(--feuille);background:#fff;border-radius:999px;padding:1px 7px;min-width:1.6em;text-align:center}
.faq-themes a.eteint{opacity:.38}
.faq-vide{margin:14px 4px 0;font-size:15px}
.prose details summary mark{background:rgba(243,201,105,.55);color:inherit;border-radius:3px;padding:0 1px}
@media (max-width:860px){.faq-outils{position:static;padding:16px}.faq-themes{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.faq-themes a{flex:0 0 auto}}

/* 25/10/2026 : bouton « Retour » vers la page précédente, et fil d'Ariane qui passe à la ligne en plus petit
   sur tablette et smartphone au lieu d'être coupé */
.fil-retour{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px 4px 8px;border:1px solid rgba(var(--givre-filet,63,122,91),.35);border-radius:999px;background:rgba(255,255,255,.55);color:var(--encre-forte);font-size:14px;font-weight:600;text-decoration:none;line-height:1}
.fil-retour:hover{background:#fff;color:var(--encre-forte);border-color:var(--vert-texte)}
.fil-retour svg{flex:none}
@media (max-width:1099px){
  .fil-fixe-in{padding-top:6px;padding-bottom:6px;align-items:center}
  .fil-fixe .fil{max-width:none;flex:1 1 auto;min-width:0}
  .fil-fixe .fil ol{flex-wrap:wrap;white-space:normal}
  .fil-fixe .fil li{min-width:0;overflow-wrap:anywhere}
}
@media (max-width:700px){
  .fil-fixe-in{gap:10px;min-height:44px}
  .fil-fixe .fil{font-size:13px;line-height:1.35}
  .fil-retour{min-height:34px;padding:4px 10px 4px 6px;font-size:13px}
}
@media (max-width:380px){.fil-retour span{display:none}.fil-retour{padding:4px 8px}.fil-fixe .fil{font-size:12.5px}}
@media print{.fil-retour{display:none}}
/* 25/10/2026 : à 360 px (Android courant), le bouton Menu débordait de 8 px — on retire son libellé jusqu'à 380 px */
@media (max-width:380px){.burger-txt{display:none}.entete-in{gap:10px}}

/* ═══ 25/10/2026 : page « Outils de projection » ═══ */
.prose .simu-tete .simu-titre{margin:0;font-family:var(--titre);font-weight:500;color:var(--craie);font-size:clamp(22px,calc(18px + .8vw),28px);line-height:1.25;text-wrap:balance}
.outils-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:1.6em 0 2.2em}
.outils-index a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--filet);border-radius:8px;background:var(--carte);text-decoration:none;color:var(--encre);transition:border-color .2s,box-shadow .2s,transform .2s}
.outils-index a:hover,.outils-index a:focus-visible{border-color:var(--vert-texte);box-shadow:0 6px 18px rgba(20,64,78,.10);transform:translateY(-1px)}
.outils-index b{font-family:var(--titre);font-weight:600;font-size:18px;color:var(--encre-forte)}
.outils-index span{font-size:15px;line-height:1.4;color:var(--encre-douce)}
.prose section{scroll-margin-top:calc(var(--entete-h) + 60px)}
.prose h3[id]{scroll-margin-top:calc(var(--entete-h) + 60px)}
.outil-groupe{margin:6px 0 -8px;font-family:var(--titre);font-weight:600;font-size:17px;color:var(--vert-texte);border-top:1px solid var(--filet);padding-top:14px}
.simu-resultat.en-attente{opacity:.45}
.histo{margin:1em 0 2em;padding:clamp(14px,2vw,22px);border:1px solid var(--filet);border-radius:8px;background:var(--carte)}
/* graphiques */
.og-fig{margin:14px 0 8px}
.og{display:block;width:100%;height:auto;max-width:100%;overflow:visible}
.og-grille{stroke:#d9e3df;stroke-width:1}
.og-zero{stroke:#8aa39b}
.og-txt{fill:var(--encre-douce);font:500 12px var(--texte);font-variant-numeric:tabular-nums}
.og-ligne{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.og-aire{stroke:none;opacity:.16}
.og-bande{stroke:none;opacity:.22}
.og-point{stroke:#fff;stroke-width:2}
.og-barre{stroke:none}
.s1.og-ligne{stroke:#1b6e50}.s1.og-aire,.s1.og-point,.s1.og-bande{fill:#1b6e50}.og-legende .s1{background:#1b6e50}
.s2.og-ligne{stroke:#2a6a86;stroke-dasharray:6 5}.s2.og-aire,.s2.og-point{fill:#2a6a86}.s2.og-bande{fill:#48bf93}.og-legende .s2{background:#2a6a86}
.og-legende li:has(.s2):first-child i{background:rgba(72,191,147,.45)}
.s3.og-ligne{stroke:#b5562c}.s3.og-point,.s3.og-barre{fill:#c8693c}.og-legende .s3{background:#c8693c}
.og-legende{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;padding:0}
.prose .og-legende li{margin:0;padding:0;font-size:15px;display:flex;align-items:center;gap:8px;color:var(--encre-douce)}
.prose .og-legende li::before{display:none}
.og-legende i{display:inline-block;width:18px;height:4px;border-radius:2px}
.og-source{margin:10px 0 0;font-size:14.5px;line-height:1.5;color:var(--encre-douce);max-width:none}
.prose details.og-table{margin:10px 0 0;border:0;max-width:none}
.prose details.og-table>summary{font-size:16px;min-height:44px;color:var(--lien)}
.og-defil{overflow-x:auto;-webkit-overflow-scrolling:touch}
.og-defil table{width:100%;border-collapse:collapse;font-size:15.5px;font-variant-numeric:tabular-nums;min-width:320px}
.og-defil th,.og-defil td{padding:8px 10px;border-top:1px solid var(--filet);text-align:right;white-space:nowrap}
.og-defil thead th{font-weight:700;color:var(--encre-forte);border-top:0}
.og-defil th:first-child{text-align:left}
@media (max-width:600px){.og-txt{font-size:15px}.outils-index{grid-template-columns:1fr 1fr}.outils-index b{font-size:16px}.outils-index span{font-size:14px}}
@media (max-width:380px){.outils-index{grid-template-columns:1fr}}

/* ═══ 25/10/2026 : recherche interne (bouton loupe de l'en-tête, touche « / ») ═══ */
.btn-recherche{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid rgba(var(--givre-filet,63,122,91),.35);border-radius:999px;background:rgba(255,255,255,.55);color:var(--encre-forte);font:600 15px/1 var(--texte);cursor:pointer;margin-right:10px}
.btn-recherche:hover,.btn-recherche:focus-visible{background:#fff;border-color:var(--vert-texte)}
@media (max-width:1099px){.btn-recherche{margin:14px 0 0;width:100%;justify-content:center;min-height:52px;font-size:17px}}
.rech{position:fixed;inset:0;z-index:200;background:rgba(6,26,32,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:clamp(12px,8vh,90px) 16px 16px}
.rech[hidden]{display:none}
html.rech-ouverte{overflow:hidden}
.rech-boite{width:min(760px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--carte);border-radius:14px;box-shadow:0 30px 80px rgba(6,26,32,.35);overflow:hidden}
.rech-tete{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 0}
.rech-titre{margin:0;font:600 13px/1 var(--marque);letter-spacing:.16em;text-transform:uppercase;color:var(--vert-texte)}
.rech-fermer{width:40px;height:40px;border:0;border-radius:50%;background:var(--papier-2);font-size:24px;line-height:1;cursor:pointer;color:var(--encre-forte)}
.rech-form{padding:10px 18px 6px}
.rech-form input{width:100%;min-height:56px;padding:12px 16px;border:2px solid var(--filet-fort);border-radius:10px;font:600 19px/1.2 var(--texte);color:var(--encre-forte);background:#fff}
.rech-form input:focus{outline:3px solid var(--or-clair);border-color:var(--nuit)}
.rech-etat{margin:4px 18px 8px;font-size:15px;color:var(--encre-douce)}
.rech-liste{list-style:none;margin:0;padding:0 10px 10px;overflow-y:auto}
.rech-liste a{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:10px;text-decoration:none;color:var(--encre)}
.rech-liste a:hover,.rech-liste a:focus-visible{background:var(--fond-note)}
.rech-page{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--vert-texte)}
.rech-liste b{font:600 18px/1.3 var(--titre);color:var(--encre-forte)}
.rech-ext{font-size:15.5px;line-height:1.5;color:var(--encre-douce)}
.rech-ext mark,.rech-liste mark{background:#d9f2e6;color:inherit;border-radius:3px;padding:0 2px}
.rech-pied{margin:0;padding:12px 18px 16px;border-top:1px solid var(--filet);font-size:14.5px;color:var(--encre-douce)}
.btn-recherche-mobile{display:none}
@media (max-width:1099px){
  .btn-recherche-mobile{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-left:auto;margin-right:8px;border:1px solid rgba(var(--givre-filet,63,122,91),.35);border-radius:10px;background:rgba(255,255,255,.55);color:var(--encre-forte);cursor:pointer}
  .nav .btn-recherche{display:none}
}
@media (min-width:1100px) and (max-width:1299px){.btn-recherche span{display:none}.btn-recherche{padding:8px 11px}}

/* 25/10/2026 : formulaire de rendez-vous compacté sur smartphone et tablette (moins de défilement, cases à taille de doigt) */
@media (max-width:999px){
  .rdv-form{padding:18px 16px 20px;border-radius:8px}
  .rdv-form h2{font-size:23px}
  .rdv-form .intro{margin:0 0 14px;font-size:15.5px;line-height:1.5}
  .rdv-form .simu-form{gap:12px 12px}
  .rdv-form .champ{gap:4px}
  .rdv-form .champ>label,.rdv-form .champ legend{font-size:15px;line-height:1.3}
  .rdv-form .facult{font-weight:500}
  .rdv-form .saisie input,.rdv-form .champ select{min-height:46px;padding:8px 12px;font-size:16px;border-width:1.5px;border-radius:6px}
  .rdv-form .champ select{padding-right:40px}
  .rdv-form textarea{min-height:84px;padding:8px 12px;font-size:16px;border-width:1.5px}
  .rdv-form .choix{gap:6px}
  .rdv-form .choix label{flex:0 1 auto;min-height:40px;padding:6px 12px 6px 10px;gap:8px;font-size:15px;border-width:1.5px;border-radius:999px}
  .rdv-form .choix input{width:18px;height:18px}
  .rdv-form .case{font-size:14.5px;gap:10px}
  .rdv-form .case input{width:22px;height:22px}
  .rdv-envoi .btn{min-width:0;width:100%;min-height:52px;font-size:17px}
}
@media (min-width:480px) and (max-width:699px){.rdv-form .simu-form{grid-template-columns:1fr 1fr}}

/* ═══ 25/10/2026 — Outils de projection mis en valeur dans « Solutions » ═══
   En tête de liste, sur un fond qui le distingue, avec la mention « Gratuit ».
   Sur ordinateur, un sous-menu s'ouvre à côté au survol (ou au clavier) et
   mène directement à chaque outil. Sur téléphone, les outils sont des
   pastilles sous l'entrée : pas de survol sur un écran tactile. */
.nav-panneau li.nav-outils{position:relative;margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid rgba(20,64,78,.10)}
.nav-panneau li.nav-outils>a{background:linear-gradient(100deg,rgba(42,106,134,.13),rgba(72,191,147,.10));box-shadow:inset 3px 0 0 var(--bleu)}
.nav-panneau li.nav-outils>a:hover{background:linear-gradient(100deg,rgba(42,106,134,.2),rgba(72,191,147,.15))}
.nav-outils-titre{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nav-outils-titre em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--bleu);padding:3px 8px 2px;border-radius:999px;line-height:1.3}
.nav-sous-titre{margin:2px 0 6px;padding:0 12px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre-douce);font-weight:700}
.nav-sous ul{list-style:none;margin:0;padding:0}
@media (min-width:1100px) and (hover:hover){
  .nav-sous{position:absolute;left:calc(100% + 14px);top:-13px;width:330px;max-height:min(72vh,600px);overflow:auto;background:rgba(255,255,255,.98);border-radius:6px;border-top:3px solid var(--bleu);box-shadow:0 18px 50px rgba(20,64,78,.22);padding:10px;opacity:0;visibility:hidden;transform:translateX(-8px);transition:opacity .18s ease,transform .18s ease,visibility 0s .18s;z-index:2}
  .nav-sous.a-gauche{left:auto;right:calc(100% + 14px);transform:translateX(8px)}
  /* Le pont invisible : la souris traverse l'espace entre les deux panneaux sans refermer le sous-menu. */
  .nav-sous::before{content:"";position:absolute;top:0;bottom:0;left:-16px;width:16px}
  .nav-sous.a-gauche::before{left:auto;right:-16px}
  li.nav-outils:hover>.nav-sous,li.nav-outils:focus-within>.nav-sous{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease,visibility 0s}
  .nav-panneau .nav-sous a{padding:6px 12px;font-size:15px;line-height:1.3}
  .nav-panneau .nav-sous a small{font-size:13px;margin-top:1px}
  .nav-panneau .nav-sous a:hover{background:rgba(42,106,134,.08);box-shadow:inset 2px 0 0 var(--bleu)}
}
@media (max-width:1099px),(hover:none){
  .nav-sous{padding:2px 8px 6px}
  .nav-sous ul{display:flex;flex-wrap:wrap;gap:6px}
  .nav-panneau .nav-sous a{display:inline-block;padding:7px 11px;border:1px solid rgba(42,106,134,.35);border-radius:999px;font-size:14.5px;font-weight:600;color:var(--bleu);background:rgba(255,255,255,.6)}
  .nav-panneau .nav-sous a small{display:none}
}

/* ═══ 25/10/2026 — Les flèches des Baous ═══
   Une seule écriture pour toutes les flèches du site : un trait fin terminé
   par un petit losange ouvert, le losange du logo. Il se remplit au survol.
   Remplace les chevrons tracés en bordure et le caractère « → ». */
.saviez-lien i::after{width:6px;height:6px;border:1px solid currentColor;border-width:1px;top:-3px;right:-3px;transform:rotate(45deg);background:transparent;transition:background .25s}
.saviez-lien:hover i::after{background:currentColor}
.nav-bouton::after{width:6px;height:6px;border:1.5px solid currentColor;border-width:1.5px;transform:rotate(45deg);border-radius:1px;background:transparent;transition:transform .25s,background .25s}
.nav-bouton[aria-expanded="true"]::after{transform:rotate(225deg);background:currentColor}
.sommaire summary::after{width:6px;height:6px;border:1.5px solid var(--encre);border-width:1.5px;transform:rotate(45deg);transition:transform .25s,background .25s}
.sommaire[open] summary::after{transform:rotate(225deg);background:var(--encre)}

/* ═══ 25/10/2026 — Le curseur ═══
   Sur ordinateur seulement (souris précise) : un losange fin, filet sombre et
   cœur vert, lisible sur fond clair comme sur fond sombre ; plein sur ce qui
   se clique. Le curseur de texte reste celui du système dans les champs. */
@media (hover:hover) and (pointer:fine){
  html{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 21 12 12 21 3 12Z' fill='none' stroke='%23061a20' stroke-opacity='.55' stroke-width='3.2'/%3E%3Cpath d='M12 3 21 12 12 21 3 12Z' fill='none' stroke='%2373c3a6' stroke-width='1.3'/%3E%3Ccircle cx='12' cy='12' r='1.7' fill='%2373c3a6'/%3E%3C/svg%3E") 12 12,auto}
  a,button,summary,label,select,[role="button"],input[type="checkbox"],input[type="radio"],input[type="range"],input[type="submit"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5 19.5 12 12 19.5 4.5 12Z' fill='%2348bf93' stroke='%23061a20' stroke-opacity='.6' stroke-width='1.6'/%3E%3Cpath d='M12 9.2 14.8 12 12 14.8 9.2 12Z' fill='%23ffffff' fill-opacity='.9'/%3E%3C/svg%3E") 12 12,pointer!important}
  input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input:not([type]),textarea,[contenteditable]{cursor:text}
}

/* 25/10/2026 — Le portrait de Sébastien sur la page « Le cabinet » : détouré,
   posé sur le fond du site, et révélé par un trait qui suit sa silhouette
   (le contour est tracé, puis la photo apparaît, puis le trait s'estompe). */
.portrait-cabinet{position:relative;margin:0 0 22px;max-width:280px}
.portrait-cabinet figcaption{margin-top:10px;font-size:14.5px;color:var(--encre-douce)}
@media (min-width:900px){.portrait-cabinet{float:right;width:250px;margin:-6px 0 14px 28px;shape-outside:margin-box}}
/* Le portrait flotte à droite : l'encadré « En bref » passe en dessous au
   lieu de se glisser par-dessus. */
.portrait-cabinet ~ .en-bref{clear:both}
.seb-detoure picture,.seb-detoure img{display:block;width:100%;height:auto}
.seb-detoure picture{position:relative;z-index:1}
.seb-detoure svg{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:640/675;z-index:2;overflow:visible;pointer-events:none}
.seb-detoure path{fill:none;stroke:var(--or-sombre);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.seb-detoure.pret path{opacity:1;stroke-dasharray:var(--l);stroke-dashoffset:var(--l)}
.seb-detoure.pret picture{opacity:0;transform:translateY(10px);filter:blur(6px)}
.seb-detoure.vu path{animation:sebTrace 1.7s cubic-bezier(.65,.05,.25,1) forwards,sebEstompe 1.2s 2.1s ease forwards}
.seb-detoure.vu picture{animation:sebApparait 1.2s .85s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes sebTrace{to{stroke-dashoffset:0}}
@keyframes sebApparait{to{opacity:1;transform:none;filter:none}}
@keyframes sebEstompe{to{opacity:.28}}
@media (prefers-reduced-motion:reduce){.seb-detoure.pret path,.seb-detoure.pret picture{animation:none;opacity:1;transform:none;filter:none;stroke-dashoffset:0}}

/* 25/10/2026 (2) — Le buste s'inscrit dans un cercle : la tête dépasse en
   haut, les épaules s'arrondissent sur le bas du cercle. Plus de bord coupé
   net ni de fondu. Le masque = moitié haute entière + disque. */
.seb-cadre{position:relative;-webkit-mask:linear-gradient(#000 0 0) top/100% 50% no-repeat,radial-gradient(closest-side circle at 50% 55%,#000 99.3%,transparent 100%);mask:linear-gradient(#000 0 0) top/100% 50% no-repeat,radial-gradient(closest-side circle at 50% 55%,#000 99.3%,transparent 100%)}
.seb-detoure svg.seb-fond{z-index:0}
.seb-fond circle{fill:rgba(72,191,147,.11);stroke:var(--or-sombre);stroke-width:3;stroke-opacity:.6}
.seb-detoure.pret .seb-fond circle{stroke-dasharray:var(--l);stroke-dashoffset:var(--l);fill-opacity:0}
.seb-detoure.vu .seb-fond circle{animation:sebTrace 1.4s cubic-bezier(.65,.05,.25,1) forwards,sebRemplit .9s .8s ease forwards}
@keyframes sebRemplit{from{fill-opacity:0}to{fill-opacity:1}}

/* 25/10/2026 — Questions fréquentes : chaque thème se déplie.
   Le titre du thème devient un bouton ; les questions sont rangées dessous.
   Une adresse qui vise une question ou un thème ouvre le bon thème. */
.faq-theme-btn{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;width:100%;cursor:pointer;padding:18px 4px 16px;border-bottom:1px solid var(--filet)}
.faq-theme-btn:focus-visible{outline:2px solid var(--or-sombre);outline-offset:4px;border-radius:4px}
.faq-theme-btn .faq-theme-titre{flex:1;font:inherit}
.faq-theme-btn .faq-theme-n{flex:none;font-family:var(--texte);font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--encre-douce);background:var(--papier-2,#eef3ee);padding:4px 10px;border-radius:999px}
.faq-theme-btn::after{content:"";flex:none;width:8px;height:8px;margin-right:6px;border:1.5px solid var(--or-sombre);transform:rotate(45deg);transition:transform .3s,background .3s}
.faq-theme-btn[aria-expanded="true"]::after{transform:rotate(225deg);background:var(--or-sombre)}
.faq-theme-btn:hover .faq-theme-titre{color:var(--or-sombre)}
.faq-theme-corps{padding-top:6px}
.faq-theme-corps[hidden]{display:none}
.faq-tout{display:flex;justify-content:flex-end;margin:4px 0 8px}
.faq-tout button{all:unset;cursor:pointer;font-size:15px;font-weight:600;color:var(--lien,#1f6f8b);text-decoration:underline;text-underline-offset:3px}

/* ════════ Bandeau des marchés, tout en haut (TradingView, cours différés) ════════ */
.bourse{position:relative;z-index:41;display:flex;align-items:center;height:52px;overflow:hidden;background:linear-gradient(180deg,#eef5f7,#e6f0f3);border-bottom:1px solid rgba(42,106,134,.14)}
.bourse-flux{flex:1;min-width:0;height:52px;overflow:hidden}
.bourse-flux .tradingview-widget-container{width:100%!important;zoom:.86}
.bourse-src{flex:none;align-self:stretch;display:flex;align-items:center;padding:0 12px;font:500 10.5px/1.2 var(--texte,'Manrope',sans-serif);letter-spacing:.03em;color:#4f6b76;text-decoration:none;white-space:nowrap;border-left:1px solid rgba(42,106,134,.14)}
.bourse-src:hover{color:#14404e;text-decoration:underline}
.bourse-src span{opacity:.75}
@media (max-width:640px){.bourse-src span{display:none}.bourse-src{padding:0 9px}}
@media print{.bourse{display:none!important}}
/* Bandeau des marchés fondu dans le menu : même verre, aucune ligne de séparation */
.bourse{--givre:228,240,233;background:rgba(var(--givre),.42);-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%);border:0}
.givre-bleu .bourse{--givre:222,236,246}
.bourse-src{border-left:0}
.entete{box-shadow:0 6px 24px rgba(20,64,78,.05)}
/* Mobile : le menu reste en haut pendant le défilement (le bandeau des cours, lui, défile) ; le fil d'Ariane se cale dessous */
@media (max-width:1099px){
  .entete{position:sticky;top:0;z-index:40;background:rgb(var(--givre))}
  .bourse{background:rgb(var(--givre));-webkit-backdrop-filter:none;backdrop-filter:none}
  .fil-fixe{top:var(--entete-h);background:rgb(var(--givre))}
  html{scroll-padding-top:calc(var(--entete-h) + 62px)}
}

/* Mobile : rien ne doit élargir la page (sinon Android/iOS dézooment et décalent le menu et la barre du bas) */
html{overflow-x:hidden}
.bourse{contain:paint;max-width:100vw}
/* Mobile étroit (ou texte agrandi dans les réglages du téléphone) : le logo se réduit pour que la loupe et le menu restent visibles */
@media (max-width:480px){
  .entete-in{gap:8px}
  .logo{font-size:clamp(11px,calc((100vw - 140px) / 13.6),17px);min-width:0;flex:0 1 auto}
  .btn-recherche-mobile{flex:none;width:42px;height:42px;margin-right:4px}
  .burger{flex:none;padding:8px 9px}
}
@media (max-width:330px){.logo-slogan{display:none}}
/* Mobile : bandeau des cours 35 % plus petit */
@media (max-width:640px){.bourse,.bourse-flux{height:34px}.bourse-flux .tradingview-widget-container{zoom:.56}.bourse-src{font-size:9.5px}}

/* Bandeau des cours maison (26/10/2026) : remplace TradingView */
.bourse{--b-nom:#4f6b76;--b-val:#14404e;--b-hausse:#17794b;--b-baisse:#b3372b;--b-sep:rgba(42,106,134,.2)}
.bourse[data-theme="sombre"]{--b-nom:#a9c6cb;--b-val:#f2faf7;--b-hausse:#62d89f;--b-baisse:#ff8f80;--b-sep:rgba(201,226,228,.18)}
.bourse-flux{position:relative;display:flex;align-items:center;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;outline:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.bourse-flux.tire{cursor:grabbing}
.bourse-flux:focus-visible{outline:2px solid #48a07c;outline-offset:-3px}
.bourse-piste{display:flex;align-items:center;width:max-content;height:100%;will-change:transform;opacity:0;transition:opacity .6s ease}
.bourse-piste.pret{opacity:1}
.bourse-liste{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.bourse-liste li{position:relative;display:flex;align-items:baseline;gap:9px;padding:0 20px;white-space:nowrap;font-size:14px;font-weight:500;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}
.bourse-liste li::after{content:"";position:absolute;right:0;top:50%;width:1px;height:14px;margin-top:-7px;background:var(--b-sep)}
.b-nom{color:var(--b-nom)}
.b-val{color:var(--b-val);font-weight:700}
.b-var{font-weight:700}
.b-var i{font-style:normal;font-size:.72em;margin-right:4px;position:relative;top:-1px}
.b-var.hausse{color:var(--b-hausse)}.b-var.baisse{color:var(--b-baisse)}.b-var.stable{color:var(--b-nom)}
.bourse .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bourse-src{font-size:12.5px;cursor:help}
@media (max-width:640px){.bourse-liste li{font-size:13px;gap:6px;padding:0 13px}.bourse-src{font-size:11.5px}}

/* Blog (26/10/2026) : entrée de menu avec la date du dernier article, bandeau réseaux, liste des articles */
.nav-blog{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;line-height:1.15}
.nav-blog-date{display:block;font-size:12.5px;font-weight:500;letter-spacing:.02em;opacity:.78;white-space:nowrap}
@media (max-width:1099px){.nav-blog{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 12px}.nav-blog-date{font-size:14px}}
.pr-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.02em;line-height:1.2;color:#fff}
.pr-li{background:#0a66c2}
.pr-meta{background:#1c5fd6;background:linear-gradient(90deg,#1877f2,#c13584)}
.publie-reseaux{margin:40px 0 8px;padding:22px 24px;border:1px solid var(--filet);border-left:4px solid #0a66c2;border-radius:6px;background:var(--fond-note)}
.publie-reseaux p{margin:0 0 10px}
.pr-badges{display:flex;flex-wrap:wrap;gap:8px}
.pr-titre{font-family:var(--titre);font-weight:500;font-size:20px;line-height:1.3;color:var(--encre-forte)}
.pr-liens{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:14px 0 0!important}
.pr-suivre{color:var(--lien);font-weight:600}
.blog-liste{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:18px}
.blog-carte a{display:flex;flex-direction:column;gap:9px;padding:22px 24px;background:var(--carte);border:1px solid var(--filet);border-radius:6px;text-decoration:none;color:var(--encre);transition:border-color .2s,box-shadow .2s}
.blog-carte a:hover{border-color:var(--or-sombre,#9a7a2e);box-shadow:0 8px 24px rgba(6,26,32,.08)}
.blog-badges{display:flex;gap:8px;flex-wrap:wrap}
.blog-rub{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--vert-texte,#2f6b4f)}
.blog-tit{font-family:var(--titre);font-weight:500;font-size:clamp(21px,calc(18px + .5vw),25px);line-height:1.3;color:var(--encre-forte)}
.blog-desc{font-size:16.5px;line-height:1.55;color:var(--encre-douce)}
.blog-suite{font-weight:600;color:var(--lien)}
.nb-long{display:none}
.nav-lien,.nav-bouton{white-space:nowrap}
@media (max-width:1099px){.nb-long{display:inline}.nb-court{display:none}.nav-lien,.nav-bouton{white-space:normal}}
@media (min-width:1100px) and (max-width:1279px){.btn-recherche span{display:none}.btn-recherche{padding-left:12px;padding-right:12px}.nav-lien,.nav-bouton{padding-left:10px;padding-right:10px}}
/* 1100–1279 px : la barre de menu tient sur une ligne avec l'entrée Blog (bouton « Rendez-vous », recherche en icône) */
@media (min-width:1100px) and (max-width:1279px){.rdv-long{display:none}.btn-rdv{text-transform:none}.btn-rdv::first-letter{text-transform:uppercase}.entete .btn-rdv{padding-left:16px;padding-right:16px}}
@media (min-width:1100px) and (max-width:1439px){.btn-recherche span{display:none}.btn-recherche{padding-left:12px;padding-right:12px}.nav-lien,.nav-bouton{padding-left:9px;padding-right:9px}}
@media (min-width:1100px) and (max-width:1199px){.entete-in{gap:10px;padding-left:26px;padding-right:26px}.btn-recherche{flex:none;min-width:44px}}
.prose ul.blog-liste{padding-left:0}
.prose ul.blog-liste>li::before{display:none}
/* Mobile (26/10/2026) : moins de vide sur les côtés, le texte occupe toute la largeur utile */
@media (max-width:640px){
  :root{--marge:14px}
  .blog-carte a{padding:16px 16px 18px}
  .publie-reseaux{padding:16px 14px}
  .prose .en-bref,.prose .note,.prose .cta-milieu{padding-left:14px;padding-right:14px}
  .prose ul,.prose ol{padding-left:1.15em}
  .a-lire a{padding:16px}
}

/* Sources repliables (26/10/2026) : la date reste visible, la liste se déplie à la demande */
.prose .sources details.sources-pli{border:0;border-image:none;margin:.4em 0 0;padding:0}
.sources-pli>summary{display:inline-flex;align-items:center;gap:9px;cursor:pointer;list-style:none;font-size:var(--petit);font-weight:600;color:var(--vert-texte);padding:8px 0;min-height:40px;text-decoration:underline dotted;text-underline-offset:4px}
.sources-pli>summary::-webkit-details-marker{display:none}
.sources-pli>summary::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.sources-pli[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
.sources-pli>summary:focus-visible{outline:2px solid var(--vert-texte);outline-offset:3px;border-radius:4px}
@media print{.sources-pli>ol{display:block}}
