/* © 2026 MARLITHA — una caro (une seule chair). Tous droits réservés. Reproduction non autorisée. */
/* LE CSS COMMUN (chantier 186). Les règles écrites ici sont IDENTIQUES dans les 25 pages ; aucune ne change d'allure. Il se charge APRÈS polices/polices.css et AVANT le style de chaque page ; format-telephone.css passe après. */
*{box-sizing:border-box}
/* LES CINQ RAYONS, et seulement eux (Éric, 20/10/2026 ; chantier 203a). Posés ici, PAS ENCORE EMPLOYÉS : l'emploi est le chantier suivant.
   --r-pilule : boutons, étiquettes, pastilles, puces · --r-grand : bandes en dégradé, grands blocs des pages publiques · --r-carte : cartes (un soir, un thème,
   un bandeau, un encadré) · --r-champ : champs de saisie, cases de réponse, petits blocs · --r-dedans : ce qui est posé dans une carte déjà arrondie.
   border-radius:50% reste 50 % (pastilles rondes, visages).
   CHANTIER 223 (Éric : « on ne change RIEN au traditionnel ») : les cinq ne sont déclarées QUE pour le moderne. Le traditionnel reste carré :
   chaque emploi dans une page porte en repli le rayon qu'il avait avant elles (var(--r-champ,2px)…), posé par PowerShell\rayons-traditionnel.mjs
   depuis les sauvegardes 205__ du 20/10. Tout NOUVEL emploi hors moderne doit porter son repli : sans lui, le traditionnel tombe à 0. */
:root[data-forme="moderne"]{--r-pilule:999px;--r-grand:24px;--r-carte:18px;--r-champ:14px;--r-dedans:8px}
.uc{font-family:'Marcellus',serif;font-size:1.09em;letter-spacing:.055em;
  color:var(--nous);white-space:nowrap}
a{color:var(--nous)}
svg{display:block}
.menu.reduit .menu-marque{width:auto;opacity:1}
.menu-haut{display:flex;align-items:center;gap:9px}
.menu-liens a.fort:hover{border-bottom-color:var(--nous)}
.menu-bouton:hover{border-color:var(--nous)}
.menu-bouton span::before{top:-6px}
.menu-bouton span::after{top:6px}
.menu-bouton.ouvert{background:var(--nous);border-color:var(--nous)}
.menu-panneau{display:none}
.fil-ariane.visible{opacity:1;visibility:visible;transform:none}
.fil-int::-webkit-scrollbar{display:none}
.pied-marque{display:flex;flex-direction:column;align-items:center;gap:14px}
.pied-col{display:flex;flex-direction:column;gap:9px}
/* ---- Protection : rien ne peut élargir la page ---- */
html{overflow-x:clip}
.hero-action{text-align:center}
@media not all and (prefers-color-scheme: dark){
:root:not([data-theme="dark"]){
    --sec-trait:#8F681B;
    --sec-trait-doux:rgba(143,104,27,.72);
    --sec-ep:2px;
    --sec-texte:var(--encre);
    --sec-fond:var(--lin);
    --sec-ombre:0 3px 8px rgba(31,40,51,.16);
    --sec-ombre-survol:0 7px 22px rgba(168,123,35,.34);
    --sec-fond-survol:var(--lin);
  }
}
/* Le même jeu si le thème clair est imposé à la main alors que
   l'appareil est en sombre. Précaution : aucun sélecteur de thème
   n'existe aujourd'hui dans les pages. */
:root[data-theme="light"]{
  --sec-trait:#8F681B;
  --sec-trait-doux:rgba(143,104,27,.72);
  --sec-ep:2px;
  --sec-texte:var(--encre);
  --sec-fond:var(--lin);
  --sec-ombre:0 3px 8px rgba(31,40,51,.16);
  --sec-ombre-survol:0 7px 22px rgba(168,123,35,.34);
  --sec-fond-survol:var(--lin);
}
.appel-double.sur-sombre > a.outil-lien:hover{
  background:rgba(227,188,106,.12);
  color:#F7E7C2;
  border-color:#E3BC6A;
  box-shadow:none;
}
@media not all and (prefers-color-scheme: dark){
:root:not([data-theme="dark"]) .nsp:hover,
  :root:not([data-theme="dark"]) .retour-q:hover{
    color:var(--encre);
    text-decoration-color:var(--nous);
    text-decoration-thickness:2px;
  }
}
:root[data-theme="light"] .nsp:hover,
:root[data-theme="light"] .retour-q:hover{
  color:var(--encre);
  text-decoration-color:var(--nous);
  text-decoration-thickness:2px;
}
.uc-logo{display:block;max-width:100%;height:auto}
/* --- 1. LE THEME ---------------------------------------------------
   Les fichiers ont leurs couleurs en dur, et le clair ne differe pas du
   sombre par la seule teinte. On porte donc les deux et on en montre un.
   display:none, et non opacity : un <use> ainsi masque ne se rend pas
   du tout et sort de l'arbre d'accessibilite. */
.uc-s{display:none}
/* --- 2. LE PIED DE PAGE --------------------------------------------
   Son fond est sombre DANS LES DEUX THEMES : il lui faut toujours la
   version sombre. Apres le bloc 1, donc l'emporte. */
.pied-marque .uc-c{display:none}
.pied-marque .uc-s{display:inline}
/* --- 5. LE FILET DORE, SOUS 640 PX --------------------------------
   Pose en ::before, pour n'ajouter aucun bloc au HTML (section 10).
   Il ne sert qu'en mode marque : au-dessus de 640 px le lockup porte
   son propre lisere, et le bloc 6 masque le conteneur qui porte
   celui-ci.

   Le dessin ne remplit pas sa boite : il reste 27,7 % de vide dessous,
   soit 34,1 px a l'en-tete et 22,4 px au pied. Les marges negatives
   remontent le texte pour reproduire EXACTEMENT le placement du
   lockup - 0,274 du dessin au filet, 0,039 du filet au nom - soit
   20,1 et 2,9 px a l'en-tete, 13,2 et 1,9 px au pied.
   Largeur du filet : 1,45 fois le dessin, comme dans le lockup.

   ALIGNE SUR LE FICHIER le 21/09 a la demande d'Eric : "le logo doit
   avoir le meme aspect au-dessus et en dessous de 640 px". Les valeurs
   precedentes - 0,08 et 0,19, qui rapprochaient le filet du dessin -
   sont abandonnees : elles faisaient deux logos differents selon la
   largeur de la fenetre.

   Le margin-top compense le gap du conteneur flex. ATTENTION : ce bloc
   n'est visible QUE sous 640 px, ou le gap de .logo-bloc vaut 12 px et
   non 14 - au-dessus, le bloc 6 le masque au profit du lockup. La
   valeur est donc -(12 + 14,02) = -26 px, et non -28. Au pied, le gap
   vaut 14 px a toutes les largeurs : -(14 + 9,19) = -23,2 px.
   L'ecart nom -> signature n'est pas touche. */
.logo-bloc > div{margin-top:-26px}
.pied-marque .pied-nom{margin-top:-23.2px}
/* --- 6. LA BASCULE A 640 PX ---------------------------------------
   Au-dessus : le lockup, qui porte le nom et la baseline en dessin.
   En dessous : la marque, et le texte HTML reprend la main.
   Les largeurs etant les memes pour les deux formes, LE DESSIN NE
   CHANGE PAS DE TAILLE en franchissant ce palier. */
.uc-lockup{display:none}
.statut::after{display:none}
.borne{padding:18px 0 16px}
.borne::before{
  content:"";position:absolute;top:50%;left:50%;
  width:780px;height:780px;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(227,188,106,.16) 0%,transparent 62%);
}
/* La borne porte le SEUL NOM DE LA PAGE, comme un titre (Éric,
   23/09) : « Accueil › » en est retiré — le menu, juste au-dessus,
   dit déjà où l'on est. Le fil complet ne vit plus que dans la fine
   bande qui apparaît au défilement. Pas de :is(h1,h2):where(h1:not(.borne-titre),.titre-un) : chaque page garde le
   sien, son titre éditorial. */
.borne-titre{margin:0;text-align:center}
.borne-page{font-family:'Marcellus',serif;font-size:clamp(1.6rem,3.6vw,2.2rem);
  letter-spacing:.06em;color:#E3BC6A;line-height:1.15;text-indent:.06em;
  text-shadow:0 2px 16px rgba(14,19,26,.45)}
/* L'ORNEMENT DE LA BORNE — 23/09/2026 (Éric) : la croix à losanges de
   l'accueil (ancien « liseré » posé sous le bandeau, retiré de là : trop
   de symboles au même endroit) remplace le filet à épi. Même dessin — un
   filet, un losange à liseré, un losange plein, le calvaire, puis en
   miroir. Sur le bleu nuit, la croix, les liserés et les filets passent
   en or clair #E3BC6A ; les losanges pleins restent or foncé #A87B23. */
.borne-croix{display:flex;align-items:center;justify-content:center;margin:12px 0 0}
.bc-motif{flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:0 14px}
.bc-croix{flex:0 0 auto;display:block}
/* sans usage depuis le 05/10/2026 : les clés ont remplacé la croix de toutes les bornes */
.bc-cles{flex:0 0 auto;display:block;width:24px;height:22px}
@media (max-width:640.98px){
.bc-motif{gap:8px;padding:0 10px}
}
@media (max-width:820px){
.borne::before{display:none}
}
@media (max-width:640.98px){
.borne{padding:14px 0 12px}
.borne-orn{display:none}
.borne-page{font-size:1.4rem}
}
@media print{
.borne{display:none !important}
}
/* ===== fin du calque « En construction » ===== */

/* ==========================================================
   L'ESPACE SOUS LE MENU — 23/09/2026 (Éric : « il condamne une partie de
   la page pour rien »). BLOC IDENTIQUE sur les huit pages à menu.
   Cause : le fil d'Ariane, invisible tant qu'on n'a pas défilé
   (opacity 0, visibility hidden), occupe malgré tout sa place sous le
   menu — 46 px sur ordinateur, 42 sur téléphone. L'écart entre le filet
   doré de l'onglet actif et la bande « en construction » faisait ainsi
   environ 47 px ; il est ramené à la moitié, environ 24 px (22 sur
   téléphone), en retirant la moitié de cette place par une marge
   négative. Le fil garde sa taille et son comportement : visible, il
   passe par-dessus le contenu, comme avant.
   ========================================================== */
.fil-ariane{margin-bottom:-23px}
/* ===== fin du panneau fermé ===== *//* ==========================================================
   LE FILIGRANE DU SITE — 23/09/2026 (Éric)
   Une grande rosace ronde, dans l'esprit de celle du pied : alliances au
   centre, volutes, couronne de lobes, couronne de perles. AUCUNE ligne
   droite ni grille (la rosace du pied a des rayons : pas celle-ci).
   FIXE : posée sur un pseudo-élément en position fixe, derrière tout
   (z-index -1) — le contenu défile par-dessus. PAS de
   background-attachment:fixed, qui ne fonctionne pas sur iPhone.
   Elle ne se voit que là où la page laisse voir son fond : les sections
   et encarts à fond propre la recouvrent, c'est voulu.
   Très atténuée (7 % en clair, 6 % en sombre) ; son propre dessin pour le
   mode sombre ; jamais imprimée. BLOC IDENTIQUE SUR LES QUATORZE PAGES :
   chaque page est autonome (§ 9 bis), le corriger partout à la fois.
   Suppose que <body> ne crée pas de contexte d'empilement (ni position +
   z-index, ni transform) : sinon la rosace passerait sous son fond.
   ========================================================== */
body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100vh;height:100lvh;
  z-index:-1;pointer-events:none;opacity:.07;
  background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cg fill='none' stroke='rgb(168,123,35)' stroke-linecap='round'%3E%3Ccircle cx='300' cy='300' r='286' stroke-width='1.3'/%3E%3Ccircle cx='300' cy='300' r='270' stroke-width='.8'/%3E%3Ccircle cx='300' cy='300' r='124' stroke-width='1.1'/%3E%3Ccircle cx='300' cy='300' r='112' stroke-width='.7'/%3E%3Ccircle cx='480' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='480' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='120' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='120' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='541.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='541.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Cg transform='translate(172 172) scale(1.6)'%3E%3Ccircle cx='66' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='94' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='80' cy='80' r='46' stroke-width='.6'/%3E%3Ccircle cx='80' cy='80' r='60' stroke-width='.5'/%3E%3Cpath d='M80 12c-10 0-17 6-17 14 0 6 5 10 10 10 4 0 7-3 7-6 0-3-2-5-5-5' stroke-width='.8'/%3E%3Cpath d='M80 12c10 0 17 6 17 14 0 6-5 10-10 10-4 0-7-3-7-6 0-3 2-5 5-5' stroke-width='.8'/%3E%3Cpath d='M80 148c-10 0-17-6-17-14 0-6 5-10 10-10 4 0 7 3 7 6 0 3-2 5-5 5' stroke-width='.8'/%3E%3Cpath d='M80 148c10 0 17-6 17-14 0-6-5-10-10-10-4 0-7 3-7 6 0 3 2 5 5 5' stroke-width='.8'/%3E%3Cpath d='M12 80c0-10 6-17 14-17 6 0 10 5 10 10 0 4-3 7-6 7-3 0-5-2-5-5' stroke-width='.8'/%3E%3Cpath d='M12 80c0 10 6 17 14 17 6 0 10-5 10-10 0-4-3-7-6-7-3 0-5 2-5 5' stroke-width='.8'/%3E%3Cpath d='M148 80c0-10-6-17-14-17-6 0-10 5-10 10 0 4 3 7 6 7 3 0 5-2 5-5' stroke-width='.8'/%3E%3Cpath d='M148 80c0 10-6 17-14 17-6 0-10-5-10-10 0-4 3-7 6-7 3 0 5 2 5 5' stroke-width='.8'/%3E%3C/g%3E%3C/g%3E%3Cg fill='rgb(168,123,35)'%3E%3Ccircle cx='578' cy='300' r='2.2'/%3E%3Ccircle cx='573.8' cy='348.3' r='2.2'/%3E%3Ccircle cx='561.2' cy='395.1' r='2.2'/%3E%3Ccircle cx='540.8' cy='439' r='2.2'/%3E%3Ccircle cx='513' cy='478.7' r='2.2'/%3E%3Ccircle cx='478.7' cy='513' r='2.2'/%3E%3Ccircle cx='439' cy='540.8' r='2.2'/%3E%3Ccircle cx='395.1' cy='561.2' r='2.2'/%3E%3Ccircle cx='348.3' cy='573.8' r='2.2'/%3E%3Ccircle cx='300' cy='578' r='2.2'/%3E%3Ccircle cx='251.7' cy='573.8' r='2.2'/%3E%3Ccircle cx='204.9' cy='561.2' r='2.2'/%3E%3Ccircle cx='161' cy='540.8' r='2.2'/%3E%3Ccircle cx='121.3' cy='513' r='2.2'/%3E%3Ccircle cx='87' cy='478.7' r='2.2'/%3E%3Ccircle cx='59.2' cy='439' r='2.2'/%3E%3Ccircle cx='38.8' cy='395.1' r='2.2'/%3E%3Ccircle cx='26.2' cy='348.3' r='2.2'/%3E%3Ccircle cx='22' cy='300' r='2.2'/%3E%3Ccircle cx='26.2' cy='251.7' r='2.2'/%3E%3Ccircle cx='38.8' cy='204.9' r='2.2'/%3E%3Ccircle cx='59.2' cy='161' r='2.2'/%3E%3Ccircle cx='87' cy='121.3' r='2.2'/%3E%3Ccircle cx='121.3' cy='87' r='2.2'/%3E%3Ccircle cx='161' cy='59.2' r='2.2'/%3E%3Ccircle cx='204.9' cy='38.8' r='2.2'/%3E%3Ccircle cx='251.7' cy='26.2' r='2.2'/%3E%3Ccircle cx='300' cy='22' r='2.2'/%3E%3Ccircle cx='348.3' cy='26.2' r='2.2'/%3E%3Ccircle cx='395.1' cy='38.8' r='2.2'/%3E%3Ccircle cx='439' cy='59.2' r='2.2'/%3E%3Ccircle cx='478.7' cy='87' r='2.2'/%3E%3Ccircle cx='513' cy='121.3' r='2.2'/%3E%3Ccircle cx='540.8' cy='161' r='2.2'/%3E%3Ccircle cx='561.2' cy='204.9' r='2.2'/%3E%3Ccircle cx='573.8' cy='251.7' r='2.2'/%3E%3Ccircle cx='300' cy='300' r='3.2'/%3E%3C/g%3E%3C/svg%3E") center / min(820px, 94vmin) no-repeat}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) body::before{opacity:.06;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cg fill='none' stroke='rgb(227,188,106)' stroke-linecap='round'%3E%3Ccircle cx='300' cy='300' r='286' stroke-width='1.3'/%3E%3Ccircle cx='300' cy='300' r='270' stroke-width='.8'/%3E%3Ccircle cx='300' cy='300' r='124' stroke-width='1.1'/%3E%3Ccircle cx='300' cy='300' r='112' stroke-width='.7'/%3E%3Ccircle cx='480' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='480' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='120' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='120' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='541.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='541.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Cg transform='translate(172 172) scale(1.6)'%3E%3Ccircle cx='66' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='94' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='80' cy='80' r='46' stroke-width='.6'/%3E%3Ccircle cx='80' cy='80' r='60' stroke-width='.5'/%3E%3Cpath d='M80 12c-10 0-17 6-17 14 0 6 5 10 10 10 4 0 7-3 7-6 0-3-2-5-5-5' stroke-width='.8'/%3E%3Cpath d='M80 12c10 0 17 6 17 14 0 6-5 10-10 10-4 0-7-3-7-6 0-3 2-5 5-5' stroke-width='.8'/%3E%3Cpath d='M80 148c-10 0-17-6-17-14 0-6 5-10 10-10 4 0 7 3 7 6 0 3-2 5-5 5' stroke-width='.8'/%3E%3Cpath d='M80 148c10 0 17-6 17-14 0-6-5-10-10-10-4 0-7 3-7 6 0 3 2 5 5 5' stroke-width='.8'/%3E%3Cpath d='M12 80c0-10 6-17 14-17 6 0 10 5 10 10 0 4-3 7-6 7-3 0-5-2-5-5' stroke-width='.8'/%3E%3Cpath d='M12 80c0 10 6 17 14 17 6 0 10-5 10-10 0-4-3-7-6-7-3 0-5 2-5 5' stroke-width='.8'/%3E%3Cpath d='M148 80c0-10-6-17-14-17-6 0-10 5-10 10 0 4 3 7 6 7 3 0 5-2 5-5' stroke-width='.8'/%3E%3Cpath d='M148 80c0 10-6 17-14 17-6 0-10-5-10-10 0-4 3-7 6-7 3 0 5 2 5 5' stroke-width='.8'/%3E%3C/g%3E%3C/g%3E%3Cg fill='rgb(227,188,106)'%3E%3Ccircle cx='578' cy='300' r='2.2'/%3E%3Ccircle cx='573.8' cy='348.3' r='2.2'/%3E%3Ccircle cx='561.2' cy='395.1' r='2.2'/%3E%3Ccircle cx='540.8' cy='439' r='2.2'/%3E%3Ccircle cx='513' cy='478.7' r='2.2'/%3E%3Ccircle cx='478.7' cy='513' r='2.2'/%3E%3Ccircle cx='439' cy='540.8' r='2.2'/%3E%3Ccircle cx='395.1' cy='561.2' r='2.2'/%3E%3Ccircle cx='348.3' cy='573.8' r='2.2'/%3E%3Ccircle cx='300' cy='578' r='2.2'/%3E%3Ccircle cx='251.7' cy='573.8' r='2.2'/%3E%3Ccircle cx='204.9' cy='561.2' r='2.2'/%3E%3Ccircle cx='161' cy='540.8' r='2.2'/%3E%3Ccircle cx='121.3' cy='513' r='2.2'/%3E%3Ccircle cx='87' cy='478.7' r='2.2'/%3E%3Ccircle cx='59.2' cy='439' r='2.2'/%3E%3Ccircle cx='38.8' cy='395.1' r='2.2'/%3E%3Ccircle cx='26.2' cy='348.3' r='2.2'/%3E%3Ccircle cx='22' cy='300' r='2.2'/%3E%3Ccircle cx='26.2' cy='251.7' r='2.2'/%3E%3Ccircle cx='38.8' cy='204.9' r='2.2'/%3E%3Ccircle cx='59.2' cy='161' r='2.2'/%3E%3Ccircle cx='87' cy='121.3' r='2.2'/%3E%3Ccircle cx='121.3' cy='87' r='2.2'/%3E%3Ccircle cx='161' cy='59.2' r='2.2'/%3E%3Ccircle cx='204.9' cy='38.8' r='2.2'/%3E%3Ccircle cx='251.7' cy='26.2' r='2.2'/%3E%3Ccircle cx='300' cy='22' r='2.2'/%3E%3Ccircle cx='348.3' cy='26.2' r='2.2'/%3E%3Ccircle cx='395.1' cy='38.8' r='2.2'/%3E%3Ccircle cx='439' cy='59.2' r='2.2'/%3E%3Ccircle cx='478.7' cy='87' r='2.2'/%3E%3Ccircle cx='513' cy='121.3' r='2.2'/%3E%3Ccircle cx='540.8' cy='161' r='2.2'/%3E%3Ccircle cx='561.2' cy='204.9' r='2.2'/%3E%3Ccircle cx='573.8' cy='251.7' r='2.2'/%3E%3Ccircle cx='300' cy='300' r='3.2'/%3E%3C/g%3E%3C/svg%3E")}
}
:root[data-theme="dark"] body::before{opacity:.06;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cg fill='none' stroke='rgb(227,188,106)' stroke-linecap='round'%3E%3Ccircle cx='300' cy='300' r='286' stroke-width='1.3'/%3E%3Ccircle cx='300' cy='300' r='270' stroke-width='.8'/%3E%3Ccircle cx='300' cy='300' r='124' stroke-width='1.1'/%3E%3Ccircle cx='300' cy='300' r='112' stroke-width='.7'/%3E%3Ccircle cx='480' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='480' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='120' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='120' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='541.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='541.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Cg transform='translate(172 172) scale(1.6)'%3E%3Ccircle cx='66' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='94' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='80' cy='80' r='46' stroke-width='.6'/%3E%3Ccircle cx='80' cy='80' r='60' stroke-width='.5'/%3E%3Cpath d='M80 12c-10 0-17 6-17 14 0 6 5 10 10 10 4 0 7-3 7-6 0-3-2-5-5-5' stroke-width='.8'/%3E%3Cpath d='M80 12c10 0 17 6 17 14 0 6-5 10-10 10-4 0-7-3-7-6 0-3 2-5 5-5' stroke-width='.8'/%3E%3Cpath d='M80 148c-10 0-17-6-17-14 0-6 5-10 10-10 4 0 7 3 7 6 0 3-2 5-5 5' stroke-width='.8'/%3E%3Cpath d='M80 148c10 0 17-6 17-14 0-6-5-10-10-10-4 0-7 3-7 6 0 3 2 5 5 5' stroke-width='.8'/%3E%3Cpath d='M12 80c0-10 6-17 14-17 6 0 10 5 10 10 0 4-3 7-6 7-3 0-5-2-5-5' stroke-width='.8'/%3E%3Cpath d='M12 80c0 10 6 17 14 17 6 0 10-5 10-10 0-4-3-7-6-7-3 0-5 2-5 5' stroke-width='.8'/%3E%3Cpath d='M148 80c0-10-6-17-14-17-6 0-10 5-10 10 0 4 3 7 6 7 3 0 5-2 5-5' stroke-width='.8'/%3E%3Cpath d='M148 80c0 10-6 17-14 17-6 0-10-5-10-10 0-4 3-7 6-7 3 0 5 2 5 5' stroke-width='.8'/%3E%3C/g%3E%3C/g%3E%3Cg fill='rgb(227,188,106)'%3E%3Ccircle cx='578' cy='300' r='2.2'/%3E%3Ccircle cx='573.8' cy='348.3' r='2.2'/%3E%3Ccircle cx='561.2' cy='395.1' r='2.2'/%3E%3Ccircle cx='540.8' cy='439' r='2.2'/%3E%3Ccircle cx='513' cy='478.7' r='2.2'/%3E%3Ccircle cx='478.7' cy='513' r='2.2'/%3E%3Ccircle cx='439' cy='540.8' r='2.2'/%3E%3Ccircle cx='395.1' cy='561.2' r='2.2'/%3E%3Ccircle cx='348.3' cy='573.8' r='2.2'/%3E%3Ccircle cx='300' cy='578' r='2.2'/%3E%3Ccircle cx='251.7' cy='573.8' r='2.2'/%3E%3Ccircle cx='204.9' cy='561.2' r='2.2'/%3E%3Ccircle cx='161' cy='540.8' r='2.2'/%3E%3Ccircle cx='121.3' cy='513' r='2.2'/%3E%3Ccircle cx='87' cy='478.7' r='2.2'/%3E%3Ccircle cx='59.2' cy='439' r='2.2'/%3E%3Ccircle cx='38.8' cy='395.1' r='2.2'/%3E%3Ccircle cx='26.2' cy='348.3' r='2.2'/%3E%3Ccircle cx='22' cy='300' r='2.2'/%3E%3Ccircle cx='26.2' cy='251.7' r='2.2'/%3E%3Ccircle cx='38.8' cy='204.9' r='2.2'/%3E%3Ccircle cx='59.2' cy='161' r='2.2'/%3E%3Ccircle cx='87' cy='121.3' r='2.2'/%3E%3Ccircle cx='121.3' cy='87' r='2.2'/%3E%3Ccircle cx='161' cy='59.2' r='2.2'/%3E%3Ccircle cx='204.9' cy='38.8' r='2.2'/%3E%3Ccircle cx='251.7' cy='26.2' r='2.2'/%3E%3Ccircle cx='300' cy='22' r='2.2'/%3E%3Ccircle cx='348.3' cy='26.2' r='2.2'/%3E%3Ccircle cx='395.1' cy='38.8' r='2.2'/%3E%3Ccircle cx='439' cy='59.2' r='2.2'/%3E%3Ccircle cx='478.7' cy='87' r='2.2'/%3E%3Ccircle cx='513' cy='121.3' r='2.2'/%3E%3Ccircle cx='540.8' cy='161' r='2.2'/%3E%3Ccircle cx='561.2' cy='204.9' r='2.2'/%3E%3Ccircle cx='573.8' cy='251.7' r='2.2'/%3E%3Ccircle cx='300' cy='300' r='3.2'/%3E%3C/g%3E%3C/svg%3E")}
@media print{
body::before{display:none !important}
}
/* LE FILIGRANE MARQUÉ — 24/09/2026 (Éric), REPRIS le même jour : « un vrai
   arrière-plan, un grand motif qui occupe toute la page, qu'on VOIT ».
   Réglage RÉUTILISABLE : poser class="filigrane-marque" sur <body>.
   Même dessin que ci-dessus (rosace aux cercles entrelacés, alliances,
   perles, sans ligne droite), mais en COMPOSITION qui couvre tout l'écran :
   une très grande rosace centrée (135 vmax, elle déborde de tous côtés) et
   deux rosaces entamées dans les angles opposés (80 vmax), dont les cercles
   croisent ceux du centre. Toujours FIXE : élément fixe, et non
   background-attachment:fixed, qui casse sur iPhone.
   Une opacité PAR MODE, deux variables : --filigrane-clair,
   --filigrane-sombre. Départ franc (Éric : « on redescendra »).
   Le motif est porté par deux variables (--filigrane-motif), pour ne pas
   recopier trois fois le dessin. Les pages sans la classe gardent le
   filigrane d'origine (une rosace, 7 % / 6 %). */
:root{--filigrane-clair:.24;--filigrane-sombre:.16;
  --filigrane-motif:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cg fill='none' stroke='rgb(168,123,35)' stroke-linecap='round'%3E%3Ccircle cx='300' cy='300' r='286' stroke-width='1.3'/%3E%3Ccircle cx='300' cy='300' r='270' stroke-width='.8'/%3E%3Ccircle cx='300' cy='300' r='124' stroke-width='1.1'/%3E%3Ccircle cx='300' cy='300' r='112' stroke-width='.7'/%3E%3Ccircle cx='480' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='480' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='120' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='120' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='541.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='541.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Cg transform='translate(172 172) scale(1.6)'%3E%3Ccircle cx='66' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='94' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='80' cy='80' r='46' stroke-width='.6'/%3E%3Ccircle cx='80' cy='80' r='60' stroke-width='.5'/%3E%3Cpath d='M80 12c-10 0-17 6-17 14 0 6 5 10 10 10 4 0 7-3 7-6 0-3-2-5-5-5' stroke-width='.8'/%3E%3Cpath d='M80 12c10 0 17 6 17 14 0 6-5 10-10 10-4 0-7-3-7-6 0-3 2-5 5-5' stroke-width='.8'/%3E%3Cpath d='M80 148c-10 0-17-6-17-14 0-6 5-10 10-10 4 0 7 3 7 6 0 3-2 5-5 5' stroke-width='.8'/%3E%3Cpath d='M80 148c10 0 17-6 17-14 0-6-5-10-10-10-4 0-7 3-7 6 0 3 2 5 5 5' stroke-width='.8'/%3E%3Cpath d='M12 80c0-10 6-17 14-17 6 0 10 5 10 10 0 4-3 7-6 7-3 0-5-2-5-5' stroke-width='.8'/%3E%3Cpath d='M12 80c0 10 6 17 14 17 6 0 10-5 10-10 0-4-3-7-6-7-3 0-5 2-5 5' stroke-width='.8'/%3E%3Cpath d='M148 80c0-10-6-17-14-17-6 0-10 5-10 10 0 4 3 7 6 7 3 0 5-2 5-5' stroke-width='.8'/%3E%3Cpath d='M148 80c0 10-6 17-14 17-6 0-10-5-10-10 0-4 3-7 6-7 3 0 5 2 5 5' stroke-width='.8'/%3E%3C/g%3E%3C/g%3E%3Cg fill='rgb(168,123,35)'%3E%3Ccircle cx='578' cy='300' r='2.2'/%3E%3Ccircle cx='573.8' cy='348.3' r='2.2'/%3E%3Ccircle cx='561.2' cy='395.1' r='2.2'/%3E%3Ccircle cx='540.8' cy='439' r='2.2'/%3E%3Ccircle cx='513' cy='478.7' r='2.2'/%3E%3Ccircle cx='478.7' cy='513' r='2.2'/%3E%3Ccircle cx='439' cy='540.8' r='2.2'/%3E%3Ccircle cx='395.1' cy='561.2' r='2.2'/%3E%3Ccircle cx='348.3' cy='573.8' r='2.2'/%3E%3Ccircle cx='300' cy='578' r='2.2'/%3E%3Ccircle cx='251.7' cy='573.8' r='2.2'/%3E%3Ccircle cx='204.9' cy='561.2' r='2.2'/%3E%3Ccircle cx='161' cy='540.8' r='2.2'/%3E%3Ccircle cx='121.3' cy='513' r='2.2'/%3E%3Ccircle cx='87' cy='478.7' r='2.2'/%3E%3Ccircle cx='59.2' cy='439' r='2.2'/%3E%3Ccircle cx='38.8' cy='395.1' r='2.2'/%3E%3Ccircle cx='26.2' cy='348.3' r='2.2'/%3E%3Ccircle cx='22' cy='300' r='2.2'/%3E%3Ccircle cx='26.2' cy='251.7' r='2.2'/%3E%3Ccircle cx='38.8' cy='204.9' r='2.2'/%3E%3Ccircle cx='59.2' cy='161' r='2.2'/%3E%3Ccircle cx='87' cy='121.3' r='2.2'/%3E%3Ccircle cx='121.3' cy='87' r='2.2'/%3E%3Ccircle cx='161' cy='59.2' r='2.2'/%3E%3Ccircle cx='204.9' cy='38.8' r='2.2'/%3E%3Ccircle cx='251.7' cy='26.2' r='2.2'/%3E%3Ccircle cx='300' cy='22' r='2.2'/%3E%3Ccircle cx='348.3' cy='26.2' r='2.2'/%3E%3Ccircle cx='395.1' cy='38.8' r='2.2'/%3E%3Ccircle cx='439' cy='59.2' r='2.2'/%3E%3Ccircle cx='478.7' cy='87' r='2.2'/%3E%3Ccircle cx='513' cy='121.3' r='2.2'/%3E%3Ccircle cx='540.8' cy='161' r='2.2'/%3E%3Ccircle cx='561.2' cy='204.9' r='2.2'/%3E%3Ccircle cx='573.8' cy='251.7' r='2.2'/%3E%3Ccircle cx='300' cy='300' r='3.2'/%3E%3C/g%3E%3C/svg%3E")}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]){--filigrane-motif:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cg fill='none' stroke='rgb(227,188,106)' stroke-linecap='round'%3E%3Ccircle cx='300' cy='300' r='286' stroke-width='1.3'/%3E%3Ccircle cx='300' cy='300' r='270' stroke-width='.8'/%3E%3Ccircle cx='300' cy='300' r='124' stroke-width='1.1'/%3E%3Ccircle cx='300' cy='300' r='112' stroke-width='.7'/%3E%3Ccircle cx='480' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='480' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='120' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='120' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='541.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='541.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Cg transform='translate(172 172) scale(1.6)'%3E%3Ccircle cx='66' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='94' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='80' cy='80' r='46' stroke-width='.6'/%3E%3Ccircle cx='80' cy='80' r='60' stroke-width='.5'/%3E%3Cpath d='M80 12c-10 0-17 6-17 14 0 6 5 10 10 10 4 0 7-3 7-6 0-3-2-5-5-5' stroke-width='.8'/%3E%3Cpath d='M80 12c10 0 17 6 17 14 0 6-5 10-10 10-4 0-7-3-7-6 0-3 2-5 5-5' stroke-width='.8'/%3E%3Cpath d='M80 148c-10 0-17-6-17-14 0-6 5-10 10-10 4 0 7 3 7 6 0 3-2 5-5 5' stroke-width='.8'/%3E%3Cpath d='M80 148c10 0 17-6 17-14 0-6-5-10-10-10-4 0-7 3-7 6 0 3 2 5 5 5' stroke-width='.8'/%3E%3Cpath d='M12 80c0-10 6-17 14-17 6 0 10 5 10 10 0 4-3 7-6 7-3 0-5-2-5-5' stroke-width='.8'/%3E%3Cpath d='M12 80c0 10 6 17 14 17 6 0 10-5 10-10 0-4-3-7-6-7-3 0-5 2-5 5' stroke-width='.8'/%3E%3Cpath d='M148 80c0-10-6-17-14-17-6 0-10 5-10 10 0 4 3 7 6 7 3 0 5-2 5-5' stroke-width='.8'/%3E%3Cpath d='M148 80c0 10-6 17-14 17-6 0-10-5-10-10 0-4 3-7 6-7 3 0 5 2 5 5' stroke-width='.8'/%3E%3C/g%3E%3C/g%3E%3Cg fill='rgb(227,188,106)'%3E%3Ccircle cx='578' cy='300' r='2.2'/%3E%3Ccircle cx='573.8' cy='348.3' r='2.2'/%3E%3Ccircle cx='561.2' cy='395.1' r='2.2'/%3E%3Ccircle cx='540.8' cy='439' r='2.2'/%3E%3Ccircle cx='513' cy='478.7' r='2.2'/%3E%3Ccircle cx='478.7' cy='513' r='2.2'/%3E%3Ccircle cx='439' cy='540.8' r='2.2'/%3E%3Ccircle cx='395.1' cy='561.2' r='2.2'/%3E%3Ccircle cx='348.3' cy='573.8' r='2.2'/%3E%3Ccircle cx='300' cy='578' r='2.2'/%3E%3Ccircle cx='251.7' cy='573.8' r='2.2'/%3E%3Ccircle cx='204.9' cy='561.2' r='2.2'/%3E%3Ccircle cx='161' cy='540.8' r='2.2'/%3E%3Ccircle cx='121.3' cy='513' r='2.2'/%3E%3Ccircle cx='87' cy='478.7' r='2.2'/%3E%3Ccircle cx='59.2' cy='439' r='2.2'/%3E%3Ccircle cx='38.8' cy='395.1' r='2.2'/%3E%3Ccircle cx='26.2' cy='348.3' r='2.2'/%3E%3Ccircle cx='22' cy='300' r='2.2'/%3E%3Ccircle cx='26.2' cy='251.7' r='2.2'/%3E%3Ccircle cx='38.8' cy='204.9' r='2.2'/%3E%3Ccircle cx='59.2' cy='161' r='2.2'/%3E%3Ccircle cx='87' cy='121.3' r='2.2'/%3E%3Ccircle cx='121.3' cy='87' r='2.2'/%3E%3Ccircle cx='161' cy='59.2' r='2.2'/%3E%3Ccircle cx='204.9' cy='38.8' r='2.2'/%3E%3Ccircle cx='251.7' cy='26.2' r='2.2'/%3E%3Ccircle cx='300' cy='22' r='2.2'/%3E%3Ccircle cx='348.3' cy='26.2' r='2.2'/%3E%3Ccircle cx='395.1' cy='38.8' r='2.2'/%3E%3Ccircle cx='439' cy='59.2' r='2.2'/%3E%3Ccircle cx='478.7' cy='87' r='2.2'/%3E%3Ccircle cx='513' cy='121.3' r='2.2'/%3E%3Ccircle cx='540.8' cy='161' r='2.2'/%3E%3Ccircle cx='561.2' cy='204.9' r='2.2'/%3E%3Ccircle cx='573.8' cy='251.7' r='2.2'/%3E%3Ccircle cx='300' cy='300' r='3.2'/%3E%3C/g%3E%3C/svg%3E")}
}
:root[data-theme="dark"]{--filigrane-motif:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cg fill='none' stroke='rgb(227,188,106)' stroke-linecap='round'%3E%3Ccircle cx='300' cy='300' r='286' stroke-width='1.3'/%3E%3Ccircle cx='300' cy='300' r='270' stroke-width='.8'/%3E%3Ccircle cx='300' cy='300' r='124' stroke-width='1.1'/%3E%3Ccircle cx='300' cy='300' r='112' stroke-width='.7'/%3E%3Ccircle cx='480' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='480' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='455.9' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='390' r='54' stroke-width='1'/%3E%3Ccircle cx='120' cy='300' r='54' stroke-width='1'/%3E%3Ccircle cx='144.1' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='210' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='300' cy='120' r='54' stroke-width='1'/%3E%3Ccircle cx='390' cy='144.1' r='54' stroke-width='1'/%3E%3Ccircle cx='455.9' cy='210' r='54' stroke-width='1'/%3E%3Ccircle cx='541.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='541.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='476.8' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='364.7' r='17' stroke-width='.8'/%3E%3Ccircle cx='58.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Ccircle cx='123.2' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='235.3' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='364.7' cy='58.5' r='17' stroke-width='.8'/%3E%3Ccircle cx='476.8' cy='123.2' r='17' stroke-width='.8'/%3E%3Ccircle cx='541.5' cy='235.3' r='17' stroke-width='.8'/%3E%3Cg transform='translate(172 172) scale(1.6)'%3E%3Ccircle cx='66' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='94' cy='80' r='26' stroke-width='1.2'/%3E%3Ccircle cx='80' cy='80' r='46' stroke-width='.6'/%3E%3Ccircle cx='80' cy='80' r='60' stroke-width='.5'/%3E%3Cpath d='M80 12c-10 0-17 6-17 14 0 6 5 10 10 10 4 0 7-3 7-6 0-3-2-5-5-5' stroke-width='.8'/%3E%3Cpath d='M80 12c10 0 17 6 17 14 0 6-5 10-10 10-4 0-7-3-7-6 0-3 2-5 5-5' stroke-width='.8'/%3E%3Cpath d='M80 148c-10 0-17-6-17-14 0-6 5-10 10-10 4 0 7 3 7 6 0 3-2 5-5 5' stroke-width='.8'/%3E%3Cpath d='M80 148c10 0 17-6 17-14 0-6-5-10-10-10-4 0-7 3-7 6 0 3 2 5 5 5' stroke-width='.8'/%3E%3Cpath d='M12 80c0-10 6-17 14-17 6 0 10 5 10 10 0 4-3 7-6 7-3 0-5-2-5-5' stroke-width='.8'/%3E%3Cpath d='M12 80c0 10 6 17 14 17 6 0 10-5 10-10 0-4-3-7-6-7-3 0-5 2-5 5' stroke-width='.8'/%3E%3Cpath d='M148 80c0-10-6-17-14-17-6 0-10 5-10 10 0 4 3 7 6 7 3 0 5-2 5-5' stroke-width='.8'/%3E%3Cpath d='M148 80c0 10-6 17-14 17-6 0-10-5-10-10 0-4 3-7 6-7 3 0 5 2 5 5' stroke-width='.8'/%3E%3C/g%3E%3C/g%3E%3Cg fill='rgb(227,188,106)'%3E%3Ccircle cx='578' cy='300' r='2.2'/%3E%3Ccircle cx='573.8' cy='348.3' r='2.2'/%3E%3Ccircle cx='561.2' cy='395.1' r='2.2'/%3E%3Ccircle cx='540.8' cy='439' r='2.2'/%3E%3Ccircle cx='513' cy='478.7' r='2.2'/%3E%3Ccircle cx='478.7' cy='513' r='2.2'/%3E%3Ccircle cx='439' cy='540.8' r='2.2'/%3E%3Ccircle cx='395.1' cy='561.2' r='2.2'/%3E%3Ccircle cx='348.3' cy='573.8' r='2.2'/%3E%3Ccircle cx='300' cy='578' r='2.2'/%3E%3Ccircle cx='251.7' cy='573.8' r='2.2'/%3E%3Ccircle cx='204.9' cy='561.2' r='2.2'/%3E%3Ccircle cx='161' cy='540.8' r='2.2'/%3E%3Ccircle cx='121.3' cy='513' r='2.2'/%3E%3Ccircle cx='87' cy='478.7' r='2.2'/%3E%3Ccircle cx='59.2' cy='439' r='2.2'/%3E%3Ccircle cx='38.8' cy='395.1' r='2.2'/%3E%3Ccircle cx='26.2' cy='348.3' r='2.2'/%3E%3Ccircle cx='22' cy='300' r='2.2'/%3E%3Ccircle cx='26.2' cy='251.7' r='2.2'/%3E%3Ccircle cx='38.8' cy='204.9' r='2.2'/%3E%3Ccircle cx='59.2' cy='161' r='2.2'/%3E%3Ccircle cx='87' cy='121.3' r='2.2'/%3E%3Ccircle cx='121.3' cy='87' r='2.2'/%3E%3Ccircle cx='161' cy='59.2' r='2.2'/%3E%3Ccircle cx='204.9' cy='38.8' r='2.2'/%3E%3Ccircle cx='251.7' cy='26.2' r='2.2'/%3E%3Ccircle cx='300' cy='22' r='2.2'/%3E%3Ccircle cx='348.3' cy='26.2' r='2.2'/%3E%3Ccircle cx='395.1' cy='38.8' r='2.2'/%3E%3Ccircle cx='439' cy='59.2' r='2.2'/%3E%3Ccircle cx='478.7' cy='87' r='2.2'/%3E%3Ccircle cx='513' cy='121.3' r='2.2'/%3E%3Ccircle cx='540.8' cy='161' r='2.2'/%3E%3Ccircle cx='561.2' cy='204.9' r='2.2'/%3E%3Ccircle cx='573.8' cy='251.7' r='2.2'/%3E%3Ccircle cx='300' cy='300' r='3.2'/%3E%3C/g%3E%3C/svg%3E")}
body.filigrane-marque::before{opacity:var(--filigrane-clair);
  background-image:var(--filigrane-motif),var(--filigrane-motif),var(--filigrane-motif) !important;
  background-size:135vmax 135vmax,80vmax 80vmax,80vmax 80vmax !important;
  background-position:50% 50%,left -34vmax top -34vmax,right -34vmax bottom -34vmax !important;
  background-repeat:no-repeat !important}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) body.filigrane-marque::before{opacity:var(--filigrane-sombre)}
}
:root[data-theme="dark"] body.filigrane-marque::before{opacity:var(--filigrane-sombre)}
/* LE FONDU CENTRAL — 24/09/2026 (Éric) : le motif fatiguait l'œil derrière
   le texte. Masque en dégradé HORIZONTAL : plein dans les quarts gauche et
   droit, il s'efface en fondu doux vers le centre, jusqu'à l'imperceptible
   (6 % de son opacité, soit ~1,5 % à l'écran). Paliers intermédiaires pour
   une courbe douce, sans bande ni bord net. Opacités par mode inchangées.
   Sur tablette et téléphone, le texte occupe presque toute la largeur : la
   zone pâle s'élargit pour le couvrir, et le motif ne reste que dans les
   marges. Sous 600 px, le résiduel central est de 20 % et non de 6 %
   (essai validé par Éric sur l'accueil, 24/09) : le fond garde un peu
   d'habillage sur téléphone. */
body.filigrane-marque::before{
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 25%,rgba(0,0,0,.72) 30%,rgba(0,0,0,.38) 36%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.06) 48%,rgba(0,0,0,.06) 52%,rgba(0,0,0,.16) 58%,rgba(0,0,0,.38) 64%,rgba(0,0,0,.72) 70%,#000 75%,#000 100%);
          mask-image:linear-gradient(90deg,#000 0%,#000 25%,rgba(0,0,0,.72) 30%,rgba(0,0,0,.38) 36%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.06) 48%,rgba(0,0,0,.06) 52%,rgba(0,0,0,.16) 58%,rgba(0,0,0,.38) 64%,rgba(0,0,0,.72) 70%,#000 75%,#000 100%)}
@media (max-width:960.98px){
body.filigrane-marque::before{
  -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.45) 4%,rgba(0,0,0,.14) 8%,rgba(0,0,0,.06) 12%,rgba(0,0,0,.06) 88%,rgba(0,0,0,.14) 92%,rgba(0,0,0,.45) 96%,#000 100%);
          mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.45) 4%,rgba(0,0,0,.14) 8%,rgba(0,0,0,.06) 12%,rgba(0,0,0,.06) 88%,rgba(0,0,0,.14) 92%,rgba(0,0,0,.45) 96%,#000 100%)}
}
@media (max-width:600.98px){
body.filigrane-marque::before{
  -webkit-mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.45) 10px,rgba(0,0,0,.2) 20px,rgba(0,0,0,.2) calc(100% - 20px),rgba(0,0,0,.45) calc(100% - 10px),#000 100%);
          mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.45) 10px,rgba(0,0,0,.2) 20px,rgba(0,0,0,.2) calc(100% - 20px),rgba(0,0,0,.45) calc(100% - 10px),#000 100%)}
}
/* LES BORDS ACCENTUÉS — 26/09/2026 (Éric). Rosace et fondu central rendus
   tels qu'ils étaient (ci-dessus) ; une seconde couche, IDENTIQUE au
   filigrane marqué (même motif, même taille, même place, fixe elle aussi),
   renforce les seules marges latérales. Elle n'existe qu'AU-DELÀ de 580 px
   du centre de l'écran : le contenu est borné à 1 120 px (560 de chaque
   côté), donc elle ne passe jamais sous le texte. Pleine à 680 px du
   centre. Nulle sous 1 160 px de large (tablette, téléphone) : sans
   marge, pas de renfort. Le centre ne change pas.
   Niveau 1, RETENU par Éric le 26/09 : .12 en clair, .08 en sombre. Pour
   changer de niveau, ces deux variables seulement. BLOC IDENTIQUE SUR LES SEIZE PAGES ; sans effet
   hors de la classe filigrane-marque. Jamais imprimé. */
:root{--filigrane-bord-clair:.12;--filigrane-bord-sombre:.08}
body.filigrane-marque::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--filigrane-motif),var(--filigrane-motif),var(--filigrane-motif);
  background-size:135vmax 135vmax,80vmax 80vmax,80vmax 80vmax;
  background-position:50% 50%,left -34vmax top -34vmax,right -34vmax bottom -34vmax;
  background-repeat:no-repeat;opacity:var(--filigrane-bord-clair);
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(50% - 680px),transparent calc(50% - 580px),transparent calc(50% + 580px),#000 calc(50% + 680px),#000 100%);
          mask-image:linear-gradient(90deg,#000 0,#000 calc(50% - 680px),transparent calc(50% - 580px),transparent calc(50% + 580px),#000 calc(50% + 680px),#000 100%)}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) body.filigrane-marque::after{opacity:var(--filigrane-bord-sombre)}
}
:root[data-theme="dark"] body.filigrane-marque::after{opacity:var(--filigrane-bord-sombre)}
@media (max-width:1160px){
body.filigrane-marque::after{display:none}
}
@media print{
body::after{display:none !important}
}
/* L'EN-TÊTE RESTE TRANSPARENT sous le filigrane marqué (Éric, 24/09) : le
   motif habille le haut de page. Les 18 px entre logo et menu sont un
   rembourrage de l'en-tête et non une marge du menu (une marge est
   transparente même quand on veut un fond) : même position du menu au
   pixel, même hauteur de page. Le menu n'est transparent QUE tant qu'il
   est à sa place : dès qu'il se colle (classe « reduit », posée 10 px
   avant), il reprend son fond, sans quoi le texte défilerait sous ses
   libellés. */
body.filigrane-marque > header{padding-bottom:18px}
body.filigrane-marque #menu{margin-top:0}
body.filigrane-marque #menu:not(.reduit){background-color:transparent}
/* ===== fin de « Mon compte » ===== */
/* ==========================================================
   LES PETITS TEXTES DORÉS — 24/09/2026 (Éric)
   Décision de charte : en mode clair, l'or du site (#A87B23) ne fait que
   3,80 sur blanc, et moins sous un trait du filigrane — sous le seuil de
   4,5 pour un petit texte. Les PETITS textes dorés prennent l'or foncé
   #7E5C18 (--or-petit), déjà employé pour les petits textes dorés :
   surtitres de section (.chapeau) et « una caro » dans le texte courant
   (.uc). Les GRANDS textes dorés gardaient d'abord l'or clair (tous foncés ensuite, voir plus bas) : le
   nom du logo et le titre « una caro » du cadre d'accueil sont rétablis
   ci-dessous ; titres à filets et « Un code, pas une facture » ne sont
   pas concernés (sélecteurs non touchés). MODE SOMBRE INCHANGÉ :
   --or-petit y vaut --nous.
   Seule exception en sombre : la signature « Comment va notre couple ? »
   sous le logo (téléphone), grise #73716E dans les deux modes, faisait
   3,60 sur le bleu nuit ; elle passe à #908D8A en sombre seulement (même
   gris, éclairci d'un quart : 5,30 ; 5,02 sous un trait). Mode clair
   inchangé. Règles de faible spécificité, en fin de feuille : tout
   emploi déjà réglé plus précisément ailleurs garde sa couleur.
   BLOC IDENTIQUE sur les dix pages de présentation.
   ========================================================== */
:root{--or-petit:#7E5C18}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]){--or-petit:var(--nous)}
}
:root[data-theme="dark"]{--or-petit:var(--nous)}
.uc{color:var(--or-petit)}
@media print{
:root, :root:not([data-theme="light"]), :root[data-theme="dark"]{--or-petit:#7E5C18}
}
.menu-deroul-bouton{display:inline-flex;align-items:center;gap:6px;padding:15px 13px;
  font:inherit;font-size:14px;letter-spacing:.02em;font-weight:500;color:var(--encre-doux);
  background:none;border:0;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;
  transition:color .15s,border-color .15s}
.menu-deroul-bouton::after{content:"";width:6px;height:6px;margin-top:-3px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.menu-deroul:hover .menu-deroul-bouton,.menu-deroul.ouvert .menu-deroul-bouton{color:var(--encre);border-bottom-color:var(--trait-fort)}
.menu-deroul.ouvert .menu-deroul-bouton::after{transform:rotate(-135deg);margin-top:3px}
.menu-deroul-bouton.ici{color:var(--encre);border-bottom-color:var(--nous)}
.menu-deroul-bouton:focus-visible{outline:2px solid var(--nous);outline-offset:-2px}
.menu-deroul:hover .menu-sous,.menu-deroul.ouvert .menu-sous{display:block}
@media (min-width:961px) and (max-width:1180px){
.menu-deroul-bouton{padding:15px 9px;font-size:14px}
}
/* Le panneau du téléphone */
.panneau-deroul{display:none}
@media (max-width:960.98px){
.panneau-deroul{display:flex;align-items:center;justify-content:space-between;width:100%;
    padding:15px 24px;font:inherit;font-size:16.5px;color:var(--encre);background:none;border:0;
    border-bottom:1px solid var(--trait);cursor:pointer;text-align:left}
.panneau-deroul::after{content:"";width:8px;height:8px;margin-right:4px;border-right:1.5px solid var(--nous);
    border-bottom:1.5px solid var(--nous);transform:rotate(45deg);transition:transform .2s}
.panneau-deroul[aria-expanded="true"]::after{transform:rotate(-135deg)}
.panneau-deroul.ici{font-weight:700}
.panneau-sous{display:none;background:var(--lin)}
.panneau-sous.ouvert{display:block}
}
@media print{
.menu-sous,.panneau-sous{display:none !important}
}
@media screen{
:root{--bouton-air:24px}
/* A. Les rangées de boutons, dans le flux. */
main :is(.bouton-centre,.trio-boutons,.appel-double,.pa-effacer,.pa-export-barre,
    .pa-enr-barre,.part-action,p:has(> .pa-bouton-lien)){
    margin-top:var(--bouton-air) !important;margin-bottom:var(--bouton-air) !important}
/* La colonne « Ouverture prochaine » de Trouver de l'aide : l'air est son espacement. */
main .aide-essai{row-gap:var(--bouton-air)}
/* C. Les cartes d'offres : la ligne au-dessus du bouton prend l'air. */
main .offre .of-bientot{margin-bottom:var(--bouton-air)}
/* D. LES LÉGENDES — 28/09/2026 (Éric) : la règle des 24 px vaut pour les
     boutons, pas pour leur légende. Une légende (« Voir un rapport fictif »,
     « Rien n'est enregistré », « Il comprend le cheminement »…) revient à
     9 px de son bouton ; ce qui la précède perd son air du bas. Une nouvelle
     légende s'ajoute à la liste. */
:root{--legende-air:9px}
/* Poids d'identifiant : ces règles doivent passer devant celles du cas B. */
:is(main,#uc-legende) :has(+ :is(.demo-lien,.renvoi-note,.pied-note,.note-bas,.accomp-fac,.compte-sous,.ap-requis)),
  :is(main,#uc-legende) :has(+ :is(.demo-lien,.renvoi-note,.pied-note,.note-bas,.accomp-fac,.compte-sous,.ap-requis)) > :is(a,button,.bouton-centre):last-child,
  :is(main,#uc-legende) .pa-fin > p:has(> .pa-bouton-lien):has(+ .pa-aide){margin-bottom:0 !important}
:is(main,#uc-legende) :is(.demo-lien,.renvoi-note,.pied-note,.note-bas,.accomp-fac,.compte-sous,.ap-requis),
  :is(main,#uc-legende) .pa-fin > p:has(> .pa-bouton-lien) + .pa-aide{margin-top:var(--legende-air) !important}
}
@media screen and (max-width:640.98px){
main .volet-action{margin-top:var(--bouton-air) !important}
}
@media screen{
/* Les valeurs par défaut, sans poids (:where) : chaque cadre peut les régler. */
:where(.ac-ouverture > .wrap,.offres-pied,.volet-tete,.apres-outils,.clef,.alerte,
    .colonne-tete,.aide-note,.ra-pied,.of-infos,.synthese,.couple,.nsp-bloc,.uc-cadre){
    --cadre-rosace:300px;
    --cadre-fond:linear-gradient(150deg,#2A3441 0%,#232B36 55%,#1B232D 100%);
    --co-eq:rgba(227,188,106,.6);
    --co-cadre:rgba(227,188,106,.35);
    --co-semis:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30'><path d='M15 5.5 L24.5 15 L15 24.5 L5.5 15 Z' fill='none' stroke='rgb(227,188,106)' stroke-opacity='.10'/><g fill='rgb(227,188,106)' fill-opacity='.10'><circle cx='15' cy='15' r='1.5'/><circle cx='0' cy='0' r='1'/><circle cx='30' cy='0' r='1'/><circle cx='0' cy='30' r='1'/><circle cx='30' cy='30' r='1'/></g></svg>");
    --co-rosace:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'><g stroke='rgb(227,188,106)' stroke-opacity='.10' stroke-width='2.4' fill='none'><circle cx='150' cy='150' r='140'/><circle cx='150' cy='150' r='128'/><circle cx='150' cy='150' r='92'/><circle cx='150' cy='150' r='44'/><circle cx='150' cy='150' r='18'/><line x1='150' y1='150' x2='280.0' y2='150.0'/><line x1='150' y1='150' x2='262.6' y2='215.0'/><line x1='150' y1='150' x2='215.0' y2='262.6'/><line x1='150' y1='150' x2='150.0' y2='280.0'/><line x1='150' y1='150' x2='85.0' y2='262.6'/><line x1='150' y1='150' x2='37.4' y2='215.0'/><line x1='150' y1='150' x2='20.0' y2='150.0'/><line x1='150' y1='150' x2='37.4' y2='85.0'/><line x1='150' y1='150' x2='85.0' y2='37.4'/><line x1='150' y1='150' x2='150.0' y2='20.0'/><line x1='150' y1='150' x2='215.0' y2='37.4'/><line x1='150' y1='150' x2='262.6' y2='85.0'/><circle cx='218.0' cy='150.0' r='24'/><circle cx='208.9' cy='184.0' r='24'/><circle cx='184.0' cy='208.9' r='24'/><circle cx='150.0' cy='218.0' r='24'/><circle cx='116.0' cy='208.9' r='24'/><circle cx='91.1' cy='184.0' r='24'/><circle cx='82.0' cy='150.0' r='24'/><circle cx='91.1' cy='116.0' r='24'/><circle cx='116.0' cy='91.1' r='24'/><circle cx='150.0' cy='82.0' r='24'/><circle cx='184.0' cy='91.1' r='24'/><circle cx='208.9' cy='116.0' r='24'/></g></svg>");
    --co-filet:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='13' viewBox='0 0 150 13'><defs><linearGradient id='g' x1='0' x2='1'><stop offset='0' stop-color='rgb(227,188,106)' stop-opacity='0'/><stop offset='.45' stop-color='rgb(227,188,106)' stop-opacity='.9'/><stop offset='.55' stop-color='rgb(227,188,106)' stop-opacity='.9'/><stop offset='1' stop-color='rgb(227,188,106)' stop-opacity='0'/></linearGradient></defs><rect x='0' y='6' width='150' height='1' fill='url(%23g)'/><path d='M75 1.5 L80 6.5 L75 11.5 L70 6.5 Z' fill='rgb(227,188,106)'/><path d='M75 3.8 L77.7 6.5 L75 9.2 L72.3 6.5 Z' fill='none' stroke='rgb(252,250,246)' stroke-opacity='.55' stroke-width='.8'/></svg>");
  }
/* Les cadres entiers : bordure, angles et ombre de la référence. Les têtes
     de colonnes et de pavés gardent les leurs (elles font partie d'une carte). */
:is(.ac-ouverture > .wrap,.offres-pied,.apres-outils,.clef,.alerte,.aide-note,
    .ra-pied,.of-infos,.synthese,.couple,.nsp-bloc,.uc-cadre){
    border:1px solid rgba(227,188,106,.35) !important;border-radius:3px !important;
    box-shadow:0 6px 24px rgba(31,40,51,.10) !important;
  }
/* L'air entre le cadre intérieur (10 px) et le texte : 16 px au moins. */
:is(.aide-note,.alerte,.clef,.synthese,.couple,.ra-pied){padding:30px 34px 28px !important}
}
@media screen{
@media (max-width:640.98px){
:is(.aide-note,.alerte,.clef,.synthese,.couple,.ra-pied){padding:28px 26px 26px !important}
}}
@media screen{
/* Les fonds propres, gardés. */
.ac-ouverture > .wrap{--cadre-fond:linear-gradient(#7E5C18,#7E5C18)}
.volet-tete{--cadre-fond:none}
.of-infos{--cadre-fond:none}
/* Les petits cadres et les têtes : une rosace plus petite. */
:is(.volet-tete,.colonne-tete,.aide-note,.ra-pied){--cadre-rosace:160px}
}
@media screen{
@media (max-width:640.98px){
:is(.ac-ouverture > .wrap,.offres-pied,.apres-outils,.clef,.alerte,.of-infos,.synthese,
      .couple,.nsp-bloc,.uc-cadre){--cadre-rosace:190px}
}}
@media screen{
/* LE TRAITEMENT COMMUN EST UN PLANCHER, PAS UN PLAFOND (Éric, 28/09/2026,
     § 75) : un cadre garde TOUS ses ornements propres (croix et épi des têtes
     de la Présentation, lueur du cheminement, filets d'or du haut, équerres,
     semis, rosaces posés à la main). Le commun ne complète que ce qui manque :
     là où un ornement propre fait déjà son office, l'ornement commun se retire. */
.ac-ouverture > .wrap{--co-eq:transparent;--co-semis:none;--co-rosace:none;outline:none}
.volet-tete{--co-eq:transparent;--co-semis:none}
/* Seul retrait : le filet de l'encart des offres, remplacé par ceux du cadre
     (son haut n'était pas fini, § 74). */
.of-infos > .of-infos-filet{display:none !important}
:root{--bt-rayon:3px;--bt-duree:.25s}
/* Toutes familles : angles, typographie, transition douce. */
:is(a.bouton,button.bouton,a.outil-lien,button.outil-lien,a.appel-test,.pa-bouton,.pa-bouton-sec,
    .ra-bouton,.ra-bouton-sec,.renvoi-bouton,.don-bouton,.ao-bouton){
    border-radius:var(--bt-rayon) !important;font-family:'Marcellus',serif;
    transition:transform var(--bt-duree) ease,box-shadow var(--bt-duree) ease,background-color var(--bt-duree) ease,
      color var(--bt-duree) ease,border-color var(--bt-duree) ease,outline-color var(--bt-duree) ease !important;
  }
/* 1. PRINCIPAL — doré plein : relief par l'ombre, filet ivoire intérieur. */
:is(a.bouton:not(.sobre),button.bouton:not(.sobre),a.appel-test,.pa-bouton,.ra-bouton,.renvoi-bouton,.don-bouton:not(.libre)){
    box-shadow:0 1px 0 rgba(255,251,240,.18) inset,0 3px 12px rgba(126,92,24,.24) !important;
    outline:1px solid rgba(252,250,246,.40);outline-offset:-5px;
  }
/* UN BOUTON NE LAISSE JAMAIS TRANSPARAÎTRE LE FOND (Éric, 28/09/2026, § 75) :
     les boutons au contour transparent prennent un fond plein — la couleur de
     la page sur fond clair, le bleu nuit sur un cadre sombre — et gardent leur
     voile doré au survol, posé PAR-DESSUS ce fond plein. */
:is(.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre){background-color:var(--ivoire,#FCFAF6) !important}
:is(.ao-bouton,.appel-double.sur-sombre > a.outil-lien){background-color:#232B36 !important}
:is(.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton,.appel-double.sur-sombre > a.outil-lien):hover{
    background-image:linear-gradient(rgba(227,188,106,.14),rgba(227,188,106,.14)) !important}
:is(.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre):hover{background-color:var(--ivoire,#FCFAF6) !important}
:is(.ao-bouton,.appel-double.sur-sombre > a.outil-lien):hover{background-color:#232B36 !important}
.bouton.sobre{background-color:var(--lin,#F2ECE1) !important}
.bouton.sobre:hover{background-color:var(--lin,#F2ECE1) !important;background-image:linear-gradient(rgba(227,188,106,.14),rgba(227,188,106,.14)) !important}
/* Le fond des pleins : le dégradé doré figé de « Créer mon compte » (accueil),
     dans les deux modes. Le dégradé bâti sur --nous tombait sous le seuil sous le
     texte ivoire (2,99 en clair au point le plus clair, 1,78 en sombre). Hors
     règle : le bouton ivoire de l'ouverture (accompagnement, conseiller). */
:is(a.bouton:not(.sobre),button.bouton:not(.sobre),a.appel-test,.pa-bouton,.ra-bouton,.renvoi-bouton,.don-bouton:not(.libre),.haut,.car-fleche):not(.ac-ouverture .appel-test){
    background-image:linear-gradient(150deg,#916B21 0%,#815C18 18%,#755417 55%,#654812 100%) !important;background-color:#85601A !important}
/* Sur les fonds sombres, le filet passe à l'or clair ; sur le bouton ivoire
     de l'ouverture (accompagnement, conseiller), à l'or profond. */
:is(.ao-bouton,.appel-double.sur-sombre > a.outil-lien){outline-color:rgba(227,188,106,.38)}
.ac-ouverture .appel-test{outline-color:rgba(126,92,24,.40)}
/* 3. RONDS (retour en haut, flèches du carrousel) : même transition. */
:is(.haut,.car-fleche){transition:transform var(--bt-duree) ease,box-shadow var(--bt-duree) ease,opacity var(--bt-duree) ease,visibility var(--bt-duree) !important}
}
@media screen{
@media (hover:hover) and (pointer:fine){
:is(a.bouton:not(.sobre),button.bouton:not(.sobre),a.appel-test,.pa-bouton,.ra-bouton,.renvoi-bouton,.don-bouton:not(.libre)):hover{
      transform:translateY(-1px) !important;
      box-shadow:0 1px 0 rgba(255,251,240,.22) inset,0 7px 22px rgba(126,92,24,.34) !important;
      outline-color:rgba(252,250,246,.70);
    }
:is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton):hover{
      transform:translateY(-1px) !important;
      box-shadow:0 6px 18px rgba(168,123,35,.22) !important;
      outline-color:rgba(168,123,35,.65);
    }
:is(.ao-bouton,.appel-double.sur-sombre > a.outil-lien):hover{outline-color:rgba(227,188,106,.75)}
.ac-ouverture .appel-test:hover{outline-color:rgba(126,92,24,.70)}
:is(.haut,.car-fleche):hover{transform:translateY(-1px) !important}
:is(a.bouton,button.bouton,a.outil-lien,button.outil-lien,a.appel-test,.pa-bouton,.pa-bouton-sec,
      .ra-bouton,.ra-bouton-sec,.renvoi-bouton,.don-bouton,.ao-bouton):active{transform:none !important}
}}
@media screen{
@media (hover:none),(pointer:coarse){
:is(a.bouton:not(.sobre),button.bouton:not(.sobre),a.appel-test,.pa-bouton,.ra-bouton,.renvoi-bouton,.don-bouton:not(.libre)):hover{
      transform:none !important;box-shadow:0 1px 0 rgba(255,251,240,.18) inset,0 3px 12px rgba(126,92,24,.24) !important}
:is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton):hover{
      transform:none !important;box-shadow:0 2px 8px rgba(31,40,51,.07) !important}
:is(.haut,.car-fleche):hover{transform:none !important}
}}
@media screen{
@media (prefers-reduced-motion:reduce){
:is(a.bouton,button.bouton,a.outil-lien,button.outil-lien,a.appel-test,.pa-bouton,.pa-bouton-sec,
      .ra-bouton,.ra-bouton-sec,.renvoi-bouton,.don-bouton,.ao-bouton,.haut,.car-fleche){transition:none !important}
:is(a.bouton,button.bouton,a.outil-lien,button.outil-lien,a.appel-test,.pa-bouton,.pa-bouton-sec,
      .ra-bouton,.ra-bouton-sec,.renvoi-bouton,.don-bouton,.ao-bouton,.haut,.car-fleche):hover{transform:none !important}
}}
@media screen{
/* Le clavier garde un repère net, hors du bouton. */
:is(a.bouton,button.bouton,a.outil-lien,button.outil-lien,a.appel-test,.pa-bouton,.pa-bouton-sec,
    .ra-bouton,.ra-bouton-sec,.renvoi-bouton,.don-bouton,.ao-bouton):focus-visible{
    outline:2px solid #A87B23 !important;outline-offset:3px !important}
}
@media screen and (prefers-color-scheme:dark){
/* Les pleins : le dégradé doré figé de « Créer mon compte » (accueil) ;
       --nous s'éclaircit en sombre et l'ivoire y tombait sous le seuil. */
:root:not([data-theme="light"]) :is(a.bouton:not(.sobre),button.bouton:not(.sobre),a.appel-test,.pa-bouton,.ra-bouton,.renvoi-bouton,.don-bouton:not(.libre),.haut,.car-fleche):not(.ac-ouverture .appel-test){
      background-image:linear-gradient(150deg,#916B21 0%,#815C18 18%,#755417 55%,#654812 100%) !important;background-color:#85601A !important}
/* Les secondaires : le filet en or clair. */
:root:not([data-theme="light"]) :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre){outline-color:rgba(227,188,106,.36)}
/* Les secondaires DÉTOURÉS (§ 82, 28/09/2026) : en sombre, leur bord
       ivoire à 20 % se perdait sur un fond identique à la page (1,8 contre
       3 requis). Bord d'or clair, plus vif au survol et à l'appui. */
:root:not([data-theme="light"]) :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton){border-color:rgba(227,188,106,.72) !important}
:root:not([data-theme="light"]) :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton):active{border-color:rgba(227,188,106,.95) !important}
}
@media screen and (prefers-color-scheme:dark){
@media (hover:hover) and (pointer:fine){
:root:not([data-theme="light"]) :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton):hover{border-color:rgba(227,188,106,.95) !important}
:root:not([data-theme="light"]) :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre):hover{outline-color:rgba(227,188,106,.72)}
}}
@media screen{
/* Les pleins : le dégradé doré figé de « Créer mon compte » (accueil) ;
       --nous s'éclaircit en sombre et l'ivoire y tombait sous le seuil. */
:root[data-theme="dark"] :is(a.bouton:not(.sobre),button.bouton:not(.sobre),a.appel-test,.pa-bouton,.ra-bouton,.renvoi-bouton,.don-bouton:not(.libre),.haut,.car-fleche):not(.ac-ouverture .appel-test){
      background-image:linear-gradient(150deg,#916B21 0%,#815C18 18%,#755417 55%,#654812 100%) !important;background-color:#85601A !important}
/* Les secondaires : le filet en or clair. */
:root[data-theme="dark"] :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre){outline-color:rgba(227,188,106,.36)}
/* Les secondaires DÉTOURÉS (§ 82, 28/09/2026) : en sombre, leur bord
       ivoire à 20 % se perdait sur un fond identique à la page (1,8 contre
       3 requis). Bord d'or clair, plus vif au survol et à l'appui. */
:root[data-theme="dark"] :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton){border-color:rgba(227,188,106,.72) !important}
:root[data-theme="dark"] :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton):active{border-color:rgba(227,188,106,.95) !important}
}
@media screen{
@media (hover:hover) and (pointer:fine){
:root[data-theme="dark"] :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre,.ao-bouton):hover{border-color:rgba(227,188,106,.95) !important}
:root[data-theme="dark"] :is(a.outil-lien,button.outil-lien,.bouton.sobre,.pa-bouton-sec,.ra-bouton-sec,.don-bouton.libre):hover{outline-color:rgba(227,188,106,.72)}
}}
:root{--champ-bord:#A87B23;--champ-actif:#7E5C18;--champ-halo:rgba(126,92,24,.22)}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){--champ-bord:rgba(227,188,106,.72);--champ-actif:#E3BC6A;--champ-halo:rgba(227,188,106,.25)}
}
:root[data-theme="dark"]{--champ-bord:rgba(227,188,106,.72);--champ-actif:#E3BC6A;--champ-halo:rgba(227,188,106,.25)}
@media screen{
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=file]),textarea,select){
  border:2px solid var(--champ-bord) !important;transition:border-color .15s,box-shadow .15s}
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=file]),textarea,select):focus{
  border:3px solid var(--champ-actif) !important;box-shadow:0 0 0 3px var(--champ-halo) !important;outline:none !important}
html body input:is([type=checkbox],[type=radio]){accent-color:var(--champ-actif);
  outline:2px solid var(--champ-bord);outline-offset:1px}
html body input:is([type=checkbox],[type=radio]):focus-visible{outline:3px solid var(--champ-actif);
  box-shadow:0 0 0 4px var(--champ-halo)}
html body .faux :is(input,textarea,select),html body :is(input,textarea,select).faux{border-color:var(--alerte) !important}
.coffre-pastille:hover,.coffre-pastille:focus-visible{border-color:var(--champ-actif);background:var(--parchemin)}
.coffre-pastille:focus-visible{outline:2px solid var(--champ-actif);outline-offset:2px}
}
@media screen{
@media (hover:hover) and (pointer:fine){
/* LA BULLE : fond clair, caractères noirs, liseré d'or foncé de la charte (#7E5C18, prévu pour fond clair — jamais l'or clair,
   qui disparaît sur fond clair). Fixe dans les deux thèmes : elle se détache de la barre, claire ou sombre (Éric, 02/10/2026).
   Toutes les infobulles du site ont cette apparence (bloc « L'INFOBULLE », rapports). */
.coffre-pastille::after{content:attr(data-bulle);position:absolute;right:0;top:calc(100% + 8px);
  width:max-content;max-width:260px;white-space:normal;padding:7px 10px;border-radius:3px;
  background:#FCFAF6;color:#1F2833;border:2px solid #7E5C18;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.45;
  box-shadow:0 8px 22px rgba(31,40,51,.22);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .15s;z-index:70}
.coffre-pastille:hover::after,.coffre-pastille:focus-visible::after{opacity:1;visibility:visible}
}}
@media screen{
@media (max-width:960.98px){
.coffre-pastille{margin-left:auto}
.coffre-pastille ~ .menu-bouton{margin-left:0}
}}
@media screen{
@media (min-width:961px){
.menu:not(.reduit) .coffre-pastille{position:absolute;right:26px;top:50%;transform:translateY(-50%);margin-left:0}
}}
@media screen{
@media (min-width:961px) and (max-width:1179px){
.menu .coffre-pastille{font-size:0;gap:0;padding:6px 9px}
.menu .coffre-pastille::after{font-size:14px}
}}
@media screen{
@media (max-width:960.98px){
.menu:not(.reduit) .coffre-pastille{margin-left:-12px}
.menu:not(.reduit) .coffre-pastille ~ .menu-bouton{margin-left:auto}
}}
@media screen{
@media (min-width:360px) and (max-width:420.98px){
.menu:not(.reduit) .coffre-pastille{white-space:nowrap;max-width:none}
}}
@media screen{
@media (max-width:420.98px){
/* Le texte ne passe jamais sur deux lignes (Eric, 01/10/2026) : la ou il ne tient pas sur une seule - barre repliee jusqu'a 420 px, barre du haut sous 360 px -, le cadenas seul ; le nom reste lu, la bulle reste. */
.coffre-pastille{white-space:nowrap;max-width:none}
.menu.reduit .coffre-pastille{font-size:0;gap:0;padding:6px 9px}
.menu.reduit .coffre-pastille::after{font-size:14px}
.menu.reduit .menu-sig{display:none}
}}
@media screen{
@media (min-width:421px) and (max-width:459px){
.menu.reduit .coffre-pastille{font-size:0;gap:0;padding:6px 9px}
.menu.reduit .coffre-pastille::after{font-size:14px}
}}
@media screen{
/* LA LARGEUR RÉELLEMENT DISPONIBLE (02/10/2026). Une règle @media lit la largeur de la fenêtre, barre de défilement
   comprise ; la barre du menu, elle, a 15 px de moins quand la page en a une (ordinateur). La barre devient un conteneur
   (« uc-barre ») et ces seuils se lisent sur sa largeur réelle : mêmes nombres, mesure juste. Les @media ci-dessus restent
   pour les navigateurs qui ne connaissent pas les conteneurs (avant Chrome 105, Safari 16, Firefox 110). */
.menu{container:uc-barre / inline-size}
}
@media screen{
@container uc-barre (max-width:459px){
.menu.reduit .coffre-pastille{font-size:0;gap:0;padding:6px 9px}
.menu.reduit .coffre-pastille::after{font-size:14px}
}}
@media screen{
@container uc-barre (max-width:420.98px){
.menu.reduit .menu-sig{display:none}
}}
@media screen{
@container uc-barre (max-width:360px){
.menu.reduit .menu-nom{display:none}
}}
@media screen{
@container uc-barre (max-width:359.98px){
.menu:not(.reduit) .coffre-pastille{font-size:0;gap:0;padding:6px 9px}
.menu:not(.reduit) .coffre-pastille::after{font-size:14px}
}}
@media screen{
@media (hover:hover) and (pointer:fine) and (max-width:960.98px){
.coffre-pastille::after{max-width:min(260px,calc(100vw - 94px))}
.menu:not(.reduit) .coffre-pastille::after{right:auto;left:0;max-width:min(260px,calc(100vw - 32px))}
}}
@media screen{
@media (max-width:359.98px){
.menu:not(.reduit) .coffre-pastille{font-size:0;gap:0;padding:6px 9px}
.menu:not(.reduit) .coffre-pastille::after{font-size:14px}
}}
@media screen{
@media (max-width:360px){
.menu.reduit .menu-nom{display:none}
}}
@media print{
.coffre-pastille{display:none !important}
}
@media screen{
html body .sur-image{text-shadow:0 0 1px var(--ivoire),0 0 3px var(--ivoire),0 0 6px var(--ivoire),
  0 0 10px var(--ivoire),0 0 16px var(--ivoire),0 0 24px var(--ivoire),0 0 34px var(--ivoire)}
html body :is(a.appel-test,a.outil-lien,a.bouton,a.offre-bouton,a.ao-bouton,button.bouton,#formulaire button.bouton,
  .trio-b,.pa-bouton,.pa-bouton-sec,.ra-bouton,.ra-bouton-sec){
  padding-left:24px !important;padding-right:24px !important;white-space:normal !important;text-wrap:balance}
}
@media screen and (min-width:601px){
html body :is(a.appel-test,a.outil-lien,a.bouton,a.offre-bouton,a.ao-bouton,button.bouton,#formulaire button.bouton){
  height:auto !important;min-height:var(--bouton-hauteur,52px) !important;padding-top:12px !important;padding-bottom:12px !important}
}
@media screen and (min-width:900px) and (hover:hover) and (pointer:fine){
/* 900 px depuis le 01/10/2026 au soir (Éric : la largeur des portables) ; 1 100 auparavant */
body{zoom:1.1}
}
@media screen and (max-width:600.98px){
.fil-int > .fil-actuel{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* ===== LE HALO DERRIÈRE LES TEXTES SANS CADRE — BLOC COMMUN, identique sur toutes les pages (02/10/2026, Éric) =====
   RÈGLE (CLAUDE.md § 8) : tout texte posé directement sur le fond décoré, sans cadre autour de lui, porte le halo.
   La classe « halo » se pose sur le bloc qui englobe le titre ET son texte : un seul halo par bloc.
   Un voile de la couleur de fond du site (0,88) DERRIÈRE le texte : le ::before est au z-index -1 du contexte
   d'empilement qui contient le bloc — sous tout texte et tout fond de ce contexte, au-dessus du seul décor du fond.
   LE BLOC NE CRÉE DONC JAMAIS DE CONTEXTE (ni isolation, ni z-index, ni opacité) : s'il en créait un, le voile se
   peindrait au-dessus du texte qui le suit. Fondu de 2,5 rem tout autour, par un masque sur les quatre côtés : aucun
   bord net. Le texte ne bouge pas : position:relative sans décalage, ni marge, ni bordure.
   Le script « LE HALO — LA LARGEUR DU TEXTE » (fin de page) cale le voile sur les lignes réelles (--halo-g, --halo-d)
   et l'arrête AVANT tout bord qui le couperait — l'écran, ou une section qui coupe ce qui dépasse (overflow) : le
   débord y est réduit (--halo-h, --halo-bas) et le fondu commence plus tôt (--halo-fx, --halo-ft, --halo-fb, 12 px au
   moins), pour qu'aucun bord ne tranche le voile. Sans script : le voile couvre la largeur du bloc et déborde de 2,5 rem en haut et en bas. */
:root{--halo-fond:rgba(255,255,255,.88);--halo-deb:2.5rem}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){--halo-fond:rgba(20,26,33,.88)}
}
:root[data-theme="dark"]{--halo-fond:rgba(20,26,33,.88)}
@media screen{
.halo::before{content:"";position:absolute;z-index:-1;pointer-events:none;
    top:calc(-1 * var(--halo-h,var(--halo-deb)));bottom:calc(-1 * var(--halo-bas,var(--halo-deb)));
    left:var(--halo-g,0px);right:var(--halo-d,0px);
    background:var(--halo-fond);
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--halo-fx,16px),#000 calc(100% - var(--halo-fx,16px)),transparent 100%),
                       linear-gradient(to bottom,transparent 0,#000 var(--halo-ft,var(--halo-deb)),#000 calc(100% - var(--halo-fb,var(--halo-deb))),transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent 0,#000 var(--halo-fx,16px),#000 calc(100% - var(--halo-fx,16px)),transparent 100%),
               linear-gradient(to bottom,transparent 0,#000 var(--halo-ft,var(--halo-deb)),#000 calc(100% - var(--halo-fb,var(--halo-deb))),transparent 100%);
    mask-composite:intersect}
}
@media print{
.halo::before{display:none}
}
@media screen{
.halo::before{transition:opacity .4s}
html.uc-anim .halo:is(.uc-avant,.uc-entre)::before{opacity:0;transition:none}
}
@media screen and (prefers-reduced-motion: reduce){
.halo::before{transition:none}
}
@media screen{
#menu .menu-liens.halo::before{display:none}
body.filigrane-marque #menu:not(.reduit) .menu-liens.halo::before{display:block;top:-8px;bottom:-20px}
/* Le voile ne sort pas de la barre : au-dessus, la signature du logo ; au-dessous, la bande « projet en construction ».
     Il reste entre les deux, et son fondu vertical est court. */
#menu .menu-liens.halo{--halo-ft:14px !important;--halo-fb:14px !important}
}

/* CHANTIER 213 (Éric, 20/10/2026) : LES PAGES DE L'APPLICATION EN MODERNE. Chaque règle commence par :root[data-forme="moderne"] : le traditionnel ne la lit pas.
   Le poids (un identifiant qu'aucun élément ne porte) passe devant moderne.css. Le cadre du compte a les siennes (compte\compte.css), la restitution aussi (restitution\restitution.css).
   1. La barre des outils (Votre quotidien, Votre tempérament, Votre couple) : le filet du bas part, une ombre le remplace. */
:root[data-forme="moderne"][data-forme="moderne"]:is(#uc-poids,[data-forme]) div.barre{border-bottom-color:transparent!important;box-shadow:0 10px 18px -16px rgba(31,40,51,.45)}
/* 2. Les boutons secondaires qui restaient en fond blanc à trait or (« Voir le détail », « Effacer mes réponses », « Imprimer ou enregistrer ») : le canon des
   boutons du moderne, fond léger et ombre, comme les secondaires publics. */
:root[data-forme="moderne"][data-forme="moderne"]:is(#uc-poids,[data-forme]) :is(button.t3-voir,.pa-bouton-sec,.ra-bouton-sec){font-family:'Karla',system-ui,sans-serif!important;font-weight:600!important;font-size:17px!important;
  letter-spacing:.01em!important;line-height:1.25!important;border:0!important;border-radius:999px!important;background:rgba(31,40,51,.055)!important;color:var(--encre)!important;
  box-shadow:0 1px 3px rgba(31,40,51,.08),0 6px 18px rgba(31,40,51,.07)!important}
:root[data-forme="moderne"][data-forme="moderne"]:is(#uc-poids,[data-forme])[data-theme="dark"] :is(.pa-bouton-sec,.ra-bouton-sec){background:rgba(255,255,255,.085)!important}
@media (prefers-color-scheme:dark){([data-theme="light"]) :is(.pa-bouton-sec,.ra-bouton-sec){background:rgba(255,255,255,.085)!important}}
/* 3. Les deux blocs carrés : le tampon « exemple » des pages d'exemple et l'avertissement de Votre tempérament prennent le rayon des cartes ;
   le filet d'or de l'avertissement est un signe : il reste. */
:root[data-forme="moderne"][data-forme="moderne"]:is(#uc-poids,[data-forme]) #tampon-fictif span{border-radius:var(--r-carte,18px)}
:root[data-forme="moderne"][data-forme="moderne"]:is(#uc-poids,[data-forme]) #e3 div.avert{border-radius:var(--r-carte,18px);border-left:4px solid var(--nous)!important}
/* CHANTIER 214 (Éric, 20/10/2026) : les boutons d'action du cadre du compte prennent le corps du canon, 17 px, comme partout en moderne.
   La règle est ici et non dans compte\compte.css : la règle A6 (sept tailles, gardée par verifier-lettre B2) vaut pour cette feuille-là. Moderne seulement. */
:root[data-forme="moderne"] #app-fixe#app-fixe#app-fixe#app-fixe#app-fixe :is(.btn,a.btn){font-size:17px!important}
/* CHANTIER 215 (Éric, 21/10/2026) : le nom de la barre ne paraît QUE quand la barre est réduite, c'est-à-dire quand le grand logo
   du haut n'est plus à l'écran. Les deux habillages : en moderne, le grand logo est caché et le nom est la marque de la barre,
   moderne.css le garde à toutes les largeurs (§ 2, display:block !important), cette règle n'y change rien. */
.menu:not(.reduit) .menu-nom{display:none}
/* CHANTIER 220 (Éric, 21/10/2026, « il y a des gens qui ne voient pas très bien, comme moi d'ailleurs ») : L'ÉCHELLE UNIQUE des pictogrammes de choix (le point du soir,
   les trois outils, le tableau de bord). 64 px sur ordinateur, 52 px au téléphone ; une case de choix ne passe jamais sous 48 x 48 px. Aucune taille question par question. */
:root{--uc-picto:64px}
@media (max-width:1023.98px){:root{--uc-picto:52px}}
/* CHANTIER 222 (Éric, 21/10/2026 : « un lien qui dépose le lecteur sous la barre est un lien cassé ») : en traditionnel, une ancre s'arrête SOUS la
   barre collée et sa bande de fil d'Ariane. --uc-barre est leur hauteur réelle, mesurée par uc-habillage.js (hautBarre) ; 84 px sans script, la
   valeur des pages. Le moderne a sa propre règle (moderne.css). Rien d'autre ne change en traditionnel. */
:root:not([data-forme="moderne"]) [id]{scroll-margin-top:calc(var(--uc-barre,84px) + 12px) !important}
/* CHANTIER 223 : en traditionnel, la barre se colle SOUS les bandeaux fixes du haut (« BASE D'ESSAI »…), comme en moderne : collée à 0, la bannière,
   posée par-dessus tout, la recouvrait, et le fil d'Ariane, accroché 56 px plus bas, restait seul en travers du titre. --uc-haut est mesuré par
   uc-habillage.js (hautBandeaux) ; --uc-barre, qui lit le « top » de la barre, compte donc déjà les bandeaux (plus de second ajout ci-dessus). */
:root:not([data-forme="moderne"]) #menu{top:var(--uc-haut,0px)}
/* CHANTIER 226 (décision du directeur, 21/10/2026) : EN TRADITIONNEL, LA BARRE NE PORTE PLUS LA MARQUE. Le grand logo de l'en-tête est juste
   au-dessus, complet (symbole, « una caro », « Comment va notre couple ? ») : la barre, réduite au défilement, faisait paraître les mêmes mots
   à 150 px de lui. Elle ne porte plus que les liens. Le grand logo et le filigrane ne bougent pas. En moderne, la barre garde sa marque. */
/* CHANTIER 229, LOT F (Éric, 22/10/2026 à 9 h 43) : la règle d'origine est RÉTABLIE. Le retrait du 226 avait supprimé la marque de la barre au défilement, alors
   qu'elle ne paraissait que lorsque le grand logo n'était plus à l'écran. En haut de page : le grand logo seul, la barre sans marque ; dès que le grand logo
   (header .logo-bloc) a quitté l'écran, la marque paraît dans la barre ; elle repart quand on remonte. uc-habillage.js pose « uc-marque-vue » sur la barre
   d'après la position RÉELLE du logo (le seuil « reduit » des pages, mesuré sans le zoom de 1,1, venait 30 px trop tôt : d'où les doublons vus au 226). */
:root:not([data-forme="moderne"]) #menu:not(.uc-marque-vue) .menu-marque{display:none !important}
/* CHANTIER 239 (LOT C) : UN SEUL ÉTAT. La marque, en traditionnel, paraissait seulement si la barre était aussi « réduite » (un état que chaque page pose d'après
   SON défilement) : un écran trop court pour le grand logo (connexion, inscription) l'effaçait sans que la marque vienne, la barre n'étant pas réduite en haut de
   page. Désormais « uc-marque-vue » (uc-habillage.js : le grand logo n'est pas à l'écran, qu'il soit parti au défilement ou absent) suffit,
   SEULEMENT là où le grand logo s'efface faute de hauteur (connexion, inscription) : ailleurs, une page sans grand logo (les trois outils) garde sa barre
   d'origine (mesuré : sinon, à 390 px, la marque élargissait la barre et poussait le bouton du menu hors de l'écran). */
:root:not([data-forme="moderne"]) body:is(.ecran-connexion,.ecran-compte) #menu.uc-marque-vue .menu-marque{width:auto !important;opacity:1 !important}
/* CHANTIER 226 (trouvé par le banc, épreuve 20) : LA LISTE DU MENU ATTEND LA MAIN. Un trajet en diagonale vers le premier lien sort du bouton par
   le côté (traditionnel, 1024 px : 2 px à gauche du bouton, 3 px au-dessus de la liste) ou par son coin arrondi (moderne) : le survol tombe, la
   liste se fermait au pas 13 sur 31. Elle reste maintenant ouverte 300 ms après la sortie ; si la main l'atteint, elle reste ouverte. À l'entrée,
   aucun délai. La liste se cache par « visibility » (qui se retarde, et qui reçoit le pointeur jusqu'au bout du délai), plus par « display » (une
   transition « allow-discrete » laissait la liste peinte mais morte au pointeur : mesuré). Fermée, elle ne reçoit ni pointeur ni focus.
   Ce n'est pas un mouvement mais une attente : elle tient aussi sous « mouvements réduits », où chaque page coupe toute transition (« *{transition:none!important} », offres.html:1109 ; le banc tourne ainsi et l'a retrouvée). */
.menu-deroul .menu-sous{display:block;visibility:hidden;transition:visibility 0s linear .3s !important}
.menu-deroul:hover .menu-sous,.menu-deroul.ouvert .menu-sous{visibility:visible;transition-delay:0s !important}
/* CHANTIER 229, LOT D — LES BOUTONS S'ALIGNENT. RÈGLE PERMANENTE (Éric, 22/10/2026 à 9 h 46 : « une consigne qui est gravée dans le marbre »).
   Dans deux blocs ou plus posés côte à côte, les boutons sont sur la même ligne, quelle que soit la longueur des textes au-dessus. La règle vit ICI, une fois,
   pour les deux habillages : la rangée (.duo, ou toute rangée de demain marquée .rangee-boutons) étire ses blocs à la même hauteur ; le dernier bloc de chaque
   colonne devient une colonne qui pousse son bouton en bas ; le texte qui suit un bouton réserve trois lignes, pour que les bas des boutons tombent au même endroit.
   Elle ne joue que si deux colonnes VISIBLES portent chacune un bouton, et seulement côte à côte (au-dessus de 900 px) : empilés, rien ne change.
   Cause trouvée en ligne (trouver-de-l-aide, moderne, 1 024 à 1 920 px) : le script du chantier 122 mesurait la carte de gauche pendant son fondu d'arrivée
   et laissait « Ouvrir l'annuaire » 48 px trop bas ; la colonne de gauche était aussi « collante » (elle bougeait au défilement). Côte à côte, elle ne colle plus. */
@media (min-width:901px){
  main :is(.duo,.rangee-boutons):has(> :not([hidden]):nth-child(1) :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)):has(> :not([hidden]):nth-child(2) :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)){align-items:stretch}
  main :is(.duo,.rangee-boutons):has(> :not([hidden]):nth-child(2) :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)) > :not([hidden]){align-self:stretch !important;position:static !important;display:flex;flex-direction:column}
  main :is(.duo,.rangee-boutons):has(> :not([hidden]):nth-child(2) :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)) > :not([hidden]) > :last-child:not(:is(a,button)){flex:1 1 auto;display:flex;flex-direction:column}
  main :is(.duo,.rangee-boutons):has(> :not([hidden]):nth-child(2) :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)) > :not([hidden]) > :last-child > :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton){margin-top:auto !important;align-self:center}
  /* sous le bouton, la même hauteur dans chaque colonne : la note garde sa place (9 px au-dessus, 5,5 rem réservés, rien en dessous), et le bas du bloc le même air (34 px) */
  main :is(.duo,.rangee-boutons):has(> :not([hidden]):nth-child(2) :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)) > :not([hidden]) > :last-child{row-gap:0 !important;padding-bottom:34px !important}
  main :is(.duo,.rangee-boutons):has(> :not([hidden]):nth-child(2) :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)) > :not([hidden]) > :last-child > :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton) ~ p{margin:9px 0 0 !important;min-height:5.5rem;box-sizing:border-box}
  /* au-dessus du bouton, jamais collé au texte : 18 px au moins */
  main :is(.duo,.rangee-boutons):has(> :not([hidden]):nth-child(2) :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)) > :not([hidden]) > :last-child > :has(+ :is(a.outil-lien,a.bouton,a.vlo,.bouton-centre,button.bouton)){margin-bottom:18px !important}
}
/* CHANTIER 230, LOT B — LE FIL D'ARIANE (Éric, 22/10/2026 à 11 h 02 et 11 h 07). Il commence à la verticale de « una caro » (la marque de la barre) :
   --uc-fil-x, mesuré par uc-habillage.js. En traditionnel il garde sa bande sombre (Éric : « sur la partie tradi c'est bien ») ; seul son départ change.
   En moderne, il se détache de la pilule (moderne.css § 57). Dans les deux habillages, il s'efface tant que le panneau « Parcours » ou le menu du téléphone
   est ouvert : les deux ne peuvent plus se recouvrir. */
:root:not([data-forme="moderne"]) #fil-ariane .fil-int{padding-left:var(--uc-fil-x,26px) !important;max-width:none !important;margin-left:0 !important}
body:has(#menu .menu-deroul:hover, #menu .menu-deroul.ouvert, .menu-panneau.ouvert) :is(#fil-ariane,#uc-fil-borne){opacity:0 !important;visibility:hidden !important;transition:none !important}
/* CHANTIER 231, LOT A : la copie du fil d'Ariane posée dans le bandeau de titre (uc-habillage.js) n'existe qu'en moderne ; le traditionnel garde sa bande. */
:root:not([data-forme="moderne"]) .uc-fil-borne{display:none !important}
/* CHANTIER 231, LOT D — DEUX RÈGLES POSÉES UNE FOIS POUR TOUTES (Éric, 22/10/2026 à 11 h 32 : « Il faut une marge de réserve. Et adapte les colonnes en fonction. »)
   Elles valent pour les pavés d'aujourd'hui et pour ceux qu'on ajoutera, dans les deux habillages.
   1. LA MARGE DE RÉSERVE : aucun contenu à moins de 20 px du bord de l'écran, à aucune largeur. Les colonnes du site (.wrap) gardent au moins 20 px de
      chaque côté (elles en avaient 16 sur téléphone) ; un mot trop long (une adresse) se coupe au lieu de sortir. */
main :is(p,li,dd,td,a){overflow-wrap:anywhere}
/*    Les cartes du site qui, sur téléphone, laissaient 16 à 18 px (règle recopiée sur quinze pages : « width:calc(100% - 32px) ») gardent 20 px de chaque côté ;
      une carte de demain prend la classe .pave et la même réserve. */
@media (max-width:760px){
  main :is(.ac-trad,.ac-prix,.secret,.conviction,.renvoi-accomp,.ac-ouverture,.ac-lit,.ac-plus) > .wrap{width:calc(100% - 40px) !important}
  main .pave{margin-left:20px !important;margin-right:20px !important}
}
/*    L'accueil : la carte du nom (.intro-nom) ne s'approche jamais à moins de 20 px (elle restait à 17 px jusqu'à 1 055 px) ; la colonne .hero garde 20 px de chaque côté jusqu'à 1 100 px. */
main .intro-nom{max-width:min(900px,calc(100% - 40px)) !important;margin-left:auto !important;margin-right:auto !important}
@media (max-width:1100px){html body main .wrap.hero.hero.hero{padding-left:20px !important;padding-right:20px !important}}   /* plus lourd que « main > .wrap.hero + .wrap.hero » (index.html, 18 px) */
/* 2. LES COLONNES S'ADAPTENT AU LIEU DE SE SERRER : une grille de pavés (.outils, .trois, .charte-grille, .ac-tri-liste, .offres, et toute grille de demain
      marquée .grille-paves) pose autant de colonnes qu'il tient de pavés d'au moins 300 px : trois, puis deux, puis un. */
:is(.grille-paves,.outils,.trois,.charte-grille,.ac-tri-liste,.offres:not(.of-etages):not(.offres-a-part)){grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)) !important}
/*    Les deux cartes « à part » d'offres.html gardent leur calibrage du chantier 121 (la largeur exacte d'une carte des étages, cinq boutons de même largeur). */
/*    Les trois étages d'offres.html (avec leurs « + ») : trois côte à côte à partir de 1 160 px (le seuil des cinq boutons alignés, chantier 121) ;
      deux de 761 à 1 159 px (le troisième centré dessous, le second « + » entre les deux rangées) ; un seul à 760 px et moins. Aucun « + » n'est retiré. */
@media (min-width:761px) and (max-width:1159.98px){
  .offres.of-etages{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;row-gap:10px}
  .offres.of-etages > .of-plus ~ .of-plus{grid-column:1 / -1}
  .offres.of-etages > .of-plus ~ .of-plus ~ .offre{grid-column:1 / -1;justify-self:center;width:calc((100% - 58px) / 2)}
}
@media (max-width:760px){.offres.of-etages{grid-template-columns:minmax(0,1fr) !important;row-gap:10px}}
/* CHANTIER 232, LOT E : la marge de réserve vaut aussi pour la barre du traditionnel au téléphone : elle n'avait que 16 px de marge intérieure (bouton du menu
   et marque à 16 px du bord), et la pastille « Données chiffrées », en haut de page, sa marge de -12 px la posait à 4 px du bord gauche. */
@media (max-width:420.98px){
  :root:not([data-forme="moderne"]) #menu .menu-int{padding-left:20px !important;padding-right:20px !important}
  :root:not([data-forme="moderne"]) #menu:not(.reduit) .coffre-pastille{margin-left:0 !important}
}
/* CHANTIER 235, LOT C (Éric retient la voie A) : au téléphone, le rond de l'habillage S'EFFACE tant que le menu est ouvert. Ouvert, le menu couvre l'écran ;
   le rond, fixe en bas à gauche, se posait sur un lien (« Offres » sur une page de parcours, où la liste « Parcours » est déjà ouverte). Les deux habillages. */
body:has(.menu-panneau.ouvert) #uc-bascule{display:none !important}
/* CHANTIER 240 (LOT B) : « DONNÉES CHIFFRÉES » SE LIT À TOUTES LES LARGEURS, en traditionnel aussi. Là où la barre le réduisait à rien (font-size:0 : entre
   961 et 1 179 px ; barre réduite sous 460 px ; barre du haut sous 360 px), le texte passe sur deux lignes courtes, dans une pastille plus carrée
   (proposition de forme : Éric tranche). Les règles d'origine restent écrites plus haut ; celles-ci passent devant. */
@media screen and (min-width:961px) and (max-width:1179px){
.menu .coffre-pastille{font-size:14px !important;gap:6px !important;padding:4px 10px !important;border-radius:12px !important;line-height:1.1 !important}
.menu .coffre-pastille span{display:block;white-space:normal;width:min-content;text-align:left}
}
/* CHANTIER 242 (LOT E) : en TRADITIONNEL, de 900 à 960 px (la page y est zoomée × 1,1 ; Éric y est, à 140 % sur un écran de 1 360 px), la pastille restait sur une
   ligne et son texte débordait de sa boîte (mesuré par le directeur : tronqué). Elle prend la même forme lisible qu'au-dessus de 961 px (le texte sur deux lignes
   courtes), et ne se laisse plus rétrécir par la barre. Le moderne n'est pas touché (il était juste de 900 à 1 920 px). */
@media screen and (min-width:900px) and (max-width:960.98px){
:root:not([data-forme="moderne"]) .menu .coffre-pastille{font-size:14px !important;gap:6px !important;padding:4px 10px !important;border-radius:12px !important;line-height:1.1 !important;flex:0 0 auto !important;max-width:none !important}
:root:not([data-forme="moderne"]) .menu .coffre-pastille span{display:block;white-space:normal;width:min-content;text-align:left}
}
/* LOT O : sur les trois outils, dont la barre porte « Mon compte » en plus, la pastille touchait ce lien de 1 à 6 px entre 961 et 973 px (barre du haut) ;
   de 961 à 979 px, elle prend 6 px de marge intérieure de côté au lieu de 10 (8 px rendus, sur toutes les pages : la forme ne change pas). */
@media screen and (min-width:961px) and (max-width:979.98px){
:root:not([data-forme="moderne"]) .menu .coffre-pastille{padding:4px 6px !important}
}
@media screen and (max-width:459.98px){
.menu.reduit .coffre-pastille{font-size:14px !important;gap:6px !important;padding:4px 10px !important;border-radius:12px !important;line-height:1.1 !important}
.menu.reduit .coffre-pastille span{display:block;white-space:normal;width:min-content;text-align:left}
}
@media screen and (max-width:359.98px){
.menu:not(.reduit) .coffre-pastille{font-size:14px !important;gap:6px !important;padding:4px 10px !important;border-radius:12px !important;line-height:1.1 !important}
.menu:not(.reduit) .coffre-pastille span{display:block;white-space:normal;width:min-content;text-align:left}
}
@container uc-barre (max-width:459px){
.menu.reduit .coffre-pastille{font-size:14px !important;gap:6px !important;padding:4px 10px !important;border-radius:12px !important;line-height:1.1 !important}
.menu.reduit .coffre-pastille span{display:block;white-space:normal;width:min-content;text-align:left}
}
@container uc-barre (max-width:359.98px){
.menu:not(.reduit) .coffre-pastille{font-size:14px !important;gap:6px !important;padding:4px 10px !important;border-radius:12px !important;line-height:1.1 !important}
.menu:not(.reduit) .coffre-pastille span{display:block;white-space:normal;width:min-content;text-align:left}
}
/* ===== CHANTIER 245 (LOT A) — LA RÈGLE DES BOUTONS (Éric, 23/10, 12 h 30 ; CLAUDE.md) : une rangée de boutons (.uc-boutons) a sa propre ligne, en bas de son bloc,
   alignée à droite ; le principal à droite, le secondaire à sa gauche (ordre du balisage : secondaire d'abord) ; 44 px de haut au moins ; largeur = le texte + 24 px
   de chaque côté, jamais fixe, jamais au-delà de 320 px. Sous 640 px : pleine largeur, empilés, le principal d'abord. Les deux habillages. ===== */
html body .uc-boutons{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin:16px 0 0;padding:0;text-align:right}
html body .uc-boutons > :is(a,button).bouton,html body .uc-boutons > :is(a,button).btn,html body .uc-boutons > button{
  display:inline-flex !important;align-items:center;justify-content:center;width:auto !important;max-width:320px;min-height:44px;
  padding:0 24px !important;margin:0 !important;box-sizing:border-box;text-align:center}
@media (max-width:639.98px){
html body .uc-boutons{flex-direction:column-reverse;align-items:stretch}
html body .uc-boutons > :is(a,button).bouton,html body .uc-boutons > :is(a,button).btn,html body .uc-boutons > button{width:100% !important;max-width:none}
}
/* chantier 249 (LOT A) : les photos de contenu des chantiers 245, 247 et 248 sont retirées des pages (« une image de contenu ne doit jamais allonger la page ») ;
   leurs règles (ici et moderne.css § 63) n'ont plus d'objet et sont retirées avec elles. */
/* CHANTIER 246 (LOT C) : l'image du cadeau (.offrir-bloc, accueil et offres) faisait 176 px à l'écran au-dessus de 900 px : 160 px × le zoom de la page (× 1,1, body).
   On la pose à 160 / 1,1 px là où la page est zoomée : elle fait 160 px VUS. Tablette (sans zoom) : 160 px ; téléphone (480 px et moins) : 120 px, inchangés. */
@media screen and (min-width:900px) and (hover:hover) and (pointer:fine){
html body .offrir-bloc .ob-cadre,html body .offrir-bloc .ob-img{width:calc(160px / 1.1) !important;height:calc(160px / 1.1) !important}
}
/* CHANTIER 248 (LOT D) : « Données chiffrées » — le texte et le cadenas se centrent dans la pastille (mesuré par le directeur : align-items:start), aux deux
   habillages ; la forme ronde est voulue et ne change pas. */
html body a.coffre-pastille,html body .coffre-pastille{align-items:center !important;justify-content:center !important}
html body .coffre-pastille > svg,html body .coffre-pastille > span{align-self:center !important}
/* chantier 248 (LOT F) : une rangée de boutons centrée, quand la place d'un bouton seul dans une grille le rendrait bancal (offres.html, « Offrir ») ; deux habillages */
html body .uc-boutons.uc-boutons-centre{justify-content:center}
/* ===== CHANTIER 252 (LOT B1) — LA FICHE DE LA LISTE DE L'ANNUAIRE (annuaire.html, et les deux fiches d'exemple de partenaires.html). Le gabarit validé par Éric
   (Html\gabarit-liste-annuaire.html), DANS LES DEUX HABILLAGES : c'est une fonction (ce que le professionnel achète), pas une décoration. Elle remplace la
   fiche des chantiers 248 et 249 (visuel de 132 px, « Voir plus ») : la liste sert à TROUVER, le reste vit sur la page de l'annonce.
   UNE SEULE COLONNE. Une fiche tient en 156 px : le visuel (96 px, l'image validée ou l'initiale sur le losange d'or ; il se recadre, ne se déforme pas),
   le nom et son étiquette, une ligne « type · nature · ville » (coupée par « … »), deux lignes de description coupées proprement, « Voir la fiche ».
   Le texte ne déborde jamais de son cadre (min-width:0, mots longs coupés). Au-dessus de 900 px la page est zoomée × 1,1 : la fiche y annule ce zoom
   (zoom inverse), pour tenir ses 156 px VUS. ===== */
html body .ann-liste{grid-template-columns:minmax(0,1fr) !important}
html body .ann-f{display:flex;gap:16px;align-items:flex-start;box-sizing:border-box;margin:0;padding:14px 16px;list-style:none;
  background:var(--parchemin,#F7F2E9);border:1px solid var(--trait,rgba(31,40,51,.18));border-radius:var(--r-carte,4px);text-align:left;overflow:hidden;min-width:0}
html body .ann-f-vis{position:relative;flex:0 0 96px;width:96px;height:96px;border-radius:var(--r-champ,3px);overflow:hidden;background:var(--lin,#F2ECE1);
  border:1px solid var(--trait,rgba(31,40,51,.18));box-sizing:border-box;display:grid;place-items:center}
html body .ann-f-vis img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;max-width:none;max-height:none}
html body .ann-f-defaut::before{content:"";position:absolute;left:50%;top:50%;width:46px;height:46px;border:1.5px solid var(--nous,#A87B23);opacity:.55;transform:translate(-50%,-50%) rotate(45deg)}
html body .ann-f-ini{position:relative;font-family:'Marcellus',serif;font-size:30px;line-height:1;color:var(--or-petit,#7E5C18)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .ann-f-ini{color:#E3BC6A} }
:root[data-theme="dark"] .ann-f-ini{color:#E3BC6A}
html body .ann-f-corps{flex:1 1 auto;min-width:0}
html body .ann-f-tete{display:flex;align-items:baseline;gap:9px;flex-wrap:nowrap;margin:0 0 5px;min-width:0}
html body .ann-f .ann-f-nom{margin:0 !important;font-family:'Karla',sans-serif !important;font-weight:700;font-size:17px !important;line-height:1.25 !important;color:var(--encre,#1F2833);
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .ann-f-ex{flex:none;font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--or-petit,#7E5C18);border:1px solid var(--or-petit,#7E5C18);
  border-radius:var(--r-pilule,3px);padding:0 7px;line-height:20px;white-space:nowrap}
html body .ann-f .ann-f-meta{margin:0 0 7px !important;font-size:14px !important;line-height:1.4 !important;color:var(--encre-doux,#4A5563);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .ann-f-meta b{color:var(--encre,#1F2833);font-weight:600}
html body .ann-f .ann-f-desc{margin:0 0 9px !important;font-size:15px !important;line-height:1.5 !important;color:var(--encre,#1F2833);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
html body .ann-f-pied{display:flex;gap:9px;align-items:center;flex-wrap:nowrap;min-width:0;overflow:hidden}
html body .ann-f-lien{flex:none;font-size:15px;font-weight:700;color:var(--encre,#1F2833);text-decoration:underline;text-decoration-color:var(--or-petit,#7E5C18);text-underline-offset:3px}
html body .ann-f-tag{font-size:14px;color:var(--encre-doux,#4A5563);background:var(--lin,#F2ECE1);border-radius:var(--r-pilule,3px);padding:1px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (max-width:559.98px){
html body .ann-f{gap:12px;padding:12px 13px}
html body .ann-f-vis{flex:0 0 72px;width:72px;height:72px}
html body .ann-f-ini{font-size:24px}
}
@media screen and (min-width:900px) and (hover:hover) and (pointer:fine){
html body .ann-f{zoom:0.909091}   /* 1 / 1,1 */
}

/* ===== CHANTIER 255 (LOT B) — LA LISTE DE L'ANNUAIRE : DES CARTES, PAS DES LIGNES (gabarit refait et validé par Éric). LES DEUX HABILLAGES. Elle prend la place de
   la fiche en ligne des 252 et 253 (.ann-f, gardée plus haut, plus employée). Une grille : autant de colonnes qu'il tient de cartes de 310 px, 20 px entre elles ;
   une seule sous 420 px. CHAQUE CARTE FAIT 381 px VUS, toutes identiques : AUCUNE ne se déplie (c'est ce qui rend le vide impossible). L'image en haut, sur toute
   la largeur, 184 px, recadrée sans déformation ; sans image, le losange d'or et l'initiale. La carte entière est un lien ; au survol, elle se soulève de 2 px.
   Au-delà de 900 px la page est zoomée × 1,1 : la carte annule ce zoom pour tenir ses 381 px vus.
   CHANTIER 257 (LOT C), LES DEUX HABILLAGES : l'image passe de 184 à 260 px (Éric : « bien plus grosse » ; 184 px sur 495 de large faisaient une bande de 2,7 pour 1,
   260 px font 1,9 pour 1, le rapport du gabarit validé) ; la carte passe de 381 à 457 px VUS, toutes identiques. La grille, elle, s'adaptait déjà (auto-fill) : la
   valeur « 450px 450px » mesurée est ce que rend getComputedStyle pour une grille auto-fill résolue, pas une grille figée. ===== */
html body ul.ann-liste.ann-liste,html body .fiches.fiches-liste.fiches-liste{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr)) !important;gap:20px !important;align-items:start;padding:0;list-style:none}
@media (max-width:419.98px){html body ul.ann-liste.ann-liste,html body .fiches.fiches-liste.fiches-liste{grid-template-columns:minmax(0,1fr) !important}}
html body .ann-c{list-style:none;margin:0;padding:0;min-width:0}
html body .ann-c-a{display:flex;flex-direction:column;height:457px;box-sizing:border-box;background:var(--parchemin,#FFFFFF);border:1px solid var(--trait,#E2D5BB);
  border-radius:var(--r-carte,14px);overflow:hidden;text-decoration:none;color:var(--encre,#1F2833);transition:transform .18s ease,box-shadow .18s ease}
html body .ann-c-a:hover,html body .ann-c-a:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(40,30,10,.13)}
html body .ann-c-vis{position:relative;flex:0 0 260px;height:260px;background:var(--lin,#F2ECE1);overflow:hidden}
html body .ann-c-vis img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;max-width:none}
html body .ann-c-los{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border:2px solid var(--nous,#A87B23);transform:rotate(45deg);display:grid;place-items:center;box-sizing:border-box}
html body .ann-c-los span{transform:rotate(-45deg);font-family:'Marcellus',Georgia,serif;font-size:2rem;line-height:1;color:var(--or-petit,#7E5C18)}
html body .ann-c-eti{position:absolute;left:12px;top:12px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#FCFAF6;background:#7E5C18;border-radius:var(--r-pilule,4px);padding:2px 10px}
html body .ann-c-dist{position:absolute;left:12px;bottom:12px;font-size:14px;font-weight:600;color:#1F2833;background:rgba(252,250,246,.94);border-radius:var(--r-pilule,4px);padding:3px 11px}
html body .ann-c-corps{flex:1 1 auto;min-height:0;overflow:hidden;padding:14px 16px 10px}
html body .ann-c .ann-c-nom{margin:0 0 4px !important;font-family:'Marcellus',Georgia,serif !important;font-weight:400 !important;font-size:1.2rem !important;line-height:1.25 !important;
  color:var(--encre,#1F2833);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .ann-c .ann-c-meta{margin:0 0 7px !important;font-size:14px !important;line-height:1.4 !important;color:var(--encre-doux,#4A5563);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .ann-c-meta b{color:var(--or-petit,#7E5C18);font-weight:700}
html body .ann-c .ann-c-desc{margin:0 !important;font-size:15px !important;line-height:1.5 !important;color:var(--encre,#1F2833);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
html body .ann-c-pied{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--trait,#E2D5BB);font-size:14px}
html body .ann-c-voir{font-weight:700;color:var(--or-petit,#7E5C18);white-space:nowrap}
html body .ann-c-ville{color:var(--encre-doux,#4A5563);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* CHANTIER 256 (LOT E), LES DEUX HABILLAGES : la ville est un bouton posé SUR le pied, à droite (hors du lien de la carte) ; elle filtre la liste. 44 px de haut,
   la hauteur de la carte ne change pas (381 px vus ; 457 depuis le chantier 257). */
html body .ann-c{position:relative}
html body .ann-c > .ann-c-ville{position:absolute;right:1px;bottom:1px;height:44px;max-width:52%;display:flex;align-items:center;padding:0 16px;font:inherit;font-size:14px;
  background:transparent;border:0;border-radius:0;cursor:pointer;color:var(--encre-doux,#4A5563);text-decoration:underline dotted;text-underline-offset:3px;box-shadow:none;min-height:0}
html body .ann-c > button.ann-c-ville:hover,html body .ann-c > button.ann-c-ville:focus-visible{color:var(--or-petit,#7E5C18);text-decoration-style:solid}
html body .ann-ville-filtre,html body .ann-suivantes{align-items:center}
html body .ann-ville-nom{font-weight:700;margin-right:auto}
:root[data-forme="moderne"] .ann-c .ann-c-nom,:root[data-forme="moderne"] .ann-c-los span{font-family:'Karla',system-ui,sans-serif !important;font-weight:700 !important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ann-c-meta b,:root:not([data-theme="light"]) .ann-c-voir,:root:not([data-theme="light"]) .ann-c-los span{color:#E3BC6A}}
:root[data-theme="dark"] .ann-c-meta b,:root[data-theme="dark"] .ann-c-voir,:root[data-theme="dark"] .ann-c-los span{color:#E3BC6A}
@media (prefers-reduced-motion:reduce){html body .ann-c-a{transition:none}html body .ann-c-a:hover{transform:none}}
@media screen and (min-width:900px) and (hover:hover) and (pointer:fine){html body .ann-c{zoom:calc(1 / 1.1)}}
/* CHANTIER 255 (LOT B) : en moderne, la règle générale « tout trait à zéro » (moderne.css §§ 38-39) effaçait le contour du losange et le filet du pied : ils
   sont des dessins de la carte, ils restent (le poids d'un identifiant, par :is). Sur partenaires.html, deux cartes seulement : elles prennent la largeur (auto-fit),
   pas de troisième colonne vide. */
html body :is(#uc-poids, .ann-c) .ann-c-los{border:2px solid var(--nous,#A87B23) !important}
html body :is(#uc-poids, .ann-c) .ann-c-pied{border-top:1px solid var(--trait,#E2D5BB) !important}
:root[data-forme="moderne"] body :is(#uc-poids, .ann-c) .ann-c-a{border:0 !important;box-shadow:var(--m-ombre,0 4px 18px rgba(31,40,51,.1))}
html body .part-exemples .fiches.fiches-liste.fiches-liste,html body section .fiches.fiches-liste.fiches-liste:not(ul){grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr)) !important}

/* CHANTIER 262 (LOT 4.2) — LES BOUTONS DES OFFRES NE DÉPASSENT PAS 320 PX VUS SUR ORDINATEUR (règle des boutons, chantier 245, n° 5).
   Mesuré par le directeur à 1 440 px : 346 et 347 px vus (316 px CSS × le zoom de 1,1). Au-delà de 900 px à la souris, la page est zoomée :
   320 px vus = calc(320px / 1.1). Au téléphone (640 px et moins), la pleine largeur reste la règle : rien ne change. Les deux habillages. */
@media screen and (min-width:641px){
  html body .offre > a.bouton{ max-width:320px !important; margin-left:auto !important; margin-right:auto !important }
}
@media screen and (min-width:900px) and (hover:hover) and (pointer:fine){
  html body .offre > a.bouton{ max-width:calc(320px / 1.1) !important }
}
/* (LOT 4.2, suite) « Imprimer ou enregistrer en PDF » (trouver-de-l-aide-resultat) : 333 px vus ; sans l'interlettrage de .05 em, le texte et ses 20 px de chaque côté tiennent sous 320. */
@media screen and (min-width:900px) and (hover:hover) and (pointer:fine){
  html body :is(#uc-poids,.ra-bouton,.ra-bouton-sec):is(.ra-bouton,.ra-bouton-sec){ letter-spacing:0 !important; white-space:nowrap !important; padding-left:16px !important; padding-right:16px !important }
}
/* CHANTIER 263 (LOT 1) : le signe du cadeau (.offrir-bloc, accueil et offres). Les deux signes sont dans le HTML, côte à côte ; ici, le traditionnel montre
   le DESSIN fait main (au trait, couleur de la charte) et cache l'image ; moderne.css fait l'inverse sous :root[data-forme="moderne"]. Rien n'est retiré du HTML. */
.offrir-bloc .of-signe-tradi{display:block;width:100%;height:100%;color:var(--nous,#A87B23)}
.offrir-bloc .of-signe-tradi .of-dessin{display:block;width:100%;height:100%}
.offrir-bloc .of-signe-moderne{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .offrir-bloc .of-signe-tradi{color:#E3BC6A}}
:root[data-theme="dark"] .offrir-bloc .of-signe-tradi{color:#E3BC6A}

/* =====================================================================
   CHANTIER 265 (LOT 7) — LE TOURNIQUET « NOS PARTENAIRES » (restitution/uc-tourniquet.js). LES DEUX HABILLAGES : c'est une fonction, pas un décor.
   La place est RÉSERVÉE avant que le contenu arrive (min-height) : la page ne bouge pas quand les annonces se posent. Hors du <main> (un <aside>).
   L'écran qui coupe (le seuil du compte) : plein écran, opaque, la croix après 10 secondes.
   ===================================================================== */
aside.uc-tourniquet{display:block;max-width:1120px;margin:40px auto;padding:0 20px;box-sizing:border-box;min-height:260px}
.uc-tq-cadre{background:var(--lin,#F2ECE1);color:var(--encre,#1F2833);border-radius:18px;padding:18px 24px 24px;min-height:260px;box-sizing:border-box}
.uc-tq-tete{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap;margin:0 0 10px}
.uc-tq-nom{font-family:Karla,system-ui,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.15em;font-size:14px;margin:0;flex:1 1 auto;color:#7E5C18}
.uc-tq-commandes{display:flex;align-items:center;gap:6px}
.uc-tq-fleche{width:44px;height:44px;border:1.5px solid #7E5C18;border-radius:50%;background:transparent;color:inherit;font-size:22px;line-height:1;padding:0 0 3px;cursor:pointer;box-shadow:none}
.uc-tq-compte{margin:0;min-width:3.6em;text-align:center;font-size:15px;font-variant-numeric:tabular-nums;color:var(--encre-doux,#4A5563)}
.uc-tq-pause{min-height:44px;border:1.5px solid #7E5C18;border-radius:999px;padding:0 18px;background:transparent;color:inherit;font-family:Karla,system-ui,sans-serif;font-size:14px;font-weight:600;cursor:pointer;box-shadow:none}
.uc-tq-scene{display:grid}
.uc-tq-carte{margin:0;grid-area:1/1;min-width:0}
.uc-tq-carte[hidden]{display:block;visibility:hidden}   /* les cartes cachées gardent leur place : le cadre a la hauteur de la plus haute, il ne saute pas en tournant */
.uc-tq-carte.uc-tq-lit{border-top:4px solid var(--tq-lit,#A87B23);padding-top:14px}
.uc-tq-img{display:block;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover;border-radius:8px;margin:0 0 14px}
.uc-tq-pub{font-family:Karla,system-ui,sans-serif;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;color:#7E5C18}
.uc-tq-titre{font-family:Karla,system-ui,sans-serif;font-size:21px;font-weight:700;line-height:1.3;margin:0 0 8px;color:inherit}
.uc-tq-texte{font-size:17px;line-height:1.5;margin:0 0 16px;max-width:46rem;color:inherit}
a.uc-tq-lien{display:inline-flex;align-items:center;min-height:44px;padding:0 24px;border:1.5px solid #7E5C18;border-radius:999px;color:inherit;text-decoration:none;font-family:Karla,system-ui,sans-serif;font-weight:600;font-size:16px;box-sizing:border-box;max-width:100%}
a.uc-tq-lien:hover{background:rgba(168,123,35,.12)}
dialog.uc-tq-coupe{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:calc(var(--uc-haut,0px) + 20px) 20px 20px;border:0;background:var(--ivoire,#FCFAF6);color:var(--encre,#1F2833);box-sizing:border-box;overflow:auto}
dialog.uc-tq-coupe[open]{display:flex;align-items:center;justify-content:center}
dialog.uc-tq-coupe::backdrop{background:var(--ivoire,#FCFAF6)}
.uc-tq-boite{width:100%;max-width:720px}
.uc-tq-hote .uc-tq-cadre{min-height:280px}
.uc-tq-pied{display:flex;justify-content:flex-end;align-items:center;min-height:44px;margin:16px 0 0}
.uc-tq-attente{margin:0;font-size:16px;color:var(--encre-doux,#4A5563)}
.uc-tq-croix{min-height:44px;padding:0 24px;border:1.5px solid #7E5C18;border-radius:999px;background:transparent;color:inherit;font-family:Karla,system-ui,sans-serif;font-size:16px;font-weight:600;cursor:pointer}
@media (max-width:640px){aside.uc-tourniquet,.uc-tq-cadre{min-height:330px}.uc-tq-nom{flex-basis:100%}.uc-tq-cadre{padding:16px 18px 20px}.uc-tq-titre{font-size:19px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) :is(.uc-tq-nom,.uc-tq-pub){color:#E3BC6A}
  :root:not([data-theme="light"]) :is(.uc-tq-pause,.uc-tq-fleche,a.uc-tq-lien,.uc-tq-croix){border-color:#E3BC6A}}
:root[data-theme="dark"] :is(.uc-tq-nom,.uc-tq-pub){color:#E3BC6A}
:root[data-theme="dark"] :is(.uc-tq-pause,.uc-tq-fleche,a.uc-tq-lien,.uc-tq-croix){border-color:#E3BC6A}

/* =====================================================================
   CHANTIER 266 (LOT 6) — LES ANNONCES MAISON, AVEC DES PHOTOS (la forme d'Oh My Love : fond en dégradé, grosse typographie, grands arrondis, photo CARRÉE
   à coins ronds, le titre en BLANC dessus). LES DEUX HABILLAGES (c'est la fonction du tourniquet). Un voile sombre au bas de la photo tient le contraste du
   titre ; sans photo (fichier manquant), le fond sombre du carré le tient aussi : le cadre n'est jamais blanc. La place réservée suit la hauteur d'une carte.
   ===================================================================== */
aside.uc-tourniquet{min-height:400px}
.uc-tq-carte.uc-tq-maison{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px 28px;align-items:center;padding:16px;border-radius:24px;
  background:linear-gradient(135deg,var(--tq-a,#F7F2E9) 0%,var(--tq-b,#EFE6D4) 100%);color:#1F2833;box-sizing:border-box}
.uc-tq-carte.uc-tq-maison.uc-tq-lit{border-top:0;padding-top:16px;box-shadow:inset 0 4px 0 var(--tq-lit,#A87B23)}
.uc-tq-visuel{position:relative;width:100%;aspect-ratio:1/1;border-radius:24px;overflow:hidden;background:#232B36}
.uc-tq-visuel .uc-tq-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.uc-tq-visuel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,16,24,.82) 0%,rgba(10,16,24,.55) 38%,rgba(10,16,24,0) 72%);pointer-events:none}
.uc-tq-visuel .uc-tq-titre{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;margin:0;color:#FFFFFF;font-family:Karla,system-ui,sans-serif;font-size:25px;font-weight:800;line-height:1.18;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.uc-tq-cote{min-width:0}
.uc-tq-maison .uc-tq-texte{font-size:19px;line-height:1.5;margin:0 0 18px;color:#1F2833}
.uc-tq-maison a.uc-tq-lien{color:#1F2833;border-color:#7E5C18;background:rgba(255,255,255,.55)}
.uc-tq-maison a.uc-tq-lien:hover{background:rgba(255,255,255,.85)}
@media (max-width:640px){
  aside.uc-tourniquet,aside.uc-tourniquet .uc-tq-cadre{min-height:560px}
  .uc-tq-carte.uc-tq-maison{grid-template-columns:minmax(0,1fr);gap:16px;padding:14px;text-align:center}
  .uc-tq-maison .uc-tq-visuel{width:min(100%,260px);margin:0 auto}
  .uc-tq-maison .uc-tq-visuel .uc-tq-titre{font-size:22px;text-align:left}
  .uc-tq-maison .uc-tq-texte{font-size:17px;margin:0 0 14px}
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .uc-tq-maison a.uc-tq-lien{border-color:#7E5C18}}
:root[data-theme="dark"] .uc-tq-maison a.uc-tq-lien{border-color:#7E5C18}

/* CHANTIER 266 (LOT 7.2) : le bouton « Voir plus » de la Présentation n'existe qu'en moderne (moderne.css le montre) ; ailleurs, rien ne paraît */
.vp-rang{display:none}

/* CHANTIER 268 (LOT 9) — LE FOCUS SE VOIT, PARTOUT (les deux habillages : c'est une fonction). Un contour d'or de la charte sur tout ce qui prend le clavier,
   seulement au clavier (:focus-visible). Poids nul (:where) : tout style de focus déjà posé par une page garde la main ; seuls les éléments qui n'en avaient
   aucun reçoivent celui-ci. */
:where(a[href], button, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--nous,#A87B23);outline-offset:3px}
/* CHANTIER 268 (LOT 9) — LA LIGNE DU BAS DU PIED (« una-caro.org · édité par MARLITHA · Provence, France ») passe de 4,09 à 5,4 pour 1 : la même couleur
   de la charte, un voile moins transparent (.45 → .58). Rien d'autre ne bouge. */
html body .pied-bas{color:rgba(244,240,231,.58)}
/* La même chose, plus lourde (deux identifiants de poids), pour les liens et les boutons dont une règle de page met « outline:none » en permanence
   (« Voir un point fictif », « Voir un exemple d'analyse »… : relevé par HTML\banc\accessibilite.mjs). Au clavier seulement ; un « !important » voulu garde la main. */
html body :is(a[href], button, summary, [role="button"]):focus-visible:not(#uc-f1):not(#uc-f2){outline:3px solid var(--nous,#A87B23);outline-offset:3px}
