/* ==========================================================================
   Site de Maryline Bourgade — feuille de style unique
   --------------------------------------------------------------------------
   HTML/CSS/JS purs, aucune dépendance externe, aucune étape de build.
   Écrit en « mobile d'abord » : les media queries élargissent, jamais l'inverse.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. La seule police embarquée par le site
   --------------------------------------------------------------------------
   Dancing Script, pour le seul sous-titre de la bannière. Tout le reste du
   site s'appuie sur les polices du système : c'est le seul fichier de
   police servi, 25 Ko.

   Il est servi par le site lui-même, depuis assets/polices/ — rien n'est
   demandé à Google au chargement de la page. Licence SIL Open Font, qui
   autorise la redistribution et l'usage commercial.

   Graisse 600 et non 400 : le sous-titre se lit à nu sur la vidéo, sans
   encart pour le porter. Les traits fins d'une cursive légère s'y
   perdraient.

   `font-display: swap` : le texte s'affiche tout de suite dans la police de
   repli, puis se réaffiche dans la bonne. Mieux vaut un texte lisible tout
   de suite qu'un blanc de quelques centaines de millisecondes.
   -------------------------------------------------------------------------- */

@font-face {
  font-family: "Dancing Script";
  src: url("polices/dancing-script.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* --------------------------------------------------------------------------
   1. Jetons de design — la palette vient du logo Accueil/LogoAnge.png
   -------------------------------------------------------------------------- */

:root {
  /* Le dégradé de l'ange, du haut vers le bas */
  --peche:      #f6c4a0;
  --peche-pale: #fbe4d3;
  --rose:       #ee8ab4;
  --rose-pale:  #fadfe9;
  --magenta:    #c45fc4;
  --violet:     #7166d2;
  --violet-pale:#e2dff5;

  /* Encres — jamais de noir pur, ça durcit tout */
  --encre:      #3f3853;
  --encre-doux: #6f6885;
  --encre-tres-doux: #9a94ac;

  /* Fonds */
  --fond:       #fffbf8;
  --fond-creux: #fdf4f1;
  --blanc:      #ffffff;
  --trait:      #f0e4e6;

  /* Le dégradé signature, réutilisé partout */
  --degrade: linear-gradient(155deg,
              var(--peche) 0%,
              var(--rose) 38%,
              var(--magenta) 66%,
              var(--violet) 100%);

  /* Typographie */
  --titre: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua",
           Georgia, "Times New Roman", serif;
  --texte: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
           "Helvetica Neue", Arial, sans-serif;

  /* Sous-titre de la bannière, en Dancing Script. Quatre candidates ont été
     comparées sur la vidéo — Lobster, Dancing Script, Parisienne, Cormorant
     Garamond — et c'est celle-ci qui a été retenue ; les trois autres ont
     été supprimées.

     La taille est nettement plus grande que celle d'un serif : une cursive
     a une hauteur d'x réduite et des traits fins, elle porte donc moins à
     dimension égale. */
  --taille-soustitre: clamp(1.85rem, 5.2vw, 2.9rem);

  /* Taille des h1 du site. Nommée parce que la bannière s'en sert pour
     calculer la remontée du sous-titre juste en dessous. */
  --taille-titre: clamp(2.1rem, 7vw, 3.4rem);

  /* De combien le sous-titre remonte vers le nom. L'augmenter les rapproche.
     Ne déplace rien d'autre : la bannière répartit ses trois zones sur la
     hauteur, elle ne les empile pas par des marges successives. */
  --remontee-soustitre: calc(.42 * var(--taille-titre));

  /* Rythme */
  --large:   min(1120px, 100% - 2.5rem);
  --etroit:  min(680px, 100% - 2.5rem);
  --arrondi: 20px;
  --arrondi-doux: 12px;

  --ombre-douce: 0 2px 8px rgba(113, 102, 210, .05),
                 0 12px 32px rgba(113, 102, 210, .07);
  --ombre-levee: 0 4px 12px rgba(113, 102, 210, .08),
                 0 20px 48px rgba(113, 102, 210, .12);

  /* Titre et sous-titre de la bannière, posés à nu sur la vidéo.
     Volontairement très sombres : ils doivent tenir sur une image claire,
     et qui change tout au long de la boucle. Ce sont les deux réglages à
     reprendre si la lisibilité doit être revue. */
  --banniere-titre:     #1b1527;   /* presque noir, teinté violet */
  --banniere-soustitre: #2a2340;   /* un ton au-dessus, même famille */

  /* Dégradé du titre de la bannière — distinct du dégradé signature, qui
     reste inchangé partout ailleurs sur le site.

     Trois essais ont eu lieu, et c'est le troisième qui est en place :

       - le dégradé signature tel quel : trop clair, 1,2 à 2:1 de contraste,
         ses couleurs sont dans le même registre de luminosité que l'image ;
       - une version très foncée à 4,6:1 : lisible, mais tellement sombre
         que le dégradé ne se voyait plus, le nom paraissait uni ;
       - **celle-ci, à 3,3:1** : même chemin de teintes, avec un peu de
         saturation en plus pour que le passage d'une couleur à l'autre
         reste perceptible malgré l'assombrissement.

     Dans les trois cas, les quatre couleurs sont calées sur la *même*
     valeur de contraste à 0,02 près. C'est le point important : sinon une
     couleur décroche en cours de route et le titre semble s'interrompre en
     son milieu — ce que faisait le magenta avec les couleurs claires. */
  --degrade-titre: linear-gradient(155deg,
                     #6c2e00 0%,      /* pêche   -> ambre brûlé    */
                     #81073a 38%,     /* rose    -> framboise      */
                     #6b1f6b 66%,     /* magenta -> prune          */
                     #3325af 100%);   /* violet  -> outremer       */

  /* Les deux essais précédents, à ressortir au besoin :
     var(--degrade)                                    le clair d'origine
     linear-gradient(155deg, #471e00 0%, #590025 38%,
                             #481148 66%, #1e137e 100%)   le très sombre */
}

/* --------------------------------------------------------------------------
   2. Réglages de base
   -------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--fond);
  color: var(--encre);
  font-family: var(--texte);
  font-size: 1.0625rem;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3 {
  font-family: var(--titre);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin: 0 0 .6em;
}

h1 { font-size: var(--taille-titre); }
h2 { font-size: clamp(1.6rem, 4.6vw, 2.3rem); }
h3 { font-size: 1.25rem; }

/* Un titre de section beaucoup plus long que les autres — pour l'instant un
   seul, sur Contact défunt, qui fait 113 signes contre 18 à 33 pour ses
   voisins.

   ⚠️ La taille n'est pas choisie à l'œil. Le titre a été rendu dans la police
   des titres et son étendue d'encre mesurée : 50,16 em. À la taille commune de
   2,3 rem il occupait 1846 px, soit trois lignes pleines dans un panneau qui en
   offre 620 ; à 1,25 rem il en occupe 1003, soit un peu plus d'une ligne et
   demie — donc deux lignes.

   Il reste au-dessus du texte courant, qui est à 1 rem : c'est encore un titre,
   simplement un titre qui a beaucoup à dire. L'interlignage se resserre avec la
   taille, sinon deux lignes rapprochées paraissent flotter. */
.titre--long {
  font-size: clamp(1.1rem, 2.6vw, 1.25rem);
  line-height: 1.35;
}

p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

a { color: var(--magenta); text-underline-offset: .18em; }
a:hover { color: var(--violet); }

:focus-visible {
  outline: 2px solid var(--magenta);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Lien d'évitement — accessibilité clavier et lecteurs d'écran */
.evitement {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--blanc);
  color: var(--encre);
  padding: .75rem 1.25rem;
  z-index: 100;
  border-radius: 0 0 var(--arrondi-doux) 0;
}
.evitement:focus { left: 0; }

/* --------------------------------------------------------------------------
   3. Utilitaires de mise en page
   -------------------------------------------------------------------------- */

.large  { width: var(--large);  margin-inline: auto; }
.etroit { width: var(--etroit); margin-inline: auto; }

.section { padding-block: clamp(3.5rem, 10vw, 6rem); }
.section--creux { background: var(--fond-creux); }

/* Une section rose au milieu du bas de page vert : « Comment se déroule une
   séance », sur l'accueil, à la demande de Maryline le 23 août 2026.

   Deux valeurs se sont succédé. La première, #f0c7d4, pesait 1,52 contre le
   blanc — exactement le poids du vert qu'elle remplaçait. Maryline l'a trouvée
   trop soutenue : celle-ci, #f5dbe4, garde la même teinte et la même saturation
   et n'éclaircit que la clarté, de 86 à 91 %. Elle pèse 1,30.

   ⚠️ Conséquence : la section est maintenant plus CLAIRE que le vert qui
   l'entoure, alors que la première version pesait pareil. Elle avance donc un
   peu vers l'œil au lieu de rester au même plan. C'est visible et c'est
   voulu — mais si le bas de page paraît déséquilibré, c'est de là que ça
   vient.

   C'est une valeur en dur et non un jeton, parce qu'elle ne sert qu'ici : la
   poser sur `--fond-creux` aurait repeint toutes les sections en creux du bas
   de page.

   Mesuré sur ce rose, avec les encres du bloc `.foret` qui l'entoure : l'encre
   ordinaire rend 8,5:1, l'encre douce 5,9:1, la très douce 6,6:1, le surtitre
   5,8:1. Toutes gagnent à l'éclaircissement.

   ⚠️ Elle découpe le bas de la page en bandes : l'aurore, puis ce rose, puis le
   vert du pied. À regarder d'ensemble — si le patchwork gêne, c'est cette
   section-là qu'il faudra rendre au vert, pas les autres qu'il faudra rosir. */
/* Le vol de papillons du fond rose, demandé le 23 août 2026 — il a d'abord été
   un semis de fleurs, remplacé le même jour.

   Vingt-deux papillons verts et seize plus petits, comme lointains, semés au
   hasard dans une tuile de 640 px. Chacun est fait de quatre ellipses — deux
   grandes ailes hautes, deux petites ailes basses — d'un corps fin et de deux
   antennes en trait.

   ⚠️ La silhouette a demandé deux essais, et la leçon vaut d'être gardée. Au
   premier, les quatre ailes étaient rondes et se chevauchaient autour du corps :
   le résultat n'était pas un papillon mais une petite touffe. Ce qui fait lire
   « papillon », c'est que les ailes soient ALLONGÉES et que leur grand axe
   pointe vers l'extérieur — vers le haut pour les deux du dessus, vers le bas
   pour celles du dessous — et qu'un corps fin les sépare nettement en deux
   paires. Rendu et regardé avant d'être posé.

   Cinq verts différents, tirés au hasard : un semis d'une seule couleur se lit
   comme un motif imprimé.

   Les tailles, les angles et les opacités sont tous tirés au hasard. C'est ce
   qui empêche l'œil de retrouver la tuile — la régularité se voit bien avant
   la répétition.

   ⚠️ Aucun papillon n'approche à moins de 46 px du bord de la tuile. Un papillon
   coupé par la répétition dessinerait une couture verticale sur toute la hauteur
   de la section — même précaution que pour les étoiles de Contact défunt.

   Le vol passe DERRIÈRE le panneau de papier, qui est opaque : on ne le voit
   donc que dans les marges, autour de la page de carnet. C'est voulu — des
   papillons sous le texte le rendraient pénible à lire. */
.section--rose {
  /* ⚠️ Réduite le 23 août 2026 : « diminuer la taille de toute cette partie ».
     Six valeurs baissent ensemble — le rembourrage de la section, la largeur du
     panneau, son rembourrage à lui, le titre, le repère et le texte des deux
     paragraphes. N'en réduire qu'une aurait donné un bloc étroit resté haut, ou
     un grand cadre autour d'un petit texte. Les rapports entre les éléments
     sont conservés.

     L'encadré bleu du bas n'est pas touché : Maryline avait réglé sa taille
     séparément, deux jours plus tôt. */
  padding-block: clamp(2rem, 5.5vw, 3.2rem);
  background-color: #f5dbe4;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%3E%3Cg%20fill=%22%2369c2a6%22%20opacity=%220.39%22%20transform=%22rotate(-32%20552.8%20565.8)%22%3E%3Cellipse%20cx=%22535.4%22%20cy=%22556.3%22%20rx=%2217.5%22%20ry=%227.6%22%20transform=%22rotate(34%20535.4%20556.3)%22/%3E%3Cellipse%20cx=%22540.4%22%20cy=%22577.7%22%20rx=%2211.8%22%20ry=%225.9%22%20transform=%22rotate(-30%20540.4%20577.7)%22/%3E%3Cellipse%20cx=%22570.3%22%20cy=%22556.3%22%20rx=%2217.5%22%20ry=%227.6%22%20transform=%22rotate(-34%20570.3%20556.3)%22/%3E%3Cellipse%20cx=%22565.2%22%20cy=%22577.7%22%20rx=%2211.8%22%20ry=%225.9%22%20transform=%22rotate(30%20565.2%20577.7)%22/%3E%3Cellipse%20cx=%22552.8%22%20cy=%22565.8%22%20rx=%221.5%22%20ry=%2214.1%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2369c2a6%22%20stroke-width=%221.3%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M552.8,552.3%20q-3.4,-7.9%20-9.6,-10.7%22/%3E%3Cpath%20d=%22M552.8,552.3%20q3.4,-7.9%209.6,-10.7%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%235cb894%22%20opacity=%220.36%22%20transform=%22rotate(-18%20253.8%20242.2)%22%3E%3Cellipse%20cx=%22238.1%22%20cy=%22233.6%22%20rx=%2215.7%22%20ry=%226.8%22%20transform=%22rotate(34%20238.1%20233.6)%22/%3E%3Cellipse%20cx=%22242.6%22%20cy=%22252.9%22%20rx=%2210.6%22%20ry=%225.3%22%20transform=%22rotate(-30%20242.6%20252.9)%22/%3E%3Cellipse%20cx=%22269.5%22%20cy=%22233.6%22%20rx=%2215.7%22%20ry=%226.8%22%20transform=%22rotate(-34%20269.5%20233.6)%22/%3E%3Cellipse%20cx=%22264.9%22%20cy=%22252.9%22%20rx=%2210.6%22%20ry=%225.3%22%20transform=%22rotate(30%20264.9%20252.9)%22/%3E%3Cellipse%20cx=%22253.8%22%20cy=%22242.2%22%20rx=%221.4%22%20ry=%2212.7%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%235cb894%22%20stroke-width=%221.1%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M253.8,230.1%20q-3.0,-7.1%20-8.6,-9.6%22/%3E%3Cpath%20d=%22M253.8,230.1%20q3.0,-7.1%208.6,-9.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%234bbfa4%22%20opacity=%220.31%22%20transform=%22rotate(16%20295.4%2059.6)%22%3E%3Cellipse%20cx=%22286.4%22%20cy=%2254.7%22%20rx=%229.0%22%20ry=%223.9%22%20transform=%22rotate(34%20286.4%2054.7)%22/%3E%3Cellipse%20cx=%22289.0%22%20cy=%2265.6%22%20rx=%226.1%22%20ry=%223.0%22%20transform=%22rotate(-30%20289.0%2065.6)%22/%3E%3Cellipse%20cx=%22304.3%22%20cy=%2254.7%22%20rx=%229.0%22%20ry=%223.9%22%20transform=%22rotate(-34%20304.3%2054.7)%22/%3E%3Cellipse%20cx=%22301.7%22%20cy=%2265.6%22%20rx=%226.1%22%20ry=%223.0%22%20transform=%22rotate(30%20301.7%2065.6)%22/%3E%3Cellipse%20cx=%22295.4%22%20cy=%2259.6%22%20rx=%220.8%22%20ry=%227.2%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%234bbfa4%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M295.4,52.6%20q-1.7,-4.0%20-4.9,-5.5%22/%3E%3Cpath%20d=%22M295.4,52.6%20q1.7,-4.0%204.9,-5.5%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%235cb894%22%20opacity=%220.46%22%20transform=%22rotate(-22%20390.0%20282.3)%22%3E%3Cellipse%20cx=%22373.8%22%20cy=%22273.5%22%20rx=%2216.2%22%20ry=%227.0%22%20transform=%22rotate(34%20373.8%20273.5)%22/%3E%3Cellipse%20cx=%22378.5%22%20cy=%22293.3%22%20rx=%2211.0%22%20ry=%225.5%22%20transform=%22rotate(-30%20378.5%20293.3)%22/%3E%3Cellipse%20cx=%22406.1%22%20cy=%22273.5%22%20rx=%2216.2%22%20ry=%227.0%22%20transform=%22rotate(-34%20406.1%20273.5)%22/%3E%3Cellipse%20cx=%22401.4%22%20cy=%22293.3%22%20rx=%2211.0%22%20ry=%225.5%22%20transform=%22rotate(30%20401.4%20293.3)%22/%3E%3Cellipse%20cx=%22390.0%22%20cy=%22282.3%22%20rx=%221.4%22%20ry=%2213.1%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%235cb894%22%20stroke-width=%221.2%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M390.0,269.8%20q-3.1,-7.3%20-8.9,-9.9%22/%3E%3Cpath%20d=%22M390.0,269.8%20q3.1,-7.3%208.9,-9.9%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%237fc9ad%22%20opacity=%220.57%22%20transform=%22rotate(-10%20406.5%20386.3)%22%3E%3Cellipse%20cx=%22388.2%22%20cy=%22376.3%22%20rx=%2218.3%22%20ry=%228.0%22%20transform=%22rotate(34%20388.2%20376.3)%22/%3E%3Cellipse%20cx=%22393.6%22%20cy=%22398.7%22%20rx=%2212.4%22%20ry=%226.2%22%20transform=%22rotate(-30%20393.6%20398.7)%22/%3E%3Cellipse%20cx=%22424.8%22%20cy=%22376.3%22%20rx=%2218.3%22%20ry=%228.0%22%20transform=%22rotate(-34%20424.8%20376.3)%22/%3E%3Cellipse%20cx=%22419.5%22%20cy=%22398.7%22%20rx=%2212.4%22%20ry=%226.2%22%20transform=%22rotate(30%20419.5%20398.7)%22/%3E%3Cellipse%20cx=%22406.5%22%20cy=%22386.3%22%20rx=%221.6%22%20ry=%2214.8%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%237fc9ad%22%20stroke-width=%221.3%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M406.5,372.1%20q-3.5,-8.3%20-10.0,-11.2%22/%3E%3Cpath%20d=%22M406.5,372.1%20q3.5,-8.3%2010.0,-11.2%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.50%22%20transform=%22rotate(24%20200.1%20580.1)%22%3E%3Cellipse%20cx=%22186.0%22%20cy=%22572.4%22%20rx=%2214.1%22%20ry=%226.1%22%20transform=%22rotate(34%20186.0%20572.4)%22/%3E%3Cellipse%20cx=%22190.1%22%20cy=%22589.6%22%20rx=%229.6%22%20ry=%224.8%22%20transform=%22rotate(-30%20190.1%20589.6)%22/%3E%3Cellipse%20cx=%22214.2%22%20cy=%22572.4%22%20rx=%2214.1%22%20ry=%226.1%22%20transform=%22rotate(-34%20214.2%20572.4)%22/%3E%3Cellipse%20cx=%22210.1%22%20cy=%22589.6%22%20rx=%229.6%22%20ry=%224.8%22%20transform=%22rotate(30%20210.1%20589.6)%22/%3E%3Cellipse%20cx=%22200.1%22%20cy=%22580.1%22%20rx=%221.3%22%20ry=%2211.4%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%221.0%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M200.1,569.2%20q-2.7,-6.4%20-7.7,-8.6%22/%3E%3Cpath%20d=%22M200.1,569.2%20q2.7,-6.4%207.7,-8.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.45%22%20transform=%22rotate(-24%20369.7%20291.2)%22%3E%3Cellipse%20cx=%22354.8%22%20cy=%22283.1%22%20rx=%2214.8%22%20ry=%226.5%22%20transform=%22rotate(34%20354.8%20283.1)%22/%3E%3Cellipse%20cx=%22359.1%22%20cy=%22301.3%22%20rx=%2210.0%22%20ry=%225.0%22%20transform=%22rotate(-30%20359.1%20301.3)%22/%3E%3Cellipse%20cx=%22384.5%22%20cy=%22283.1%22%20rx=%2214.8%22%20ry=%226.5%22%20transform=%22rotate(-34%20384.5%20283.1)%22/%3E%3Cellipse%20cx=%22380.2%22%20cy=%22301.3%22%20rx=%2210.0%22%20ry=%225.0%22%20transform=%22rotate(30%20380.2%20301.3)%22/%3E%3Cellipse%20cx=%22369.7%22%20cy=%22291.2%22%20rx=%221.3%22%20ry=%2212.0%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%221.1%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M369.7,279.7%20q-2.9,-6.7%20-8.1,-9.1%22/%3E%3Cpath%20d=%22M369.7,279.7%20q2.9,-6.7%208.1,-9.1%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%234bbfa4%22%20opacity=%220.31%22%20transform=%22rotate(-32%20415.0%20331.0)%22%3E%3Cellipse%20cx=%22400.8%22%20cy=%22323.2%22%20rx=%2214.2%22%20ry=%226.2%22%20transform=%22rotate(34%20400.8%20323.2)%22/%3E%3Cellipse%20cx=%22404.9%22%20cy=%22340.6%22%20rx=%229.6%22%20ry=%224.8%22%20transform=%22rotate(-30%20404.9%20340.6)%22/%3E%3Cellipse%20cx=%22429.2%22%20cy=%22323.2%22%20rx=%2214.2%22%20ry=%226.2%22%20transform=%22rotate(-34%20429.2%20323.2)%22/%3E%3Cellipse%20cx=%22425.1%22%20cy=%22340.6%22%20rx=%229.6%22%20ry=%224.8%22%20transform=%22rotate(30%20425.1%20340.6)%22/%3E%3Cellipse%20cx=%22415.0%22%20cy=%22331.0%22%20rx=%221.3%22%20ry=%2211.4%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%234bbfa4%22%20stroke-width=%221.0%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M415.0,320.0%20q-2.7,-6.4%20-7.8,-8.7%22/%3E%3Cpath%20d=%22M415.0,320.0%20q2.7,-6.4%207.8,-8.7%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%237fc9ad%22%20opacity=%220.55%22%20transform=%22rotate(-13%20197.0%20359.9)%22%3E%3Cellipse%20cx=%22180.3%22%20cy=%22350.7%22%20rx=%2216.7%22%20ry=%227.3%22%20transform=%22rotate(34%20180.3%20350.7)%22/%3E%3Cellipse%20cx=%22185.2%22%20cy=%22371.2%22%20rx=%2211.3%22%20ry=%225.7%22%20transform=%22rotate(-30%20185.2%20371.2)%22/%3E%3Cellipse%20cx=%22213.7%22%20cy=%22350.7%22%20rx=%2216.7%22%20ry=%227.3%22%20transform=%22rotate(-34%20213.7%20350.7)%22/%3E%3Cellipse%20cx=%22208.9%22%20cy=%22371.2%22%20rx=%2211.3%22%20ry=%225.7%22%20transform=%22rotate(30%20208.9%20371.2)%22/%3E%3Cellipse%20cx=%22197.0%22%20cy=%22359.9%22%20rx=%221.5%22%20ry=%2213.5%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%237fc9ad%22%20stroke-width=%221.2%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M197.0,347.0%20q-3.2,-7.5%20-9.2,-10.2%22/%3E%3Cpath%20d=%22M197.0,347.0%20q3.2,-7.5%209.2,-10.2%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.33%22%20transform=%22rotate(-21%20343.1%20536.2)%22%3E%3Cellipse%20cx=%22330.2%22%20cy=%22529.2%22%20rx=%2212.9%22%20ry=%225.6%22%20transform=%22rotate(34%20330.2%20529.2)%22/%3E%3Cellipse%20cx=%22334.0%22%20cy=%22544.9%22%20rx=%228.7%22%20ry=%224.4%22%20transform=%22rotate(-30%20334.0%20544.9)%22/%3E%3Cellipse%20cx=%22356.0%22%20cy=%22529.2%22%20rx=%2212.9%22%20ry=%225.6%22%20transform=%22rotate(-34%20356.0%20529.2)%22/%3E%3Cellipse%20cx=%22352.2%22%20cy=%22544.9%22%20rx=%228.7%22%20ry=%224.4%22%20transform=%22rotate(30%20352.2%20544.9)%22/%3E%3Cellipse%20cx=%22343.1%22%20cy=%22536.2%22%20rx=%221.1%22%20ry=%2210.4%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%220.9%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M343.1,526.3%20q-2.5,-5.8%20-7.0,-7.9%22/%3E%3Cpath%20d=%22M343.1,526.3%20q2.5,-5.8%207.0,-7.9%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2369c2a6%22%20opacity=%220.34%22%20transform=%22rotate(-20%20475.5%20433.5)%22%3E%3Cellipse%20cx=%22458.7%22%20cy=%22424.3%22%20rx=%2216.8%22%20ry=%227.3%22%20transform=%22rotate(34%20458.7%20424.3)%22/%3E%3Cellipse%20cx=%22463.6%22%20cy=%22444.9%22%20rx=%2211.4%22%20ry=%225.7%22%20transform=%22rotate(-30%20463.6%20444.9)%22/%3E%3Cellipse%20cx=%22492.3%22%20cy=%22424.3%22%20rx=%2216.8%22%20ry=%227.3%22%20transform=%22rotate(-34%20492.3%20424.3)%22/%3E%3Cellipse%20cx=%22487.4%22%20cy=%22444.9%22%20rx=%2211.4%22%20ry=%225.7%22%20transform=%22rotate(30%20487.4%20444.9)%22/%3E%3Cellipse%20cx=%22475.5%22%20cy=%22433.5%22%20rx=%221.5%22%20ry=%2213.5%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2369c2a6%22%20stroke-width=%221.2%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M475.5,420.5%20q-3.3,-7.6%20-9.2,-10.3%22/%3E%3Cpath%20d=%22M475.5,420.5%20q3.3,-7.6%209.2,-10.3%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%235cb894%22%20opacity=%220.32%22%20transform=%22rotate(-4%20454.4%20101.0)%22%3E%3Cellipse%20cx=%22442.3%22%20cy=%2294.4%22%20rx=%2212.1%22%20ry=%225.3%22%20transform=%22rotate(34%20442.3%2094.4)%22/%3E%3Cellipse%20cx=%22445.8%22%20cy=%22109.2%22%20rx=%228.2%22%20ry=%224.1%22%20transform=%22rotate(-30%20445.8%20109.2)%22/%3E%3Cellipse%20cx=%22466.5%22%20cy=%2294.4%22%20rx=%2212.1%22%20ry=%225.3%22%20transform=%22rotate(-34%20466.5%2094.4)%22/%3E%3Cellipse%20cx=%22463.0%22%20cy=%22109.2%22%20rx=%228.2%22%20ry=%224.1%22%20transform=%22rotate(30%20463.0%20109.2)%22/%3E%3Cellipse%20cx=%22454.4%22%20cy=%22101.0%22%20rx=%221.1%22%20ry=%229.8%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%235cb894%22%20stroke-width=%220.9%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M454.4,91.6%20q-2.3,-5.5%20-6.6,-7.4%22/%3E%3Cpath%20d=%22M454.4,91.6%20q2.3,-5.5%206.6,-7.4%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.53%22%20transform=%22rotate(14%20274.1%2058.8)%22%3E%3Cellipse%20cx=%22257.5%22%20cy=%2249.7%22%20rx=%2216.6%22%20ry=%227.2%22%20transform=%22rotate(34%20257.5%2049.7)%22/%3E%3Cellipse%20cx=%22262.3%22%20cy=%2270.0%22%20rx=%2211.2%22%20ry=%225.6%22%20transform=%22rotate(-30%20262.3%2070.0)%22/%3E%3Cellipse%20cx=%22290.7%22%20cy=%2249.7%22%20rx=%2216.6%22%20ry=%227.2%22%20transform=%22rotate(-34%20290.7%2049.7)%22/%3E%3Cellipse%20cx=%22285.9%22%20cy=%2270.0%22%20rx=%2211.2%22%20ry=%225.6%22%20transform=%22rotate(30%20285.9%2070.0)%22/%3E%3Cellipse%20cx=%22274.1%22%20cy=%2258.8%22%20rx=%221.5%22%20ry=%2213.4%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%221.2%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M274.1,46.0%20q-3.2,-7.5%20-9.1,-10.2%22/%3E%3Cpath%20d=%22M274.1,46.0%20q3.2,-7.5%209.1,-10.2%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%237fc9ad%22%20opacity=%220.30%22%20transform=%22rotate(19%20566.0%20341.2)%22%3E%3Cellipse%20cx=%22547.5%22%20cy=%22331.0%22%20rx=%2218.5%22%20ry=%228.0%22%20transform=%22rotate(34%20547.5%20331.0)%22/%3E%3Cellipse%20cx=%22552.8%22%20cy=%22353.7%22%20rx=%2212.5%22%20ry=%226.3%22%20transform=%22rotate(-30%20552.8%20353.7)%22/%3E%3Cellipse%20cx=%22584.4%22%20cy=%22331.0%22%20rx=%2218.5%22%20ry=%228.0%22%20transform=%22rotate(-34%20584.4%20331.0)%22/%3E%3Cellipse%20cx=%22579.1%22%20cy=%22353.7%22%20rx=%2212.5%22%20ry=%226.3%22%20transform=%22rotate(30%20579.1%20353.7)%22/%3E%3Cellipse%20cx=%22566.0%22%20cy=%22341.2%22%20rx=%221.6%22%20ry=%2214.9%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%237fc9ad%22%20stroke-width=%221.3%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M566.0,326.8%20q-3.6,-8.3%20-10.1,-11.3%22/%3E%3Cpath%20d=%22M566.0,326.8%20q3.6,-8.3%2010.1,-11.3%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2369c2a6%22%20opacity=%220.36%22%20transform=%22rotate(-18%20477.9%20314.8)%22%3E%3Cellipse%20cx=%22469.5%22%20cy=%22310.2%22%20rx=%228.4%22%20ry=%223.7%22%20transform=%22rotate(34%20469.5%20310.2)%22/%3E%3Cellipse%20cx=%22472.0%22%20cy=%22320.6%22%20rx=%225.7%22%20ry=%222.9%22%20transform=%22rotate(-30%20472.0%20320.6)%22/%3E%3Cellipse%20cx=%22486.4%22%20cy=%22310.2%22%20rx=%228.4%22%20ry=%223.7%22%20transform=%22rotate(-34%20486.4%20310.2)%22/%3E%3Cellipse%20cx=%22483.9%22%20cy=%22320.6%22%20rx=%225.7%22%20ry=%222.9%22%20transform=%22rotate(30%20483.9%20320.6)%22/%3E%3Cellipse%20cx=%22477.9%22%20cy=%22314.8%22%20rx=%220.7%22%20ry=%226.8%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2369c2a6%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M477.9,308.3%20q-1.6,-3.8%20-4.6,-5.2%22/%3E%3Cpath%20d=%22M477.9,308.3%20q1.6,-3.8%204.6,-5.2%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2369c2a6%22%20opacity=%220.48%22%20transform=%22rotate(-30%20557.6%20566.8)%22%3E%3Cellipse%20cx=%22547.3%22%20cy=%22561.2%22%20rx=%2210.3%22%20ry=%224.5%22%20transform=%22rotate(34%20547.3%20561.2)%22/%3E%3Cellipse%20cx=%22550.3%22%20cy=%22573.9%22%20rx=%227.0%22%20ry=%223.5%22%20transform=%22rotate(-30%20550.3%20573.9)%22/%3E%3Cellipse%20cx=%22567.9%22%20cy=%22561.2%22%20rx=%2210.3%22%20ry=%224.5%22%20transform=%22rotate(-34%20567.9%20561.2)%22/%3E%3Cellipse%20cx=%22564.9%22%20cy=%22573.9%22%20rx=%227.0%22%20ry=%223.5%22%20transform=%22rotate(30%20564.9%20573.9)%22/%3E%3Cellipse%20cx=%22557.6%22%20cy=%22566.8%22%20rx=%220.9%22%20ry=%228.3%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2369c2a6%22%20stroke-width=%220.8%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M557.6,558.8%20q-2.0,-4.7%20-5.7,-6.3%22/%3E%3Cpath%20d=%22M557.6,558.8%20q2.0,-4.7%205.7,-6.3%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.55%22%20transform=%22rotate(-30%20424.5%20351.8)%22%3E%3Cellipse%20cx=%22413.9%22%20cy=%22346.0%22%20rx=%2210.6%22%20ry=%224.6%22%20transform=%22rotate(34%20413.9%20346.0)%22/%3E%3Cellipse%20cx=%22416.9%22%20cy=%22358.9%22%20rx=%227.2%22%20ry=%223.6%22%20transform=%22rotate(-30%20416.9%20358.9)%22/%3E%3Cellipse%20cx=%22435.0%22%20cy=%22346.0%22%20rx=%2210.6%22%20ry=%224.6%22%20transform=%22rotate(-34%20435.0%20346.0)%22/%3E%3Cellipse%20cx=%22432.0%22%20cy=%22358.9%22%20rx=%227.2%22%20ry=%223.6%22%20transform=%22rotate(30%20432.0%20358.9)%22/%3E%3Cellipse%20cx=%22424.5%22%20cy=%22351.8%22%20rx=%220.9%22%20ry=%228.5%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%220.8%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M424.5,343.6%20q-2.0,-4.8%20-5.8,-6.5%22/%3E%3Cpath%20d=%22M424.5,343.6%20q2.0,-4.8%205.8,-6.5%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2369c2a6%22%20opacity=%220.49%22%20transform=%22rotate(24%20289.7%20233.8)%22%3E%3Cellipse%20cx=%22272.2%22%20cy=%22224.3%22%20rx=%2217.5%22%20ry=%227.6%22%20transform=%22rotate(34%20272.2%20224.3)%22/%3E%3Cellipse%20cx=%22277.3%22%20cy=%22245.7%22%20rx=%2211.8%22%20ry=%225.9%22%20transform=%22rotate(-30%20277.3%20245.7)%22/%3E%3Cellipse%20cx=%22307.2%22%20cy=%22224.3%22%20rx=%2217.5%22%20ry=%227.6%22%20transform=%22rotate(-34%20307.2%20224.3)%22/%3E%3Cellipse%20cx=%22302.1%22%20cy=%22245.7%22%20rx=%2211.8%22%20ry=%225.9%22%20transform=%22rotate(30%20302.1%20245.7)%22/%3E%3Cellipse%20cx=%22289.7%22%20cy=%22233.8%22%20rx=%221.5%22%20ry=%2214.1%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2369c2a6%22%20stroke-width=%221.3%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M289.7,220.3%20q-3.4,-7.9%20-9.6,-10.7%22/%3E%3Cpath%20d=%22M289.7,220.3%20q3.4,-7.9%209.6,-10.7%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.45%22%20transform=%22rotate(11%20272.1%20425.8)%22%3E%3Cellipse%20cx=%22255.3%22%20cy=%22416.6%22%20rx=%2216.8%22%20ry=%227.3%22%20transform=%22rotate(34%20255.3%20416.6)%22/%3E%3Cellipse%20cx=%22260.2%22%20cy=%22437.2%22%20rx=%2211.4%22%20ry=%225.7%22%20transform=%22rotate(-30%20260.2%20437.2)%22/%3E%3Cellipse%20cx=%22288.9%22%20cy=%22416.6%22%20rx=%2216.8%22%20ry=%227.3%22%20transform=%22rotate(-34%20288.9%20416.6)%22/%3E%3Cellipse%20cx=%22284.0%22%20cy=%22437.2%22%20rx=%2211.4%22%20ry=%225.7%22%20transform=%22rotate(30%20284.0%20437.2)%22/%3E%3Cellipse%20cx=%22272.1%22%20cy=%22425.8%22%20rx=%221.5%22%20ry=%2213.6%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%221.2%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M272.1,412.8%20q-3.3,-7.6%20-9.2,-10.3%22/%3E%3Cpath%20d=%22M272.1,412.8%20q3.3,-7.6%209.2,-10.3%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%235cb894%22%20opacity=%220.53%22%20transform=%22rotate(8%20279.0%20209.8)%22%3E%3Cellipse%20cx=%22261.8%22%20cy=%22200.4%22%20rx=%2217.1%22%20ry=%227.5%22%20transform=%22rotate(34%20261.8%20200.4)%22/%3E%3Cellipse%20cx=%22266.8%22%20cy=%22221.4%22%20rx=%2211.6%22%20ry=%225.8%22%20transform=%22rotate(-30%20266.8%20221.4)%22/%3E%3Cellipse%20cx=%22296.1%22%20cy=%22200.4%22%20rx=%2217.1%22%20ry=%227.5%22%20transform=%22rotate(-34%20296.1%20200.4)%22/%3E%3Cellipse%20cx=%22291.1%22%20cy=%22221.4%22%20rx=%2211.6%22%20ry=%225.8%22%20transform=%22rotate(30%20291.1%20221.4)%22/%3E%3Cellipse%20cx=%22279.0%22%20cy=%22209.8%22%20rx=%221.5%22%20ry=%2213.8%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%235cb894%22%20stroke-width=%221.2%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M279.0,196.5%20q-3.3,-7.7%20-9.4,-10.5%22/%3E%3Cpath%20d=%22M279.0,196.5%20q3.3,-7.7%209.4,-10.5%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%234bbfa4%22%20opacity=%220.37%22%20transform=%22rotate(5%20105.4%20391.9)%22%3E%3Cellipse%20cx=%2293.9%22%20cy=%22385.6%22%20rx=%2211.6%22%20ry=%225.0%22%20transform=%22rotate(34%2093.9%20385.6)%22/%3E%3Cellipse%20cx=%2297.2%22%20cy=%22399.8%22%20rx=%227.8%22%20ry=%223.9%22%20transform=%22rotate(-30%2097.2%20399.8)%22/%3E%3Cellipse%20cx=%22117.0%22%20cy=%22385.6%22%20rx=%2211.6%22%20ry=%225.0%22%20transform=%22rotate(-34%20117.0%20385.6)%22/%3E%3Cellipse%20cx=%22113.6%22%20cy=%22399.8%22%20rx=%227.8%22%20ry=%223.9%22%20transform=%22rotate(30%20113.6%20399.8)%22/%3E%3Cellipse%20cx=%22105.4%22%20cy=%22391.9%22%20rx=%221.0%22%20ry=%229.3%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%234bbfa4%22%20stroke-width=%220.8%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M105.4,383.0%20q-2.2,-5.2%20-6.3,-7.1%22/%3E%3Cpath%20d=%22M105.4,383.0%20q2.2,-5.2%206.3,-7.1%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.55%22%20transform=%22rotate(3%20567.4%2089.1)%22%3E%3Cellipse%20cx=%22553.4%22%20cy=%2281.4%22%20rx=%2214.0%22%20ry=%226.1%22%20transform=%22rotate(34%20553.4%2081.4)%22/%3E%3Cellipse%20cx=%22557.5%22%20cy=%2298.5%22%20rx=%229.5%22%20ry=%224.7%22%20transform=%22rotate(-30%20557.5%2098.5)%22/%3E%3Cellipse%20cx=%22581.4%22%20cy=%2281.4%22%20rx=%2214.0%22%20ry=%226.1%22%20transform=%22rotate(-34%20581.4%2081.4)%22/%3E%3Cellipse%20cx=%22577.4%22%20cy=%2298.5%22%20rx=%229.5%22%20ry=%224.7%22%20transform=%22rotate(30%20577.4%2098.5)%22/%3E%3Cellipse%20cx=%22567.4%22%20cy=%2289.1%22%20rx=%221.2%22%20ry=%2211.3%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%221.0%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M567.4,78.2%20q-2.7,-6.3%20-7.7,-8.6%22/%3E%3Cpath%20d=%22M567.4,78.2%20q2.7,-6.3%207.7,-8.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%237fc9ad%22%20opacity=%220.24%22%20transform=%22rotate(-23%20591.8%20497.9)%22%3E%3Cellipse%20cx=%22585.0%22%20cy=%22494.2%22%20rx=%226.8%22%20ry=%223.0%22%20transform=%22rotate(34%20585.0%20494.2)%22/%3E%3Cellipse%20cx=%22587.0%22%20cy=%22502.5%22%20rx=%224.6%22%20ry=%222.3%22%20transform=%22rotate(-30%20587.0%20502.5)%22/%3E%3Cellipse%20cx=%22598.6%22%20cy=%22494.2%22%20rx=%226.8%22%20ry=%223.0%22%20transform=%22rotate(-34%20598.6%20494.2)%22/%3E%3Cellipse%20cx=%22596.6%22%20cy=%22502.5%22%20rx=%224.6%22%20ry=%222.3%22%20transform=%22rotate(30%20596.6%20502.5)%22/%3E%3Cellipse%20cx=%22591.8%22%20cy=%22497.9%22%20rx=%220.6%22%20ry=%225.5%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%237fc9ad%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M591.8,492.7%20q-1.3,-3.1%20-3.7,-4.2%22/%3E%3Cpath%20d=%22M591.8,492.7%20q1.3,-3.1%203.7,-4.2%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%235cb894%22%20opacity=%220.21%22%20transform=%22rotate(-30%20489.6%20107.3)%22%3E%3Cellipse%20cx=%22483.2%22%20cy=%22103.8%22%20rx=%226.4%22%20ry=%222.8%22%20transform=%22rotate(34%20483.2%20103.8)%22/%3E%3Cellipse%20cx=%22485.1%22%20cy=%22111.6%22%20rx=%224.3%22%20ry=%222.2%22%20transform=%22rotate(-30%20485.1%20111.6)%22/%3E%3Cellipse%20cx=%22496.1%22%20cy=%22103.8%22%20rx=%226.4%22%20ry=%222.8%22%20transform=%22rotate(-34%20496.1%20103.8)%22/%3E%3Cellipse%20cx=%22494.2%22%20cy=%22111.6%22%20rx=%224.3%22%20ry=%222.2%22%20transform=%22rotate(30%20494.2%20111.6)%22/%3E%3Cellipse%20cx=%22489.6%22%20cy=%22107.3%22%20rx=%220.6%22%20ry=%225.2%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%235cb894%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M489.6,102.3%20q-1.2,-2.9%20-3.5,-3.9%22/%3E%3Cpath%20d=%22M489.6,102.3%20q1.2,-2.9%203.5,-3.9%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%234bbfa4%22%20opacity=%220.28%22%20transform=%22rotate(20%20289.9%20274.0)%22%3E%3Cellipse%20cx=%22285.9%22%20cy=%22271.8%22%20rx=%224.0%22%20ry=%221.7%22%20transform=%22rotate(34%20285.9%20271.8)%22/%3E%3Cellipse%20cx=%22287.1%22%20cy=%22276.7%22%20rx=%222.7%22%20ry=%221.3%22%20transform=%22rotate(-30%20287.1%20276.7)%22/%3E%3Cellipse%20cx=%22293.9%22%20cy=%22271.8%22%20rx=%224.0%22%20ry=%221.7%22%20transform=%22rotate(-34%20293.9%20271.8)%22/%3E%3Cellipse%20cx=%22292.7%22%20cy=%22276.7%22%20rx=%222.7%22%20ry=%221.3%22%20transform=%22rotate(30%20292.7%20276.7)%22/%3E%3Cellipse%20cx=%22289.9%22%20cy=%22274.0%22%20rx=%220.4%22%20ry=%223.2%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%234bbfa4%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M289.9,270.9%20q-0.8,-1.8%20-2.2,-2.4%22/%3E%3Cpath%20d=%22M289.9,270.9%20q0.8,-1.8%202.2,-2.4%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%237fc9ad%22%20opacity=%220.32%22%20transform=%22rotate(3%20612.2%20450.9)%22%3E%3Cellipse%20cx=%22608.0%22%20cy=%22448.6%22%20rx=%224.3%22%20ry=%221.9%22%20transform=%22rotate(34%20608.0%20448.6)%22/%3E%3Cellipse%20cx=%22609.2%22%20cy=%22453.8%22%20rx=%222.9%22%20ry=%221.4%22%20transform=%22rotate(-30%20609.2%20453.8)%22/%3E%3Cellipse%20cx=%22616.5%22%20cy=%22448.6%22%20rx=%224.3%22%20ry=%221.9%22%20transform=%22rotate(-34%20616.5%20448.6)%22/%3E%3Cellipse%20cx=%22615.3%22%20cy=%22453.8%22%20rx=%222.9%22%20ry=%221.4%22%20transform=%22rotate(30%20615.3%20453.8)%22/%3E%3Cellipse%20cx=%22612.2%22%20cy=%22450.9%22%20rx=%220.4%22%20ry=%223.4%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%237fc9ad%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M612.2,447.6%20q-0.8,-1.9%20-2.3,-2.6%22/%3E%3Cpath%20d=%22M612.2,447.6%20q0.8,-1.9%202.3,-2.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%235cb894%22%20opacity=%220.29%22%20transform=%22rotate(-0%2074.3%20543.7)%22%3E%3Cellipse%20cx=%2267.9%22%20cy=%22540.2%22%20rx=%226.4%22%20ry=%222.8%22%20transform=%22rotate(34%2067.9%20540.2)%22/%3E%3Cellipse%20cx=%2269.8%22%20cy=%22548.0%22%20rx=%224.3%22%20ry=%222.2%22%20transform=%22rotate(-30%2069.8%20548.0)%22/%3E%3Cellipse%20cx=%2280.7%22%20cy=%22540.2%22%20rx=%226.4%22%20ry=%222.8%22%20transform=%22rotate(-34%2080.7%20540.2)%22/%3E%3Cellipse%20cx=%2278.9%22%20cy=%22548.0%22%20rx=%224.3%22%20ry=%222.2%22%20transform=%22rotate(30%2078.9%20548.0)%22/%3E%3Cellipse%20cx=%2274.3%22%20cy=%22543.7%22%20rx=%220.6%22%20ry=%225.2%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%235cb894%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M74.3,538.8%20q-1.2,-2.9%20-3.5,-3.9%22/%3E%3Cpath%20d=%22M74.3,538.8%20q1.2,-2.9%203.5,-3.9%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%237fc9ad%22%20opacity=%220.22%22%20transform=%22rotate(-15%20382.4%20196.2)%22%3E%3Cellipse%20cx=%22377.7%22%20cy=%22193.6%22%20rx=%224.7%22%20ry=%222.1%22%20transform=%22rotate(34%20377.7%20193.6)%22/%3E%3Cellipse%20cx=%22379.1%22%20cy=%22199.4%22%20rx=%223.2%22%20ry=%221.6%22%20transform=%22rotate(-30%20379.1%20199.4)%22/%3E%3Cellipse%20cx=%22387.1%22%20cy=%22193.6%22%20rx=%224.7%22%20ry=%222.1%22%20transform=%22rotate(-34%20387.1%20193.6)%22/%3E%3Cellipse%20cx=%22385.8%22%20cy=%22199.4%22%20rx=%223.2%22%20ry=%221.6%22%20transform=%22rotate(30%20385.8%20199.4)%22/%3E%3Cellipse%20cx=%22382.4%22%20cy=%22196.2%22%20rx=%220.4%22%20ry=%223.8%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%237fc9ad%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M382.4,192.6%20q-0.9,-2.1%20-2.6,-2.9%22/%3E%3Cpath%20d=%22M382.4,192.6%20q0.9,-2.1%202.6,-2.9%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%234bbfa4%22%20opacity=%220.30%22%20transform=%22rotate(39%20575.5%20118.3)%22%3E%3Cellipse%20cx=%22571.7%22%20cy=%22116.2%22%20rx=%223.9%22%20ry=%221.7%22%20transform=%22rotate(34%20571.7%20116.2)%22/%3E%3Cellipse%20cx=%22572.8%22%20cy=%22120.9%22%20rx=%222.6%22%20ry=%221.3%22%20transform=%22rotate(-30%20572.8%20120.9)%22/%3E%3Cellipse%20cx=%22579.4%22%20cy=%22116.2%22%20rx=%223.9%22%20ry=%221.7%22%20transform=%22rotate(-34%20579.4%20116.2)%22/%3E%3Cellipse%20cx=%22578.3%22%20cy=%22120.9%22%20rx=%222.6%22%20ry=%221.3%22%20transform=%22rotate(30%20578.3%20120.9)%22/%3E%3Cellipse%20cx=%22575.5%22%20cy=%22118.3%22%20rx=%220.3%22%20ry=%223.1%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%234bbfa4%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M575.5,115.3%20q-0.7,-1.7%20-2.1,-2.4%22/%3E%3Cpath%20d=%22M575.5,115.3%20q0.7,-1.7%202.1,-2.4%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%237fc9ad%22%20opacity=%220.34%22%20transform=%22rotate(-12%20547.7%20343.0)%22%3E%3Cellipse%20cx=%22541.9%22%20cy=%22339.8%22%20rx=%225.9%22%20ry=%222.6%22%20transform=%22rotate(34%20541.9%20339.8)%22/%3E%3Cellipse%20cx=%22543.6%22%20cy=%22347.0%22%20rx=%224.0%22%20ry=%222.0%22%20transform=%22rotate(-30%20543.6%20347.0)%22/%3E%3Cellipse%20cx=%22553.6%22%20cy=%22339.8%22%20rx=%225.9%22%20ry=%222.6%22%20transform=%22rotate(-34%20553.6%20339.8)%22/%3E%3Cellipse%20cx=%22551.9%22%20cy=%22347.0%22%20rx=%224.0%22%20ry=%222.0%22%20transform=%22rotate(30%20551.9%20347.0)%22/%3E%3Cellipse%20cx=%22547.7%22%20cy=%22343.0%22%20rx=%220.5%22%20ry=%224.7%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%237fc9ad%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M547.7,338.5%20q-1.1,-2.6%20-3.2,-3.6%22/%3E%3Cpath%20d=%22M547.7,338.5%20q1.1,-2.6%203.2,-3.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%237fc9ad%22%20opacity=%220.27%22%20transform=%22rotate(49%20109.9%20243.4)%22%3E%3Cellipse%20cx=%22104.2%22%20cy=%22240.3%22%20rx=%225.6%22%20ry=%222.5%22%20transform=%22rotate(34%20104.2%20240.3)%22/%3E%3Cellipse%20cx=%22105.9%22%20cy=%22247.2%22%20rx=%223.8%22%20ry=%221.9%22%20transform=%22rotate(-30%20105.9%20247.2)%22/%3E%3Cellipse%20cx=%22115.5%22%20cy=%22240.3%22%20rx=%225.6%22%20ry=%222.5%22%20transform=%22rotate(-34%20115.5%20240.3)%22/%3E%3Cellipse%20cx=%22113.9%22%20cy=%22247.2%22%20rx=%223.8%22%20ry=%221.9%22%20transform=%22rotate(30%20113.9%20247.2)%22/%3E%3Cellipse%20cx=%22109.9%22%20cy=%22243.4%22%20rx=%220.5%22%20ry=%224.6%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%237fc9ad%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M109.9,239.0%20q-1.1,-2.5%20-3.1,-3.5%22/%3E%3Cpath%20d=%22M109.9,239.0%20q1.1,-2.5%203.1,-3.5%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.30%22%20transform=%22rotate(35%20285.6%20532.8)%22%3E%3Cellipse%20cx=%22281.1%22%20cy=%22530.3%22%20rx=%224.5%22%20ry=%222.0%22%20transform=%22rotate(34%20281.1%20530.3)%22/%3E%3Cellipse%20cx=%22282.4%22%20cy=%22535.9%22%20rx=%223.1%22%20ry=%221.5%22%20transform=%22rotate(-30%20282.4%20535.9)%22/%3E%3Cellipse%20cx=%22290.2%22%20cy=%22530.3%22%20rx=%224.5%22%20ry=%222.0%22%20transform=%22rotate(-34%20290.2%20530.3)%22/%3E%3Cellipse%20cx=%22288.8%22%20cy=%22535.9%22%20rx=%223.1%22%20ry=%221.5%22%20transform=%22rotate(30%20288.8%20535.9)%22/%3E%3Cellipse%20cx=%22285.6%22%20cy=%22532.8%22%20rx=%220.4%22%20ry=%223.6%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M285.6,529.3%20q-0.9,-2.0%20-2.5,-2.8%22/%3E%3Cpath%20d=%22M285.6,529.3%20q0.9,-2.0%202.5,-2.8%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2343a67f%22%20opacity=%220.24%22%20transform=%22rotate(-42%20358.0%20301.9)%22%3E%3Cellipse%20cx=%22353.0%22%20cy=%22299.1%22%20rx=%225.0%22%20ry=%222.2%22%20transform=%22rotate(34%20353.0%20299.1)%22/%3E%3Cellipse%20cx=%22354.4%22%20cy=%22305.2%22%20rx=%223.4%22%20ry=%221.7%22%20transform=%22rotate(-30%20354.4%20305.2)%22/%3E%3Cellipse%20cx=%22362.9%22%20cy=%22299.1%22%20rx=%225.0%22%20ry=%222.2%22%20transform=%22rotate(-34%20362.9%20299.1)%22/%3E%3Cellipse%20cx=%22361.5%22%20cy=%22305.2%22%20rx=%223.4%22%20ry=%221.7%22%20transform=%22rotate(30%20361.5%20305.2)%22/%3E%3Cellipse%20cx=%22358.0%22%20cy=%22301.9%22%20rx=%220.4%22%20ry=%224.0%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2343a67f%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M358.0,298.0%20q-1.0,-2.2%20-2.7,-3.1%22/%3E%3Cpath%20d=%22M358.0,298.0%20q1.0,-2.2%202.7,-3.1%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%234bbfa4%22%20opacity=%220.28%22%20transform=%22rotate(24%20110.1%20520.4)%22%3E%3Cellipse%20cx=%22106.1%22%20cy=%22518.2%22%20rx=%224.0%22%20ry=%221.7%22%20transform=%22rotate(34%20106.1%20518.2)%22/%3E%3Cellipse%20cx=%22107.2%22%20cy=%22523.1%22%20rx=%222.7%22%20ry=%221.4%22%20transform=%22rotate(-30%20107.2%20523.1)%22/%3E%3Cellipse%20cx=%22114.1%22%20cy=%22518.2%22%20rx=%224.0%22%20ry=%221.7%22%20transform=%22rotate(-34%20114.1%20518.2)%22/%3E%3Cellipse%20cx=%22112.9%22%20cy=%22523.1%22%20rx=%222.7%22%20ry=%221.4%22%20transform=%22rotate(30%20112.9%20523.1)%22/%3E%3Cellipse%20cx=%22110.1%22%20cy=%22520.4%22%20rx=%220.4%22%20ry=%223.2%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%234bbfa4%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M110.1,517.3%20q-0.8,-1.8%20-2.2,-2.5%22/%3E%3Cpath%20d=%22M110.1,517.3%20q0.8,-1.8%202.2,-2.5%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2369c2a6%22%20opacity=%220.21%22%20transform=%22rotate(20%20237.5%20608.7)%22%3E%3Cellipse%20cx=%22231.9%22%20cy=%22605.6%22%20rx=%225.7%22%20ry=%222.5%22%20transform=%22rotate(34%20231.9%20605.6)%22/%3E%3Cellipse%20cx=%22233.5%22%20cy=%22612.6%22%20rx=%223.8%22%20ry=%221.9%22%20transform=%22rotate(-30%20233.5%20612.6)%22/%3E%3Cellipse%20cx=%22243.2%22%20cy=%22605.6%22%20rx=%225.7%22%20ry=%222.5%22%20transform=%22rotate(-34%20243.2%20605.6)%22/%3E%3Cellipse%20cx=%22241.5%22%20cy=%22612.6%22%20rx=%223.8%22%20ry=%221.9%22%20transform=%22rotate(30%20241.5%20612.6)%22/%3E%3Cellipse%20cx=%22237.5%22%20cy=%22608.7%22%20rx=%220.5%22%20ry=%224.6%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2369c2a6%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M237.5,604.3%20q-1.1,-2.6%20-3.1,-3.5%22/%3E%3Cpath%20d=%22M237.5,604.3%20q1.1,-2.6%203.1,-3.5%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%2369c2a6%22%20opacity=%220.29%22%20transform=%22rotate(-48%20602.9%20564.6)%22%3E%3Cellipse%20cx=%22598.6%22%20cy=%22562.3%22%20rx=%224.3%22%20ry=%221.9%22%20transform=%22rotate(34%20598.6%20562.3)%22/%3E%3Cellipse%20cx=%22599.8%22%20cy=%22567.5%22%20rx=%222.9%22%20ry=%221.5%22%20transform=%22rotate(-30%20599.8%20567.5)%22/%3E%3Cellipse%20cx=%22607.1%22%20cy=%22562.3%22%20rx=%224.3%22%20ry=%221.9%22%20transform=%22rotate(-34%20607.1%20562.3)%22/%3E%3Cellipse%20cx=%22605.9%22%20cy=%22567.5%22%20rx=%222.9%22%20ry=%221.5%22%20transform=%22rotate(30%20605.9%20567.5)%22/%3E%3Cellipse%20cx=%22602.9%22%20cy=%22564.6%22%20rx=%220.4%22%20ry=%223.5%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%2369c2a6%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M602.9,561.3%20q-0.8,-1.9%20-2.4,-2.6%22/%3E%3Cpath%20d=%22M602.9,561.3%20q0.8,-1.9%202.4,-2.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%235cb894%22%20opacity=%220.31%22%20transform=%22rotate(-20%20576.7%20198.0)%22%3E%3Cellipse%20cx=%22570.2%22%20cy=%22194.4%22%20rx=%226.5%22%20ry=%222.8%22%20transform=%22rotate(34%20570.2%20194.4)%22/%3E%3Cellipse%20cx=%22572.1%22%20cy=%22202.4%22%20rx=%224.4%22%20ry=%222.2%22%20transform=%22rotate(-30%20572.1%20202.4)%22/%3E%3Cellipse%20cx=%22583.2%22%20cy=%22194.4%22%20rx=%226.5%22%20ry=%222.8%22%20transform=%22rotate(-34%20583.2%20194.4)%22/%3E%3Cellipse%20cx=%22581.3%22%20cy=%22202.4%22%20rx=%224.4%22%20ry=%222.2%22%20transform=%22rotate(30%20581.3%20202.4)%22/%3E%3Cellipse%20cx=%22576.7%22%20cy=%22198.0%22%20rx=%220.6%22%20ry=%225.2%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%235cb894%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M576.7,192.9%20q-1.3,-2.9%20-3.6,-4.0%22/%3E%3Cpath%20d=%22M576.7,192.9%20q1.3,-2.9%203.6,-4.0%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%235cb894%22%20opacity=%220.21%22%20transform=%22rotate(-37%20381.1%20374.3)%22%3E%3Cellipse%20cx=%22376.4%22%20cy=%22371.7%22%20rx=%224.7%22%20ry=%222.1%22%20transform=%22rotate(34%20376.4%20371.7)%22/%3E%3Cellipse%20cx=%22377.8%22%20cy=%22377.5%22%20rx=%223.2%22%20ry=%221.6%22%20transform=%22rotate(-30%20377.8%20377.5)%22/%3E%3Cellipse%20cx=%22385.9%22%20cy=%22371.7%22%20rx=%224.7%22%20ry=%222.1%22%20transform=%22rotate(-34%20385.9%20371.7)%22/%3E%3Cellipse%20cx=%22384.5%22%20cy=%22377.5%22%20rx=%223.2%22%20ry=%221.6%22%20transform=%22rotate(30%20384.5%20377.5)%22/%3E%3Cellipse%20cx=%22381.1%22%20cy=%22374.3%22%20rx=%220.4%22%20ry=%223.8%22/%3E%3Cg%20fill=%22none%22%20stroke=%22%235cb894%22%20stroke-width=%220.7%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M381.1,370.6%20q-0.9,-2.1%20-2.6,-2.9%22/%3E%3Cpath%20d=%22M381.1,370.6%20q0.9,-2.1%202.6,-2.9%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 640px 640px;
}

/* La section « Comment se déroule une séance », posée comme la page d'un livre.

   Le panneau est en papier ivoire et non en blanc : un blanc pur sur du rose
   fait écran d'ordinateur, un ivoire fait feuille. Les quatre bords sont
   marqués — un filet fin couleur ficelle, une ombre portée courte et décalée
   vers le bas, et un liseré clair à l'intérieur du bord haut, qui imite la
   tranche éclairée d'une feuille posée à plat.

   L'angle est presque droit (2 px) : le papier ne s'arrondit pas. C'est le seul
   endroit du site où l'on n'emploie pas `--arrondi`, et c'est volontaire.

   La marge rose verticale, à gauche, est la marque du carnet d'école. Le texte
   est décalé au-delà d'elle : sans ce décalage, la ligne passerait au travers
   des mots au lieu de les border.

   Le panneau est plus large que la colonne de lecture — 760 px au lieu de
   680 — précisément de ce que lui coûtent ses marges intérieures. La longueur
   des lignes reste donc celle du reste du site, seul le fond change. C'est le
   même calcul que pour les panneaux blancs des pages de prestation.

   ⚠️ Pas de lignes horizontales : un vrai carnet en aurait, mais elles ne
   tomberaient juste que sur les paragraphes. Les titres, la liste à repères et
   l'encadré bleu ont d'autres hauteurs de ligne, et les rayures passeraient en
   travers. Une page de livre n'en a pas non plus — c'est la lecture retenue.

   Mesuré sur l'ivoire : l'encre rend 10,7:1, l'encre douce 7,4:1, le repère
   7,3:1. */
.section--rose > .etroit {
  position: relative;
  width: min(640px, 100% - 2.5rem);
  padding: clamp(1.35rem, 3.6vw, 2rem) clamp(1.05rem, 3.2vw, 1.7rem)
           clamp(1.35rem, 3.6vw, 1.85rem);
  padding-left: clamp(2.1rem, 5.2vw, 3rem);
  background: #fdfbf5;
  border: 1px solid #e6ddc9;
  border-radius: 2px;
  box-shadow: inset 0 1px 0 #fffdf8,
              0 10px 26px -14px rgba(63, 56, 83, .32);
}
/* Les corps du panneau, réduits avec lui. Le titre descend de 2,3 à 1,6 rem au
   maximum, le repère de .95 à .85, le texte des paragraphes d'un vingtième —
   assez pour que le bloc rétrécisse, pas assez pour qu'il devienne pénible à
   lire. Le seuil de confort en lecture courante est aux alentours de 15 px ;
   on est à 15,2. */
.section--rose h2 { font-size: clamp(1.25rem, 3vw, 1.6rem); }
.section--rose .surtitre { font-size: .85rem; }
.section--rose .reperes li { font-size: .95rem; }

.section--rose > .etroit::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(1.5rem, 3.8vw, 2.3rem);
  width: 1px;
  background: #e8a9be;
}

/* La page Contact, sur la première image de son dossier : deux silhouettes qui
   se tendent la main de part et d'autre d'un pont de pierre, dans une lumière
   dorée. Elle a d'abord porté le papillon du logo, remplacé le même jour.

   Le sujet tombe juste pour cette page — c'est une image de lien tendu.

   Le montage est celui de la page des tarifs : la photographie en fond, fixée
   sur la fenêtre plutôt que sur la hauteur du document, et un panneau
   translucide sous chaque colonne de texte. La photo reste entièrement visible
   dans les marges ; sous le texte, on la devine.

   ⚠️ Le panneau est indispensable, ce n'est pas un ornement. La photographie
   descend à 0,015 de luminance dans ses ombres — mesuré sur ses 14 400 pixels
   réduits — et un texte sombre y serait invisible.

   Il est passé de 78 % à 55 % de blanc le 23 août 2026 : « rendre plus
   transparent l'encadré ». Presque la moitié de l'image se voit maintenant au
   travers.

   ⚠️ CE N'ÉTAIT POSSIBLE QU'EN ASSOMBRISSANT DEUX ENCRES. À 78 %, celles de la
   page tenaient tout juste ; à 55 % elles tombaient sous le seuil — l'encre
   douce à 4,42:1, le surtitre à 4,38:1. Elles ont donc été descendues encore
   d'un cran : l'encre douce à #46415a et le surtitre à #6a2f6a. Mesuré sur le
   composite à 55 % : 6,4:1 pour l'encre du site, 5,6:1 pour l'encre douce,
   5,5:1 pour le surtitre.

   ⚠️ La règle générale, valable pour toute la page : baisser l'opacité du
   panneau sans assombrir les encres les fait passer sous le seuil en silence.
   Les deux vont ensemble.

   ⚠️ DEUX ENCRES ONT DÛ ÊTRE ASSOMBRIES, et c'est le vrai piège de cette page.
   Elle emploie `.reperes` et `.chapo`, tous deux en encre douce : celle du site
   (#6f6885) ne rend que 4,2:1 sur le panneau, sous le seuil. Elle passe à
   #55506b, qui rend 6,1:1. Le surtitre magenta, lui, tomberait à 2,9:1 : il
   prend le magenta assombri de l'accueil, 4,7:1.

   ⚠️ L'image ne fait que 600 × 600. En `cover` sur une fenêtre de 1440 px, elle
   est agrandie deux fois et demie — c'est une peinture douce, elle le supporte,
   mais ce serait visible sur une image nette. Étant carrée dans une fenêtre en
   largeur, elle perd aussi le haut et le bas : le pont et les deux silhouettes
   restent au centre, c'est l'essentiel. */
.contact {
  --encre-doux: #46415a;

  background-color: var(--fond);
  background-image: url("../Contact/22b3dd10ffd8457ba8a0565aa5ad2c4d.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
.contact .surtitre { color: #6a2f6a; }

/* ⚠️ Les panneaux ont été resserrés deux fois le 23 août 2026 : 680 px de
   colonne de lecture d'abord ramenés à 520, puis à 420, avec le rembourrage à
   chaque fois. Sur un écran de 1440 px, l'image se voit donc sur 1020 px de
   large, contre 760 au départ.

   C'est tenable parce que la page ne porte presque plus de texte suivi depuis
   que sa dernière section a été supprimée : un titre, deux phrases et un
   bouton.

   Troisième resserrement le même jour : 420 → 300 px, le chapô ayant été
   supprimé entre-temps. C'est lui qui interdisait de descendre plus bas.

   ⚠️ 300 px EST MAINTENANT LA LIMITE, et elle est mesurée, pas estimée. Les
   éléments ont été rendus un à un dans leurs polices et leur étendue d'encre
   relevée : « Contact », au corps du titre, fait 187 px ; le surtitre en
   capitales espacées, 156 px ; le bouton avec son rembourrage, 170 px. Le
   panneau laisse 264 px de contenu, ce qui les tient tous les trois avec de la
   marge. En dessous de 300, le titre commencerait à toucher les bords.

   ⚠️ La taille du titre n'a PAS bougé et ne doit pas bouger : Maryline l'a
   demandé explicitement. C'est le cadre qui se resserre autour de lui, pas lui
   qui rapetisse. La seule pastille de la page — « Réponse personnelle, sans
   engagement de votre part », 335 px sur une ligne — se replie sur deux lignes,
   ce qui est sans conséquence. */
/* ⚠️ Depuis le 23 août 2026, SEUL LE BANDEAU DE TITRE porte un panneau. Celui
   du bloc du bouton a été retiré à la demande de Maryline : l'image se voit
   ainsi sur toute la hauteur de la page, sans interruption.

   C'était possible parce que ce bloc n'a presque pas de texte nu — la mention
   « Réponse personnelle » a sa propre pastille blanche, le bouton son fond
   plein. Seule l'adresse en clair restait à découvert : elle a reçu une
   pastille à son tour, juste en dessous. Sans cela, elle se serait perdue dans
   les zones sombres de la peinture. */
.contact .tete-page > .etroit {
  width: min(300px, 100% - 2.5rem);
  background: rgba(255, 255, 255, .55);
  border-radius: var(--arrondi);
  padding: clamp(.75rem, 2vw, 1.05rem) clamp(.8rem, 2.2vw, 1.05rem);
}
/* Le bandeau de tête et les sections en creux perdent leur propre fond : sur
   une photographie, deux aplats superposés se voient l'un derrière l'autre. */
.contact .tete-page,
.contact .section--creux { background: none; border-bottom: 0; }

/* Les trois blocs de la page se rapprochent — demandé le 23 août 2026 pour le
   formulaire, appliqué aux trois pour que les écarts restent égaux.

   ⚠️ L'espace entre deux sections est la SOMME de deux rembourrages, celui du
   bas de l'une et celui du haut de l'autre : le site en pose jusqu'à 6 rem de
   chaque côté, soit douze entre la carte d'identité et le formulaire. Réduire
   un seul des deux n'aurait donné que la moitié du résultat. Ici les deux
   descendent à 1,8 rem, ce qui ramène l'écart de 192 à 58 px sur un grand
   écran.

   Cette page peut se le permettre : elle ne porte que trois blocs, tous
   encadrés. Sur une page de texte suivi, un tel resserrement collerait les
   paragraphes. */
.contact .section    { padding-block: clamp(.9rem, 2.6vw, 1.8rem); }
.contact .tete-page  { padding-block: clamp(1.5rem, 4vw, 2.4rem) clamp(.9rem, 2.6vw, 1.8rem); }

/* La carte d'identité de la page Contact : le nom, l'adresse, le numéro.

   ⚠️ Maryline l'a demandée « transparente ». Elle l'est autant qu'elle peut
   l'être : 50 % de blanc, et pas zéro. La raison est mesurable — la peinture
   descend à 0,015 de luminance dans ses ombres, et un texte posé dessus sans
   rien y tomberait à 1,4:1, c'est-à-dire invisible. À 50 %, l'encre du site
   garde 5,2:1. C'est le point le plus transparent qui reste lisible ; en
   dessous, les trois lignes disparaîtraient par endroits selon ce que la
   fenêtre montre de l'image.

   Pas de bordure, pas d'ombre, un arrondi seulement : c'est ce qui la fait lire
   comme un voile posé sur l'image plutôt que comme un encadré.

   Le nom est en serif, tout le reste en sans : le premier annonce, les autres
   renseignent.

   ⚠️ Le nom ressort par TROIS moyens à la fois, demandés le 23 août 2026, et
   c'est leur cumul qui compte : il est passé sur sa propre ligne, séparé de la
   fonction ; son corps a été porté de 1,25 à 1,95 rem, soit une fois et demie ;
   et il a gagné un interlettrage très léger, qui donne de l'assise à un nom
   propre sans le faire paraître espacé.

   Sa taille n'est pas libre : « Maryline Bourgade » mesure environ 255 px au
   corps retenu, pour 380 px de contenu dans la carte. Au-delà de 2,2 rem il
   passerait sur deux lignes, ce qui défait précisément ce qu'on cherche. */
.carte-identite {
  width: min(420px, 100% - 2.5rem);
  background: rgba(255, 255, 255, .50);
  border-radius: var(--arrondi);
  padding: clamp(.9rem, 2.6vw, 1.3rem) clamp(1rem, 2.8vw, 1.4rem);
}
.identite__nom {
  margin: 0 0 .15rem;
  font-family: var(--titre);
  font-size: clamp(1.45rem, 3.4vw, 1.95rem);
  line-height: 1.2;
  letter-spacing: .01em;
  color: var(--encre);
}
.identite__role {
  margin: 0 0 .9rem;
  font-size: .95rem;
  line-height: 1.4;
  color: var(--encre);
}
.identite__ligne {
  margin: 0 0 .35rem;
  font-size: 1rem;
  line-height: 1.5;
}
.identite__ligne:last-child { margin-bottom: 0; }
/* ⚠️ Le magenta a dû être assombri DEUX fois pour ce voile, et le second coup
   n'était pas prévu. Celui du site rend 1,9:1 dessus ; celui déjà assombri de
   la page, #8a2f8a, n'atteint que 3,91:1 — au-dessous du seuil alors qu'il
   suffisait ailleurs. Celui-ci rend 5,2:1.

   La leçon : une encre validée sur un voile à 68 % ne l'est pas sur un voile à
   50 %. Chaque niveau de transparence demande sa propre mesure. */
.identite__ligne a { color: #6f2470; }

/* Le formulaire de la page Contact.

   ⚠️ Il n'envoie rien par lui-même : voir le commentaire du HTML et celui du
   script. Ce qui suit ne décrit que son apparence.

   Il vit dans son propre panneau, plus large que celui du titre — 460 px contre
   300 — parce qu'un champ de saisie de 260 px de large est inconfortable à
   remplir, surtout au téléphone. Le panneau est un peu plus opaque que les
   autres, à 68 % : un champ de formulaire doit se distinguer sans hésitation de
   ce qui l'entoure, plus qu'un paragraphe.

   Les étiquettes sont AU-DESSUS des champs et non à côté. C'est ce que Maryline
   a demandé, et c'est aussi ce qui tient le mieux sur un téléphone : à côté,
   elles imposent une colonne fixe qui écrase le champ.

   ⚠️ La zone de message n'a pas de `resize` bloqué : on la laisse redimensionnable
   à la main EN PLUS de son agrandissement automatique. Les deux ne se gênent
   pas, et certaines personnes préfèrent tirer le coin.

   Mesuré sur le composite du panneau : l'encre du site rend 7,8:1, l'étiquette
   en encre douce assombrie 6,9:1. */
.formulaire-cadre {
  width: min(460px, 100% - 2.5rem);
  background: rgba(255, 255, 255, .68);
  border-radius: var(--arrondi);
  padding: clamp(1rem, 2.8vw, 1.5rem) clamp(1rem, 2.8vw, 1.4rem);
}

/* La ligne de délai, sous le titre du formulaire. Demandée le 24 août 2026,
   « entre parenthèses » et « plus petit ».

   ⚠️ Sa taille a fait trois pas le même jour : « écris plus petit » avant de
   l'avoir vue (0,82 rem), puis « plus gros » (1 rem), puis « encore plus gros »
   — 1,2 rem, où elle en est. Elle porte l'écart avec le formulaire, que le
   titre portait avant elle.

   ⚠️ Le titre au-dessus monte jusqu'à 2,3 rem, il reste donc de la marge : ce
   n'est pas lui qui borne cette ligne. Ce qui la borne est plus bas — à partir
   de 1,4 rem environ, une parenthèse devient plus grosse que tout le contenu du
   formulaire qu'elle annonce, et l'ordre de lecture s'inverse.

   ⚠️ Elle prend `--encre` et NON `--encre-doux`, alors qu'une note appelle
   plutôt l'encre douce. Mesuré sur le cadre du formulaire — du blanc à 68 %
   par-dessus la peinture au papillon — l'encre douce donne 4,1:1 en moyenne et
   tombe à 2,6:1 sur les parties sombres de la peinture. L'encre pleine tient
   8,6:1 et 5,5:1. Le fond de ce cadre n'est pas uniforme : c'est ce qui
   interdit l'encre douce ici, là où elle irait ailleurs. */
.note-delai {
  margin: 0 0 1.4rem;
  text-align: center;
  font-size: 1.2rem;
  color: var(--encre);
}

/* Un soulignement DANS le fil du texte, pour une portion de phrase. Créé le
   24 août 2026 : elle a demandé de souligner « il ne possède en aucun cas la
   Vérité », au milieu d'un paragraphe de la page Guidance et Voyance.

   Le site avait déjà deux soulignements, mais tous deux réservés à un TITRE
   (`#en-pratique h2` et le titre d'une mise en avant). Celui-ci est le premier
   qui s'applique à quelques mots au fil d'une phrase, d'où une classe à part et
   non un troisième cas particulier.

   ⚠️ Épaisseur et écart en `em`, pour suivre le corps du texte où qu'il soit
   posé. L'écart de 0,2 em évite que le trait ne coupe les jambages des p, des j
   et des q — la même précaution que pour les deux autres. */
.souligne {
  text-decoration: underline;
  text-decoration-thickness: .06em;
  text-underline-offset: .2em;
}

.champ {
  display: block;
  margin-bottom: 1rem;
}
.champ label {
  display: block;
  margin-bottom: .3rem;
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--encre);
}
.champ input,
.champ textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: .55rem .7rem;
  font: inherit;
  font-size: 1rem;          /* jamais moins de 16 px : en dessous, iOS zoome
                               tout seul sur le champ au moment de la saisie */
  color: var(--encre);
  background: rgba(255, 255, 255, .92);
  border: 1px solid #b9b2c8;
  border-radius: var(--arrondi-doux);
}
.champ textarea {
  min-height: 7rem;
  line-height: 1.5;
  overflow: hidden;         /* le script règle la hauteur : pas de barre */
}
.champ input:focus,
.champ textarea:focus {
  outline: 2px solid var(--magenta);
  outline-offset: 1px;
  border-color: var(--magenta);
}

/* La case à cocher et sa phrase, sur une même ligne, alignées par le haut pour
   que la case reste en face de la première ligne si la phrase se replie. */
.champ-accord {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin-bottom: 1.3rem;
}
.champ-accord input {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .15rem;
  accent-color: var(--magenta);
}
.champ-accord label {
  font-size: .92rem;
  color: var(--encre);
}

/* La réponse du formulaire. Elle reste dans la page même vide — un élément
   `aria-live` ajouté après coup n'est pas annoncé par tous les lecteurs
   d'écran, il doit être là depuis le début. */
.formulaire__reponse {
  margin: 1rem 0 0;
  padding: 0;
  font-size: .95rem;
  line-height: 1.5;
  text-align: center;
}
.formulaire__reponse--succes,
.formulaire__reponse--erreur {
  padding: .6rem .8rem;
  border-radius: var(--arrondi-doux);
}
/* Les deux couleurs sont mesurées sur leur propre fond : 6,1:1 pour le vert,
   6,4:1 pour le rouge. Et le message ne repose jamais sur la seule couleur —
   son texte dit ce qui se passe. */
.formulaire__reponse--succes {
  background: rgba(214, 240, 228, .92);
  color: #175c3c;
}
.formulaire__reponse--erreur {
  background: rgba(250, 224, 224, .92);
  color: #8f2020;
}

/* L'adresse en clair, seule ligne de texte nu de la page depuis le retrait du
   panneau du bas. Elle prend la forme d'une pastille, comme la mention
   au-dessus d'elle, pour ne pas se perdre sur la peinture.

   ⚠️ Le magenta du site (#c45fc4) ne tient pas sur ce fond translucide — 3,3:1
   sur le composite. Celui-ci, assombri, rend 5,7:1. C'est la même règle que
   partout sur cette page : un fond plus transparent oblige à assombrir ce qui
   s'écrit dessus. */
.contact .adresse {
  display: inline-block;
  padding: .35rem .95rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  font-size: .95rem;
}
.contact .adresse a,
.contact .adresse strong { color: #8a2f8a; }

/* La bande blanche qui porte la citation, sur l'accueil.

   La citation est une photographie ; posée à même le vert de la page, elle
   faisait un rectangle rapporté. Cette bande lui donne une marge neutre tout
   autour, comme le passe-partout d'un cadre.

   Elle est pleine largeur et non bornée par la colonne : c'est une respiration
   dans la page, elle doit aller d'un bord à l'autre. Son rembourrage vertical
   remplace celui que la citation portait en marge — sans quoi le blanc et le
   vert se seraient additionnés en un grand vide.

   ⚠️ Cette marge du haut et du bas est reprise à la citation elle-même, dont la
   `margin-block` est neutralisée ici. Rétablir l'une sans retirer l'autre
   doublerait l'espace. */
.bande-blanche {
  /* Le fond de la citation : de la lumière et des étoiles, sur du blanc.

     La première version imitait une plaque de glace, avec des ombres gris-bleu.
     Maryline a demandé autre chose le 23 août 2026 — « des étoiles et de la
     lumière » — et le principe s'inverse : ce ne sont plus des ombres qui
     creusent la surface, ce sont des points clairs qui l'éclairent.

     Cinq couches, du plus proche de l'œil au plus lointain :

     1. cent vingt ÉTOILES à quatre branches et quatre cent vingt grains de
        poussière d'or, semés au hasard dans une tuile de 560 px. Le semis est
        parti de 14 étoiles et 46 grains ; il a été multiplié par quatre, puis
        encore par deux et demi, le 23 août 2026 — « beaucoup plus d'étoiles »,
        puis « encore plus ». Les étoiles ont été rapetissées à chaque fois : à
        densité égale, la taille d'avant faisait un motif chargé au lieu d'un
        ciel.

        ⚠️ Le dessin pèse maintenant 71 Ko encodé, contre 8 au départ. C'est
        cher pour un fond, et c'est ce qui limitera la prochaine augmentation
        bien avant l'œil. Une piste si l'on doit aller plus loin : réduire la
        tuile à 400 px, ce qui donne la même densité pour trois fois moins
        d'astres à décrire — au prix d'une répétition plus rapprochée. C'est exactement la
        forme employée par les graines de pissenlit de la page des tarifs et par
        le ciel de Contact défunt : le site n'a qu'une façon de dessiner une
        étoile ;
     2. un grain très fin, à 4 %, qui donne son relief à la surface — sans lui,
        les étoiles flottent sur un vide parfaitement lisse ;
     3 et 4. deux nappes de lumière, l'une crème et chaude en haut à gauche,
        l'autre lilas et froide en bas à droite. Elles sont en CSS et non dans
        la tuile : répétées tous les 560 px, elles auraient fait une grille de
        halos. Dimensionnées en pourcentage, elles ne se répètent jamais ;
     5. un voile clair au bord haut, comme une lumière rasante.

     ⚠️ Les étoiles sont DORÉES et non blanches. Sur un fond blanc, un point
     blanc n'existe pas — c'est l'erreur qu'on fait naturellement en pensant
     « étoile ». Il fallait des ors et des ocres, assez soutenus pour se voir et
     assez dilués pour ne pas devenir un motif.

     ⚠️ Aucune étoile n'approche à moins de 26 px du bord de la tuile, pour que
     la répétition n'en coupe aucune. */
  background-color: var(--blanc);
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20560%20560%22%3E%3Cpath%20d=%22M32,77.2%20C32.8,81.3%2034.0,82.5%2038.1,83%20C34.0,83.7%2032.8,84.9%2032,89.0%20C31.7,84.9%2030.5,83.7%2026.4,83%20C30.5,82.5%2031.7,81.3%2032,77.2%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.31%22/%3E%3Cpath%20d=%22M509,289.8%20C509.5,295.5%20511.1,297.1%20516.8,298%20C511.1,298.7%20509.5,300.3%20509,305.9%20C507.9,300.3%20506.3,298.7%20500.7,298%20C506.3,297.1%20507.9,295.5%20509,289.8%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Cpath%20d=%22M402,358.3%20C402.7,361.1%20403.5,362.0%20406.4,362%20C403.5,362.8%20402.7,363.6%20402,366.5%20C401.8,363.6%20401.0,362.8%20398.1,362%20C401.0,362.0%20401.8,361.1%20402,358.3%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.51%22/%3E%3Cpath%20d=%22M293,122.9%20C294.0,127.9%20295.4,129.4%20300.5,130%20C295.4,130.8%20294.0,132.3%20293,137.3%20C292.5,132.3%20291.1,130.8%20286.0,130%20C291.1,129.4%20292.5,127.9%20293,122.9%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.31%22/%3E%3Cpath%20d=%22M503,226.1%20C503.9,229.3%20504.8,230.2%20508.0,231%20C504.8,231.2%20503.9,232.1%20503,235.2%20C503.0,232.1%20502.1,231.2%20498.9,231%20C502.1,230.2%20503.0,229.3%20503,226.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Cpath%20d=%22M329,143.1%20C330.0,148.8%20331.6,150.4%20337.3,151%20C331.6,152.1%20330.0,153.7%20329,159.4%20C328.4,153.7%20326.8,152.1%20321.1,151%20C326.8,150.4%20328.4,148.8%20329,143.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.46%22/%3E%3Cpath%20d=%22M304,501.6%20C305.0,507.8%20306.7,509.6%20313.0,511%20C306.7,511.4%20305.0,513.2%20304,519.4%20C303.2,513.2%20301.4,511.4%20295.2,511%20C301.4,509.6%20303.2,507.8%20304,501.6%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Cpath%20d=%22M101,424.6%20C101.6,428.7%20102.7,429.8%20106.8,430%20C102.7,431.0%20101.6,432.1%20101,436.2%20C100.4,432.1%2099.3,431.0%2095.2,430%20C99.3,429.8%20100.4,428.7%20101,424.6%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.51%22/%3E%3Cpath%20d=%22M467,352.1%20C467.6,355.4%20468.5,356.3%20471.8,357%20C468.5,357.3%20467.6,358.2%20467,361.5%20C466.7,358.2%20465.7,357.3%20462.4,357%20C465.7,356.3%20466.7,355.4%20467,352.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.50%22/%3E%3Cpath%20d=%22M124,346.9%20C124.9,350.2%20125.9,351.1%20129.1,352%20C125.9,352.0%20124.9,353.0%20124,356.3%20C124.0,353.0%20123.0,352.0%20119.8,352%20C123.0,351.1%20124.0,350.2%20124,346.9%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Cpath%20d=%22M175,310.0%20C175.7,314.6%20177.0,315.9%20181.5,317%20C177.0,317.2%20175.7,318.5%20175,323.0%20C174.4,318.5%20173.1,317.2%20168.6,317%20C173.1,315.9%20174.4,314.6%20175,310.0%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.53%22/%3E%3Cpath%20d=%22M514,512.1%20C515.3,519.0%20517.3,521.0%20524.3,522%20C517.3,523.0%20515.3,525.0%20514,532.0%20C513.4,525.0%20511.4,523.0%20504.4,522%20C511.4,521.0%20513.4,519.0%20514,512.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.55%22/%3E%3Cpath%20d=%22M310,492.6%20C311.3,498.8%20313.1,500.6%20319.3,501%20C313.1,502.4%20311.3,504.1%20310,510.4%20C309.5,504.1%20307.8,502.4%20301.5,501%20C307.8,500.6%20309.5,498.8%20310,492.6%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.33%22/%3E%3Cpath%20d=%22M124,486.6%20C124.7,491.7%20126.1,493.1%20131.2,494%20C126.1,494.6%20124.7,496.1%20124,501.2%20C123.2,496.1%20121.8,494.6%20116.6,494%20C121.8,493.1%20123.2,491.7%20124,486.6%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.57%22/%3E%3Cpath%20d=%22M366,165.4%20C366.7,169.1%20367.7,170.2%20371.4,171%20C367.7,171.2%20366.7,172.3%20366,176.0%20C365.6,172.3%20364.6,171.2%20360.9,171%20C364.6,170.2%20365.6,169.1%20366,165.4%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Cpath%20d=%22M129,189.7%20C129.5,193.9%20130.7,195.0%20134.9,196%20C130.7,196.2%20129.5,197.4%20129,201.6%20C128.3,197.4%20127.1,196.2%20123.0,196%20C127.1,195.0%20128.3,193.9%20129,189.7%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.46%22/%3E%3Cpath%20d=%22M86,66.3%20C87.0,73.3%2088.9,75.2%2095.8,76%20C88.9,77.2%2087.0,79.2%2086,86.1%20C85.0,79.2%2083.0,77.2%2076.1,76%20C83.0,75.2%2085.0,73.3%2086,66.3%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.57%22/%3E%3Cpath%20d=%22M128,98.5%20C129.2,105.5%20131.1,107.5%20138.1,108%20C131.1,109.5%20129.2,111.5%20128,118.4%20C127.2,111.5%20125.2,109.5%20118.2,108%20C125.2,107.5%20127.2,105.5%20128,98.5%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.43%22/%3E%3Cpath%20d=%22M279,421.4%20C279.6,425.0%20280.6,426.0%20284.1,427%20C280.6,427.0%20279.6,428.1%20279,431.6%20C278.5,428.1%20277.5,427.0%20274.0,427%20C277.5,426.0%20278.5,425.0%20279,421.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.57%22/%3E%3Cpath%20d=%22M275,317.1%20C276.0,323.4%20277.8,325.2%20284.1,326%20C277.8,327.0%20276.0,328.8%20275,335.1%20C274.1,328.8%20272.3,327.0%20266.0,326%20C272.3,325.2%20274.1,323.4%20275,317.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Cpath%20d=%22M394,368.2%20C395.3,375.1%20397.3,377.0%20404.2,378%20C397.3,379.0%20395.3,380.9%20394,387.8%20C393.4,380.9%20391.4,379.0%20384.5,378%20C391.4,377.0%20393.4,375.1%20394,368.2%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Cpath%20d=%22M415,520.8%20C415.4,524.7%20416.5,525.8%20420.4,526%20C416.5,527.0%20415.4,528.1%20415,532.0%20C414.3,528.1%20413.2,527.0%20409.3,526%20C413.2,525.8%20414.3,524.7%20415,520.8%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Cpath%20d=%22M322,242.5%20C323.0,249.5%20325.0,251.5%20332.0,252%20C325.0,253.5%20323.0,255.5%20322,262.4%20C321.0,255.5%20319.0,253.5%20312.1,252%20C319.0,251.5%20321.0,249.5%20322,242.5%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Cpath%20d=%22M466,44.0%20C466.3,49.2%20467.7,50.7%20472.9,51%20C467.7,52.1%20466.3,53.6%20466,58.8%20C464.8,53.6%20463.3,52.1%20458.1,51%20C463.3,50.7%20464.8,49.2%20466,44.0%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.52%22/%3E%3Cpath%20d=%22M507,458.3%20C507.7,463.8%20509.3,465.4%20514.8,466%20C509.3,467.0%20507.7,468.6%20507,474.1%20C506.1,468.6%20504.5,467.0%20499.0,466%20C504.5,465.4%20506.1,463.8%20507,458.3%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.43%22/%3E%3Cpath%20d=%22M379,283.3%20C379.9,289.7%20381.7,291.5%20388.1,292%20C381.7,293.3%20379.9,295.1%20379,301.4%20C378.1,295.1%20376.3,293.3%20370.0,292%20C376.3,291.5%20378.1,289.7%20379,283.3%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Cpath%20d=%22M125,332.9%20C125.4,336.6%20126.5,337.7%20130.2,338%20C126.5,338.7%20125.4,339.8%20125,343.5%20C124.3,339.8%20123.3,338.7%20119.6,338%20C123.3,337.7%20124.3,336.6%20125,332.9%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.39%22/%3E%3Cpath%20d=%22M215,285.9%20C215.3,289.8%20216.4,290.9%20220.3,291%20C216.4,292.1%20215.3,293.2%20215,297.1%20C214.2,293.2%20213.1,292.1%20209.2,291%20C213.1,290.9%20214.2,289.8%20215,285.9%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.56%22/%3E%3Cpath%20d=%22M377,316.2%20C377.0,319.2%20377.9,320.1%20380.9,321%20C377.9,320.9%20377.0,321.8%20377,324.8%20C376.2,321.8%20375.3,320.9%20372.3,321%20C375.3,320.1%20376.2,319.2%20377,316.2%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.33%22/%3E%3Cpath%20d=%22M242,91.7%20C242.4,95.7%20243.6,96.9%20247.6,97%20C243.6,98.0%20242.4,99.2%20242,103.2%20C241.3,99.2%20240.1,98.0%20236.0,97%20C240.1,96.9%20241.3,95.7%20242,91.7%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Cpath%20d=%22M478,174.7%20C479.0,179.8%20480.4,181.2%20485.5,182%20C480.4,182.7%20479.0,184.1%20478,189.1%20C477.6,184.1%20476.1,182.7%20471.1,182%20C476.1,181.2%20477.6,179.8%20478,174.7%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.51%22/%3E%3Cpath%20d=%22M446,35.4%20C447.0,40.5%20448.4,42.0%20453.6,43%20C448.4,43.5%20447.0,45.0%20446,50.1%20C445.5,45.0%20444.0,43.5%20438.8,43%20C444.0,42.0%20445.5,40.5%20446,35.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.37%22/%3E%3Cpath%20d=%22M129,433.8%20C129.3,437.7%20130.4,438.9%20134.4,439%20C130.4,440.0%20129.3,441.1%20129,445.1%20C128.1,441.1%20127.0,440.0%20123.0,439%20C127.0,438.9%20128.1,437.7%20129,433.8%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.31%22/%3E%3Cpath%20d=%22M251,380.5%20C251.8,383.8%20252.8,384.8%20256.2,385%20C252.8,385.8%20251.8,386.7%20251,390.1%20C250.9,386.7%20249.9,385.8%20246.5,385%20C249.9,384.8%20250.9,383.8%20251,380.5%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.40%22/%3E%3Cpath%20d=%22M381,204.6%20C381.4,210.5%20383.1,212.2%20389.0,213%20C383.1,213.9%20381.4,215.6%20381,221.5%20C379.7,215.6%20378.0,213.9%20372.1,213%20C378.0,212.2%20379.7,210.5%20381,204.6%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.57%22/%3E%3Cpath%20d=%22M475,369.1%20C476.4,375.6%20478.3,377.4%20484.7,378%20C478.3,379.3%20476.4,381.1%20475,387.6%20C474.6,381.1%20472.7,379.3%20466.2,378%20C472.7,377.4%20474.6,375.6%20475,369.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.56%22/%3E%3Cpath%20d=%22M167,114.8%20C167.2,117.2%20167.9,117.9%20170.3,118%20C167.9,118.6%20167.2,119.3%20167,121.7%20C166.6,119.3%20165.9,118.6%20163.5,118%20C165.9,117.9%20166.6,117.2%20167,114.8%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Cpath%20d=%22M437,438.7%20C437.5,445.6%20439.5,447.6%20446.4,449%20C439.5,449.6%20437.5,451.6%20437,458.5%20C435.6,451.6%20433.6,449.6%20426.7,449%20C433.6,447.6%20435.6,445.6%20437,438.7%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Cpath%20d=%22M411,169.2%20C411.8,175.8%20413.7,177.7%20420.3,179%20C413.7,179.6%20411.8,181.5%20411,188.0%20C409.9,181.5%20408.0,179.6%20401.5,179%20C408.0,177.7%20409.9,175.8%20411,169.2%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.39%22/%3E%3Cpath%20d=%22M480,513.6%20C480.5,517.0%20481.5,518.0%20484.9,518%20C481.5,518.9%20480.5,519.9%20480,523.3%20C479.5,519.9%20478.6,518.9%20475.2,518%20C478.6,518.0%20479.5,517.0%20480,513.6%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.54%22/%3E%3Cpath%20d=%22M301,184.6%20C301.2,187.3%20301.9,188.0%20304.6,188%20C301.9,188.8%20301.2,189.6%20301,192.3%20C300.4,189.6%20299.6,188.8%20296.9,188%20C299.6,188.0%20300.4,187.3%20301,184.6%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.50%22/%3E%3Cpath%20d=%22M36,479.8%20C37.1,484.4%2038.4,485.7%2043.0,486%20C38.4,487.0%2037.1,488.3%2036,492.9%20C35.8,488.3%2034.5,487.0%2029.9,486%20C34.5,485.7%2035.8,484.4%2036,479.8%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.49%22/%3E%3Cpath%20d=%22M290,456.7%20C290.3,460.5%20291.4,461.5%20295.1,462%20C291.4,462.6%20290.3,463.6%20290,467.3%20C289.3,463.6%20288.2,462.6%20284.5,462%20C288.2,461.5%20289.3,460.5%20290,456.7%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Cpath%20d=%22M134,467.9%20C135.3,473.8%20137.0,475.5%20142.9,476%20C137.0,477.2%20135.3,478.9%20134,484.8%20C133.6,478.9%20131.9,477.2%20126.0,476%20C131.9,475.5%20133.6,473.8%20134,467.9%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.53%22/%3E%3Cpath%20d=%22M149,381.0%20C149.4,383.5%20150.2,384.2%20152.6,385%20C150.2,384.9%20149.4,385.6%20149,388.1%20C148.7,385.6%20148.0,384.9%20145.6,385%20C148.0,384.2%20148.7,383.5%20149,381.0%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.49%22/%3E%3Cpath%20d=%22M190,516.9%20C191.3,522.9%20193.0,524.6%20199.1,525%20C193.0,526.3%20191.3,528.1%20190,534.1%20C189.6,528.1%20187.9,526.3%20181.8,525%20C187.9,524.6%20189.6,522.9%20190,516.9%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Cpath%20d=%22M397,406.1%20C397.2,410.4%20398.4,411.6%20402.7,412%20C398.4,412.8%20397.2,414.1%20397,418.3%20C396.0,414.1%20394.7,412.8%20390.5,412%20C394.7,411.6%20396.0,410.4%20397,406.1%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Cpath%20d=%22M432,496.0%20C432.3,499.3%20433.2,500.3%20436.5,501%20C433.2,501.2%20432.3,502.2%20432,505.5%20C431.3,502.2%20430.4,501.2%20427.1,501%20C430.4,500.3%20431.3,499.3%20432,496.0%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.45%22/%3E%3Cpath%20d=%22M65,270.3%20C65.6,274.8%2066.9,276.1%2071.4,277%20C66.9,277.3%2065.6,278.6%2065,283.1%20C64.3,278.6%2063.0,277.3%2058.5,277%20C63.0,276.1%2064.3,274.8%2065,270.3%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.43%22/%3E%3Cpath%20d=%22M269,365.0%20C269.8,371.5%20271.6,373.4%20278.2,374%20C271.6,375.2%20269.8,377.1%20269,383.6%20C267.9,377.1%20266.1,375.2%20259.5,374%20C266.1,373.4%20267.9,371.5%20269,365.0%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.48%22/%3E%3Cpath%20d=%22M145,524.1%20C146.1,528.6%20147.4,529.8%20151.8,530%20C147.4,531.1%20146.1,532.4%20145,536.8%20C144.8,532.4%20143.5,531.1%20139.1,530%20C143.5,529.8%20144.8,528.6%20145,524.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.32%22/%3E%3Cpath%20d=%22M315,482.8%20C315.7,486.5%20316.8,487.6%20320.6,488%20C316.8,488.7%20315.7,489.8%20315,493.5%20C314.6,489.8%20313.6,488.7%20309.8,488%20C313.6,487.6%20314.6,486.5%20315,482.8%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Cpath%20d=%22M137,46.4%20C138.2,52.7%20140.0,54.6%20146.4,55%20C140.0,56.4%20138.2,58.2%20137,64.6%20C136.4,58.2%20134.5,56.4%20128.2,55%20C134.5,54.6%20136.4,52.7%20137,46.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.31%22/%3E%3Cpath%20d=%22M397,249.2%20C397.6,253.3%20398.8,254.5%20403.0,255%20C398.8,255.7%20397.6,256.9%20397,261.0%20C396.4,256.9%20395.3,255.7%20391.1,255%20C395.3,254.5%20396.4,253.3%20397,249.2%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.52%22/%3E%3Cpath%20d=%22M512,283.0%20C512.0,286.8%20513.1,287.8%20516.9,288%20C513.1,288.9%20512.0,290.0%20512,293.8%20C511.0,290.0%20509.9,288.9%20506.1,288%20C509.9,287.8%20511.0,286.8%20512,283.0%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.46%22/%3E%3Cpath%20d=%22M425,252.3%20C425.1,255.2%20425.9,256.0%20428.8,256%20C425.9,256.8%20425.1,257.7%20425,260.6%20C424.2,257.7%20423.4,256.8%20420.5,256%20C423.4,256.0%20424.2,255.2%20425,252.3%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.39%22/%3E%3Cpath%20d=%22M386,118.1%20C387.0,123.4%20388.5,124.9%20393.8,126%20C388.5,126.4%20387.0,127.9%20386,133.2%20C385.5,127.9%20384.0,126.4%20378.7,126%20C384.0,124.9%20385.5,123.4%20386,118.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Cpath%20d=%22M199,507.4%20C199.8,511.6%20201.1,512.8%20205.3,513%20C201.1,514.0%20199.8,515.2%20199,519.5%20C198.6,515.2%20197.4,514.0%20193.2,513%20C197.4,512.8%20198.6,511.6%20199,507.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.53%22/%3E%3Cpath%20d=%22M330,436.9%20C330.3,441.1%20331.5,442.3%20335.7,443%20C331.5,443.6%20330.3,444.8%20330,449.0%20C329.1,444.8%20327.9,443.6%20323.6,443%20C327.9,442.3%20329.1,441.1%20330,436.9%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Cpath%20d=%22M141,148.7%20C141.8,155.2%20143.7,157.1%20150.2,158%20C143.7,159.0%20141.8,160.9%20141,167.4%20C139.9,160.9%20138.1,159.0%20131.5,158%20C138.1,157.1%20139.9,155.2%20141,148.7%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Cpath%20d=%22M459,380.5%20C459.1,384.2%20460.1,385.3%20463.9,386%20C460.1,386.4%20459.1,387.4%20459,391.1%20C458.0,387.4%20457.0,386.4%20453.2,386%20C457.0,385.3%20458.0,384.2%20459,380.5%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.52%22/%3E%3Cpath%20d=%22M246,61.9%20C245.9,64.6%20246.7,65.3%20249.4,66%20C246.7,66.1%20245.9,66.9%20246,69.6%20C245.1,66.9%20244.4,66.1%20241.7,66%20C244.4,65.3%20245.1,64.6%20246,61.9%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.54%22/%3E%3Cpath%20d=%22M268,92.6%20C268.8,96.9%20270.1,98.2%20274.4,99%20C270.1,99.4%20268.8,100.6%20268,104.9%20C267.6,100.6%20266.4,99.4%20262.0,99%20C266.4,98.2%20267.6,96.9%20268,92.6%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.32%22/%3E%3Cpath%20d=%22M331,176.4%20C332.2,182.7%20334.0,184.4%20340.2,185%20C334.0,186.2%20332.2,188.0%20331,194.3%20C330.4,188.0%20328.6,186.2%20322.3,185%20C328.6,184.4%20330.4,182.7%20331,176.4%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.32%22/%3E%3Cpath%20d=%22M191,367.5%20C191.9,373.8%20193.6,375.6%20199.9,376%20C193.6,377.4%20191.9,379.2%20191,385.4%20C190.1,379.2%20188.3,377.4%20182.0,376%20C188.3,375.6%20190.1,373.8%20191,367.5%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.55%22/%3E%3Cpath%20d=%22M306,318.4%20C307.0,324.3%20308.7,325.9%20314.6,327%20C308.7,327.6%20307.0,329.3%20306,335.2%20C305.3,329.3%20303.6,327.6%20297.7,327%20C303.6,325.9%20305.3,324.3%20306,318.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Cpath%20d=%22M181,217.4%20C181.1,221.8%20182.4,223.0%20186.7,224%20C182.4,224.2%20181.1,225.5%20181,229.8%20C179.9,225.5%20178.7,224.2%20174.3,224%20C178.7,223.0%20179.9,221.8%20181,217.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.54%22/%3E%3Cpath%20d=%22M521,153.9%20C521.8,156.5%20522.6,157.2%20525.2,158%20C522.6,157.9%20521.8,158.7%20521,161.3%20C521.1,158.7%20520.3,157.9%20517.7,158%20C520.3,157.2%20521.1,156.5%20521,153.9%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.35%22/%3E%3Cpath%20d=%22M375,88.9%20C376.5,95.7%20378.4,97.6%20385.2,99%20C378.4,99.6%20376.5,101.5%20375,108.3%20C374.5,101.5%20372.6,99.6%20365.8,99%20C372.6,97.6%20374.5,95.7%20375,88.9%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.53%22/%3E%3Cpath%20d=%22M468,92.0%20C468.5,96.4%20469.7,97.7%20474.1,98%20C469.7,98.9%20468.5,100.2%20468,104.6%20C467.2,100.2%20466.0,98.9%20461.6,98%20C466.0,97.7%20467.2,96.4%20468,92.0%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Cpath%20d=%22M286,365.5%20C287.0,370.5%20288.4,371.9%20293.4,373%20C288.4,373.3%20287.0,374.8%20286,379.8%20C285.5,374.8%20284.1,373.3%20279.1,373%20C284.1,371.9%20285.5,370.5%20286,365.5%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.44%22/%3E%3Cpath%20d=%22M127,267.6%20C127.7,269.9%20128.4,270.6%20130.7,271%20C128.4,271.2%20127.7,271.9%20127,274.2%20C127.1,271.9%20126.4,271.2%20124.1,271%20C126.4,270.6%20127.1,269.9%20127,267.6%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.49%22/%3E%3Cpath%20d=%22M121,86.2%20C122.3,92.5%20124.1,94.3%20130.5,95%20C124.1,96.1%20122.3,97.9%20121,104.2%20C120.5,97.9%20118.7,96.1%20112.4,95%20C118.7,94.3%20120.5,92.5%20121,86.2%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.36%22/%3E%3Cpath%20d=%22M75,253.7%20C75.2,258.3%2076.5,259.6%2081.1,260%20C76.5,261.0%2075.2,262.3%2075,266.9%20C73.9,262.3%2072.6,261.0%2068.0,260%20C72.6,259.6%2073.9,258.3%2075,253.7%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.52%22/%3E%3Cpath%20d=%22M62,474.3%20C62.9,479.6%2064.4,481.1%2069.6,482%20C64.4,482.6%2062.9,484.1%2062,489.3%20C61.4,484.1%2059.9,482.6%2054.6,482%20C59.9,481.1%2061.4,479.6%2062,474.3%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.53%22/%3E%3Cpath%20d=%22M59,32.0%20C59.4,34.5%2060.1,35.2%2062.6,36%20C60.1,35.9%2059.4,36.6%2059,39.1%20C58.7,36.6%2058.0,35.9%2055.5,36%20C58.0,35.2%2058.7,34.5%2059,32.0%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.46%22/%3E%3Cpath%20d=%22M147,208.2%20C147.5,212.4%20148.7,213.6%20152.9,214%20C148.7,214.8%20147.5,216.0%20147,220.2%20C146.3,216.0%20145.1,214.8%20140.8,214%20C145.1,213.6%20146.3,212.4%20147,208.2%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.31%22/%3E%3Cpath%20d=%22M177,439.5%20C177.6,442.1%20178.3,442.8%20180.9,443%20C178.3,443.5%20177.6,444.3%20177,446.8%20C176.9,444.3%20176.1,443.5%20173.6,443%20C176.1,442.8%20176.9,442.1%20177,439.5%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Cpath%20d=%22M175,350.4%20C176.0,354.3%20177.1,355.4%20181.0,356%20C177.1,356.5%20176.0,357.6%20175,361.5%20C174.9,357.6%20173.8,356.5%20169.9,356%20C173.8,355.4%20174.9,354.3%20175,350.4%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.34%22/%3E%3Cpath%20d=%22M521,455.8%20C521.8,461.4%20523.4,463.0%20529.0,464%20C523.4,464.6%20521.8,466.2%20521,471.8%20C520.2,466.2%20518.6,464.6%20513.0,464%20C518.6,463.0%20520.2,461.4%20521,455.8%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Cpath%20d=%22M153,460.6%20C153.4,465.7%20154.9,467.2%20160.0,468%20C154.9,468.6%20153.4,470.1%20153,475.2%20C152.0,470.1%20150.5,468.6%20145.4,468%20C150.5,467.2%20152.0,465.7%20153,460.6%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.45%22/%3E%3Cpath%20d=%22M243,522.7%20C243.9,528.0%20245.4,529.5%20250.7,530%20C245.4,531.1%20243.9,532.6%20243,537.9%20C242.4,532.6%20240.8,531.1%20235.5,530%20C240.8,529.5%20242.4,528.0%20243,522.7%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.50%22/%3E%3Cpath%20d=%22M347,143.8%20C347.4,147.0%20348.3,148.0%20351.6,148%20C348.3,148.9%20347.4,149.8%20347,153.1%20C346.5,149.8%20345.5,148.9%20342.3,148%20C345.5,148.0%20346.5,147.0%20347,143.8%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Cpath%20d=%22M377,352.2%20C377.5,355.0%20378.3,355.7%20381.0,356%20C378.3,356.5%20377.5,357.3%20377,360.0%20C376.7,357.3%20376.0,356.5%20373.2,356%20C376.0,355.7%20376.7,355.0%20377,352.2%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.48%22/%3E%3Cpath%20d=%22M275,196.5%20C275.7,199.5%20276.5,200.4%20279.5,201%20C276.5,201.2%20275.7,202.1%20275,205.1%20C274.8,202.1%20274.0,201.2%20271.0,201%20C274.0,200.4%20274.8,199.5%20275,196.5%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.50%22/%3E%3Cpath%20d=%22M503,161.3%20C503.5,165.2%20504.7,166.4%20508.6,167%20C504.7,167.5%20503.5,168.6%20503,172.6%20C502.4,168.6%20501.3,167.5%20497.3,167%20C501.3,166.4%20502.4,165.2%20503,161.3%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.57%22/%3E%3Cpath%20d=%22M263,384.1%20C263.3,388.1%20264.4,389.3%20268.4,390%20C264.4,390.4%20263.3,391.6%20263,395.6%20C262.1,391.6%20261.0,390.4%20256.9,390%20C261.0,389.3%20262.1,388.1%20263,384.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Cpath%20d=%22M300,391.8%20C300.2,394.2%20300.9,394.8%20303.2,395%20C300.9,395.5%20300.2,396.1%20300,398.5%20C299.6,396.1%20298.9,395.5%20296.6,395%20C298.9,394.8%20299.6,394.2%20300,391.8%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.39%22/%3E%3Cpath%20d=%22M435,502.5%20C435.5,506.9%20436.8,508.2%20441.3,509%20C436.8,509.5%20435.5,510.8%20435,515.3%20C434.2,510.8%20432.9,509.5%20428.5,509%20C432.9,508.2%20434.2,506.9%20435,502.5%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.44%22/%3E%3Cpath%20d=%22M382,499.0%20C383.1,505.4%20384.9,507.2%20391.2,508%20C384.9,509.0%20383.1,510.8%20382,517.1%20C381.3,510.8%20379.5,509.0%20373.2,508%20C379.5,507.2%20381.3,505.4%20382,499.0%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.44%22/%3E%3Cpath%20d=%22M293,303.6%20C293.0,305.9%20293.7,306.5%20295.9,307%20C293.7,307.2%20293.0,307.8%20293,310.1%20C292.4,307.8%20291.7,307.2%20289.5,307%20C291.7,306.5%20292.4,305.9%20293,303.6%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.49%22/%3E%3Cpath%20d=%22M523,500.1%20C523.2,503.7%20524.2,504.7%20527.8,505%20C524.2,505.7%20523.2,506.7%20523,510.3%20C522.1,506.7%20521.1,505.7%20517.5,505%20C521.1,504.7%20522.1,503.7%20523,500.1%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.38%22/%3E%3Cpath%20d=%22M256,99.4%20C256.7,104.5%20258.2,105.9%20263.3,107%20C258.2,107.4%20256.7,108.9%20256,114.0%20C255.3,108.9%20253.8,107.4%20248.7,107%20C253.8,105.9%20255.3,104.5%20256,99.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Cpath%20d=%22M276,135.7%20C277.0,140.8%20278.5,142.2%20283.5,143%20C278.5,143.7%20277.0,145.1%20276,150.2%20C275.6,145.1%20274.1,143.7%20269.0,143%20C274.1,142.2%20275.6,140.8%20276,135.7%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.47%22/%3E%3Cpath%20d=%22M165,34.3%20C166.3,41.0%20168.2,42.9%20174.9,44%20C168.2,44.8%20166.3,46.8%20165,53.5%20C164.3,46.8%20162.4,44.8%20155.7,44%20C162.4,42.9%20164.3,41.0%20165,34.3%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.58%22/%3E%3Cpath%20d=%22M463,33.1%20C463.9,37.2%20465.1,38.4%20469.2,39%20C465.1,39.6%20463.9,40.8%20463,44.9%20C462.7,40.8%20461.6,39.6%20457.4,39%20C461.6,38.4%20462.7,37.2%20463,33.1%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.43%22/%3E%3Cpath%20d=%22M309,242.9%20C309.6,249.7%20311.5,251.6%20318.3,253%20C311.5,253.5%20309.6,255.5%20309,262.3%20C307.6,255.5%20305.7,253.5%20298.9,253%20C305.7,251.6%20307.6,249.7%20309,242.9%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.48%22/%3E%3Cpath%20d=%22M221,171.1%20C222.1,177.1%20223.9,178.9%20229.9,180%20C223.9,180.6%20222.1,182.3%20221,188.4%20C220.4,182.3%20218.7,180.6%20212.6,180%20C218.7,178.9%20220.4,177.1%20221,171.1%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.40%22/%3E%3Cpath%20d=%22M509,328.2%20C509.2,332.2%20510.3,333.3%20514.3,334%20C510.3,334.5%20509.2,335.6%20509,339.6%20C508.0,335.6%20506.9,334.5%20502.8,334%20C506.9,333.3%20508.0,332.2%20509,328.2%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Cpath%20d=%22M155,53.4%20C155.4,58.8%20157.0,60.3%20162.4,61%20C157.0,61.9%20155.4,63.5%20155,68.9%20C153.9,63.5%20152.3,61.9%20146.9,61%20C152.3,60.3%20153.9,58.8%20155,53.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.31%22/%3E%3Cpath%20d=%22M304,132.6%20C304.5,135.3%20305.3,136.1%20308.0,136%20C305.3,136.9%20304.5,137.6%20304,140.4%20C303.7,137.6%20302.9,136.9%20300.2,136%20C302.9,136.1%20303.7,135.3%20304,132.6%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.51%22/%3E%3Cpath%20d=%22M220,463.8%20C220.2,466.2%20220.9,466.9%20223.3,467%20C220.9,467.6%20220.2,468.3%20220,470.8%20C219.5,468.3%20218.8,467.6%20216.3,467%20C218.8,466.9%20219.5,466.2%20220,463.8%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.36%22/%3E%3Cpath%20d=%22M157,249.3%20C157.0,251.9%20157.8,252.7%20160.4,253%20C157.8,253.4%20157.0,254.2%20157,256.8%20C156.3,254.2%20155.5,253.4%20152.9,253%20C155.5,252.7%20156.3,251.9%20157,249.3%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.32%22/%3E%3Cpath%20d=%22M94,208.4%20C95.0,214.6%2096.8,216.4%20103.0,217%20C96.8,218.1%2095.0,219.9%2094,226.1%20C93.2,219.9%2091.5,218.1%2085.3,217%20C91.5,216.4%2093.2,214.6%2094,208.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.39%22/%3E%3Cpath%20d=%22M443,206.2%20C444.1,211.4%20445.5,212.9%20450.7,214%20C445.5,214.4%20444.1,215.9%20443,221.0%20C442.6,215.9%20441.1,214.4%20435.9,214%20C441.1,212.9%20442.6,211.4%20443,206.2%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.54%22/%3E%3Cpath%20d=%22M472,445.4%20C472.6,451.9%20474.5,453.7%20480.9,455%20C474.5,455.5%20472.6,457.4%20472,463.8%20C470.8,457.4%20468.9,455.5%20462.5,455%20C468.9,453.7%20470.8,451.9%20472,445.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Cpath%20d=%22M265,370.2%20C265.6,373.5%20266.5,374.4%20269.8,375%20C266.5,375.4%20265.6,376.3%20265,379.7%20C264.6,376.3%20263.7,375.4%20260.4,375%20C263.7,374.4%20264.6,373.5%20265,370.2%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.48%22/%3E%3Cpath%20d=%22M38,47.6%20C38.6,52.5%2040.0,53.9%2045.0,55%20C40.0,55.3%2038.6,56.7%2038,61.7%20C37.2,56.7%2035.8,55.3%2030.9,55%20C35.8,53.9%2037.2,52.5%2038,47.6%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.58%22/%3E%3Cpath%20d=%22M333,147.9%20C333.8,151.2%20334.8,152.1%20338.1,153%20C334.8,153.0%20333.8,154.0%20333,157.3%20C332.9,154.0%20331.9,153.0%20328.6,153%20C331.9,152.1%20332.9,151.2%20333,147.9%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.43%22/%3E%3Cpath%20d=%22M100,305.2%20C100.8,311.6%20102.6,313.4%20109.0,314%20C102.6,315.3%20100.8,317.1%20100,323.5%20C98.9,317.1%2097.1,315.3%2090.7,314%20C97.1,313.4%2098.9,311.6%20100,305.2%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.49%22/%3E%3Cpath%20d=%22M225,319.8%20C225.7,322.4%20226.4,323.1%20229.0,324%20C226.4,323.9%20225.7,324.6%20225,327.3%20C224.9,324.6%20224.2,323.9%20221.5,324%20C224.2,323.1%20224.9,322.4%20225,319.8%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.43%22/%3E%3Cpath%20d=%22M295,167.4%20C295.3,172.2%20296.6,173.6%20301.5,174%20C296.6,175.0%20295.3,176.4%20295,181.2%20C293.9,176.4%20292.5,175.0%20287.6,174%20C292.5,173.6%20293.9,172.2%20295,167.4%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.44%22/%3E%3Cpath%20d=%22M75,306.5%20C75.7,309.5%2076.6,310.3%2079.5,311%20C76.6,311.2%2075.7,312.0%2075,315.0%20C74.9,312.0%2074.0,311.2%2071.1,311%20C74.0,310.3%2074.9,309.5%2075,306.5%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.55%22/%3E%3Cpath%20d=%22M440,146.0%20C440.7,150.6%20442.1,151.9%20446.7,153%20C442.1,153.2%20440.7,154.5%20440,159.2%20C439.4,154.5%20438.1,153.2%20433.5,153%20C438.1,151.9%20439.4,150.6%20440,146.0%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.52%22/%3E%3Cpath%20d=%22M371,444.6%20C371.4,450.6%20373.1,452.3%20379.2,453%20C373.1,454.1%20371.4,455.8%20371,461.9%20C369.6,455.8%20367.9,454.1%20361.9,453%20C367.9,452.3%20369.6,450.6%20371,444.6%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.55%22/%3E%3Cpath%20d=%22M36,465.8%20C36.4,471.2%2038.0,472.8%2043.4,474%20C38.0,474.3%2036.4,475.9%2036,481.3%20C34.9,475.9%2033.3,474.3%2027.9,474%20C33.3,472.8%2034.9,471.2%2036,465.8%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Cpath%20d=%22M437,285.3%20C438.1,289.3%20439.2,290.4%20443.2,291%20C439.2,291.6%20438.1,292.7%20437,296.7%20C436.9,292.7%20435.8,291.6%20431.8,291%20C435.8,290.4%20436.9,289.3%20437,285.3%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Cpath%20d=%22M380,365.9%20C380.4,370.9%20381.8,372.3%20386.8,373%20C381.8,373.7%20380.4,375.2%20380,380.1%20C379.0,375.2%20377.6,373.7%20372.6,373%20C377.6,372.3%20379.0,370.9%20380,365.9%20Z%22%20fill=%22%23dcbb72%22%20opacity=%220.48%22/%3E%3Cpath%20d=%22M302,495.5%20C303.0,500.9%20304.5,502.4%20309.9,503%20C304.5,504.0%20303.0,505.5%20302,510.9%20C301.4,505.5%20299.9,504.0%20294.5,503%20C299.9,502.4%20301.4,500.9%20302,495.5%20Z%22%20fill=%22%23d4a94f%22%20opacity=%220.46%22/%3E%3Cpath%20d=%22M390,461.0%20C390.7,463.4%20391.4,464.1%20393.8,464%20C391.4,464.8%20390.7,465.5%20390,467.9%20C390.0,465.5%20389.3,464.8%20386.9,464%20C389.3,464.1%20390.0,463.4%20390,461.0%20Z%22%20fill=%22%23c8973a%22%20opacity=%220.54%22/%3E%3Ccircle%20cx=%22388%22%20cy=%22288%22%20r=%221.6%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22521%22%20cy=%22245%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22448%22%20cy=%22533%22%20r=%222.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22291%22%20cy=%22362%22%20r=%222.0%22%20fill=%22%23c8973a%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22523%22%20cy=%22400%22%20r=%221.3%22%20fill=%22%23b9b0c4%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22542%22%20cy=%22332%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22391%22%20cy=%22266%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22106%22%20cy=%22337%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%2256%22%20cy=%22115%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22392%22%20cy=%22376%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22305%22%20cy=%22139%22%20r=%222.1%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%2243%22%20cy=%22162%22%20r=%222.0%22%20fill=%22%23d4a94f%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22478%22%20cy=%22322%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22286%22%20cy=%22399%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22415%22%20cy=%22356%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22428%22%20cy=%22247%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22287%22%20cy=%22525%22%20r=%222.1%22%20fill=%22%23c8973a%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%2252%22%20cy=%22452%22%20r=%221.7%22%20fill=%22%23b9b0c4%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22176%22%20cy=%22461%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%2280%22%20cy=%2224%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.18%22/%3E%3Ccircle%20cx=%22212%22%20cy=%2227%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22271%22%20cy=%22208%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22216%22%20cy=%22462%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22459%22%20cy=%22524%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22277%22%20cy=%2283%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22116%22%20cy=%22197%22%20r=%221.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22439%22%20cy=%22394%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22297%22%20cy=%2238%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22121%22%20cy=%22433%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%2241%22%20cy=%22475%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22245%22%20cy=%22500%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22257%22%20cy=%22151%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22428%22%20cy=%22457%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%2284%22%20cy=%2282%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22220%22%20cy=%22309%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22503%22%20cy=%22199%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22361%22%20cy=%2250%22%20r=%222.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22547%22%20cy=%22174%22%20r=%222.0%22%20fill=%22%23c8973a%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22142%22%20cy=%22544%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22390%22%20cy=%22324%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22223%22%20cy=%2237%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22203%22%20cy=%22284%22%20r=%221.0%22%20fill=%22%23d4a94f%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22110%22%20cy=%22142%22%20r=%221.0%22%20fill=%22%23d4a94f%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22233%22%20cy=%22297%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22468%22%20cy=%2283%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22405%22%20cy=%2221%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22456%22%20cy=%22302%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22393%22%20cy=%22415%22%20r=%221.9%22%20fill=%22%23c8973a%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22537%22%20cy=%22328%22%20r=%222.1%22%20fill=%22%23d4a94f%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%2281%22%20cy=%22297%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22220%22%20cy=%2250%22%20r=%222.2%22%20fill=%22%23d4a94f%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22217%22%20cy=%2254%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22218%22%20cy=%22218%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%2249%22%20cy=%2261%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22280%22%20cy=%22501%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22323%22%20cy=%22374%22%20r=%222.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22329%22%20cy=%22379%22%20r=%221.3%22%20fill=%22%23b9b0c4%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%2232%22%20cy=%22258%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22146%22%20cy=%22432%22%20r=%222.1%22%20fill=%22%23c8973a%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22457%22%20cy=%22545%22%20r=%220.7%22%20fill=%22%23b9b0c4%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22468%22%20cy=%22155%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22473%22%20cy=%22237%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22157%22%20cy=%2214%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.18%22/%3E%3Ccircle%20cx=%22336%22%20cy=%22243%22%20r=%222.2%22%20fill=%22%23c8973a%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22404%22%20cy=%22215%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22393%22%20cy=%2277%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22197%22%20cy=%22369%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22440%22%20cy=%22259%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22208%22%20cy=%22238%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22162%22%20cy=%22302%22%20r=%222.0%22%20fill=%22%23c8973a%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%2264%22%20cy=%22343%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22176%22%20cy=%22308%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%2251%22%20cy=%22387%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22277%22%20cy=%22277%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%2218%22%20cy=%22543%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22109%22%20cy=%22548%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%2212%22%20cy=%22479%22%20r=%220.9%22%20fill=%22%23d4a94f%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22256%22%20cy=%22429%22%20r=%221.3%22%20fill=%22%23b9b0c4%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22448%22%20cy=%22243%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22259%22%20cy=%22224%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22387%22%20cy=%22278%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22386%22%20cy=%22140%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22221%22%20cy=%2218%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22148%22%20cy=%2244%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%2253%22%20cy=%2217%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22242%22%20cy=%2279%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22315%22%20cy=%22427%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22249%22%20cy=%22222%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22118%22%20cy=%22285%22%20r=%220.9%22%20fill=%22%23d4a94f%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22389%22%20cy=%22455%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22107%22%20cy=%22462%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22266%22%20cy=%22236%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%2232%22%20cy=%2222%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%2219%22%20cy=%22368%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%2249%22%20cy=%22316%22%20r=%220.7%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22246%22%20cy=%22503%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22412%22%20cy=%22343%22%20r=%221.7%22%20fill=%22%23b9b0c4%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22455%22%20cy=%22313%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22186%22%20cy=%22381%22%20r=%220.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22408%22%20cy=%22389%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%2288%22%20cy=%22470%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22175%22%20cy=%22539%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22523%22%20cy=%22548%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22392%22%20cy=%22267%22%20r=%220.9%22%20fill=%22%23c8973a%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22239%22%20cy=%22488%22%20r=%222.0%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22369%22%20cy=%22361%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22313%22%20cy=%22164%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22186%22%20cy=%22105%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22443%22%20cy=%22248%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22475%22%20cy=%2239%22%20r=%221.4%22%20fill=%22%23c8973a%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22228%22%20cy=%22174%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22349%22%20cy=%22346%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22281%22%20cy=%22516%22%20r=%221.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22391%22%20cy=%22371%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%2224%22%20cy=%2223%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%2297%22%20cy=%22257%22%20r=%221.6%22%20fill=%22%23d4a94f%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%2245%22%20cy=%2227%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22248%22%20cy=%22119%22%20r=%222.2%22%20fill=%22%23d4a94f%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%2271%22%20cy=%22363%22%20r=%222.2%22%20fill=%22%23c8973a%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22138%22%20cy=%22125%22%20r=%221.7%22%20fill=%22%23b9b0c4%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%2288%22%20cy=%22535%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22299%22%20cy=%22208%22%20r=%221.4%22%20fill=%22%23b9b0c4%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22190%22%20cy=%22241%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%2235%22%20cy=%22165%22%20r=%221.4%22%20fill=%22%23b9b0c4%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%2258%22%20cy=%22241%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22356%22%20cy=%22263%22%20r=%220.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22109%22%20cy=%22112%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22385%22%20cy=%22310%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%2287%22%20cy=%22318%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22311%22%20cy=%22167%22%20r=%221.3%22%20fill=%22%23b9b0c4%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22234%22%20cy=%22491%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22406%22%20cy=%22156%22%20r=%222.0%22%20fill=%22%23c8973a%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22509%22%20cy=%22171%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22311%22%20cy=%22157%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22380%22%20cy=%22241%22%20r=%220.7%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22390%22%20cy=%22413%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22260%22%20cy=%22235%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%2236%22%20cy=%22408%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22403%22%20cy=%2220%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22292%22%20cy=%2230%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22342%22%20cy=%22110%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%2242%22%20cy=%22356%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22132%22%20cy=%22421%22%20r=%222.0%22%20fill=%22%23c8973a%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22188%22%20cy=%22475%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22146%22%20cy=%22196%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%2251%22%20cy=%22130%22%20r=%221.4%22%20fill=%22%23b9b0c4%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22153%22%20cy=%22398%22%20r=%222.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22182%22%20cy=%22306%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22258%22%20cy=%22327%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22338%22%20cy=%22490%22%20r=%220.7%22%20fill=%22%23b9b0c4%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22457%22%20cy=%22442%22%20r=%221.3%22%20fill=%22%23d4a94f%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22158%22%20cy=%22235%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22304%22%20cy=%22426%22%20r=%220.7%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22539%22%20cy=%22302%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22519%22%20cy=%2232%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22466%22%20cy=%2259%22%20r=%221.6%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22431%22%20cy=%22498%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22276%22%20cy=%22314%22%20r=%221.3%22%20fill=%22%23b9b0c4%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22488%22%20cy=%22512%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%2221%22%20cy=%22501%22%20r=%221.3%22%20fill=%22%23b9b0c4%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22414%22%20cy=%22272%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22180%22%20cy=%22117%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22182%22%20cy=%22317%22%20r=%221.4%22%20fill=%22%23b9b0c4%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22264%22%20cy=%22237%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22121%22%20cy=%22240%22%20r=%222.1%22%20fill=%22%23c8973a%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22436%22%20cy=%22167%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22140%22%20cy=%2295%22%20r=%222.0%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22283%22%20cy=%22260%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22280%22%20cy=%22327%22%20r=%220.9%22%20fill=%22%23c8973a%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%2266%22%20cy=%22124%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%2222%22%20cy=%2248%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22398%22%20cy=%22507%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22441%22%20cy=%22549%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22383%22%20cy=%22138%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22132%22%20cy=%2232%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22276%22%20cy=%22142%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%2224%22%20cy=%22370%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22192%22%20cy=%22463%22%20r=%222.2%22%20fill=%22%23c8973a%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22331%22%20cy=%22424%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22348%22%20cy=%22535%22%20r=%220.9%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%2255%22%20cy=%2271%22%20r=%221.9%22%20fill=%22%23c8973a%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22446%22%20cy=%22490%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22521%22%20cy=%22239%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22446%22%20cy=%2282%22%20r=%222.0%22%20fill=%22%23d4a94f%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22399%22%20cy=%22160%22%20r=%222.2%22%20fill=%22%23c8973a%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22206%22%20cy=%22329%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22157%22%20cy=%22113%22%20r=%220.9%22%20fill=%22%23d4a94f%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22441%22%20cy=%22523%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22538%22%20cy=%22376%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22508%22%20cy=%22222%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22277%22%20cy=%22269%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22195%22%20cy=%2245%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22227%22%20cy=%2245%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22184%22%20cy=%22336%22%20r=%222.0%22%20fill=%22%23d4a94f%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22225%22%20cy=%22447%22%20r=%222.0%22%20fill=%22%23d4a94f%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%2238%22%20cy=%22502%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22355%22%20cy=%22469%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22443%22%20cy=%22492%22%20r=%222.1%22%20fill=%22%23d4a94f%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22530%22%20cy=%2280%22%20r=%221.0%22%20fill=%22%23d4a94f%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22455%22%20cy=%22264%22%20r=%221.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22169%22%20cy=%22309%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22444%22%20cy=%22477%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.18%22/%3E%3Ccircle%20cx=%22387%22%20cy=%2278%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22524%22%20cy=%22214%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22312%22%20cy=%2284%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22157%22%20cy=%2250%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22472%22%20cy=%22447%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22537%22%20cy=%22307%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22191%22%20cy=%22422%22%20r=%220.7%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22239%22%20cy=%22295%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22490%22%20cy=%22236%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22506%22%20cy=%22521%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22260%22%20cy=%22255%22%20r=%220.9%22%20fill=%22%23c8973a%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22311%22%20cy=%22493%22%20r=%220.9%22%20fill=%22%23d4a94f%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%2261%22%20cy=%22206%22%20r=%221.6%22%20fill=%22%23d4a94f%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22168%22%20cy=%2254%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22375%22%20cy=%22526%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%2234%22%20cy=%22496%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22331%22%20cy=%22387%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22494%22%20cy=%22228%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22339%22%20cy=%22496%22%20r=%220.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22536%22%20cy=%22336%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22149%22%20cy=%2284%22%20r=%220.9%22%20fill=%22%23d4a94f%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22180%22%20cy=%22332%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%2298%22%20cy=%2277%22%20r=%221.4%22%20fill=%22%23b9b0c4%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22153%22%20cy=%22456%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22184%22%20cy=%22320%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22190%22%20cy=%22327%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22285%22%20cy=%22310%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%2292%22%20cy=%22178%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22310%22%20cy=%2295%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22433%22%20cy=%22505%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22255%22%20cy=%22388%22%20r=%221.0%22%20fill=%22%23d4a94f%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22457%22%20cy=%22208%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%2277%22%20cy=%22408%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22113%22%20cy=%22528%22%20r=%221.3%22%20fill=%22%23d4a94f%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22298%22%20cy=%22203%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22396%22%20cy=%22529%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22472%22%20cy=%22418%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22310%22%20cy=%22165%22%20r=%221.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22456%22%20cy=%22334%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22512%22%20cy=%22430%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22206%22%20cy=%22278%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22104%22%20cy=%22289%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22331%22%20cy=%22332%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22305%22%20cy=%22226%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22394%22%20cy=%22522%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%2273%22%20cy=%22483%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22123%22%20cy=%22493%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22370%22%20cy=%22441%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22285%22%20cy=%22184%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22497%22%20cy=%22473%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22317%22%20cy=%2211%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22218%22%20cy=%22238%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22178%22%20cy=%2273%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22492%22%20cy=%22529%22%20r=%221.9%22%20fill=%22%23c8973a%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22502%22%20cy=%22437%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22399%22%20cy=%2213%22%20r=%220.9%22%20fill=%22%23c8973a%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22166%22%20cy=%2244%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22505%22%20cy=%22327%22%20r=%222.1%22%20fill=%22%23d4a94f%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22342%22%20cy=%2259%22%20r=%221.6%22%20fill=%22%23c8973a%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22176%22%20cy=%22108%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22472%22%20cy=%22521%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22141%22%20cy=%22448%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22278%22%20cy=%22545%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%2274%22%20cy=%2225%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22248%22%20cy=%22281%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22272%22%20cy=%22315%22%20r=%221.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22333%22%20cy=%22405%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22109%22%20cy=%22455%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22135%22%20cy=%22229%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22434%22%20cy=%22247%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22349%22%20cy=%22416%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%2256%22%20cy=%2242%22%20r=%221.0%22%20fill=%22%23d4a94f%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22236%22%20cy=%2272%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22457%22%20cy=%22111%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22284%22%20cy=%22464%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22376%22%20cy=%22158%22%20r=%222.2%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22535%22%20cy=%22511%22%20r=%221.6%22%20fill=%22%23d4a94f%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22296%22%20cy=%22429%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22162%22%20cy=%22403%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22351%22%20cy=%22154%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22421%22%20cy=%22420%22%20r=%220.9%22%20fill=%22%23d4a94f%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22114%22%20cy=%22228%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%2284%22%20cy=%22350%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22517%22%20cy=%22313%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22169%22%20cy=%22424%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22176%22%20cy=%2270%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22132%22%20cy=%22334%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22498%22%20cy=%22274%22%20r=%221.9%22%20fill=%22%23c8973a%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%2238%22%20cy=%22298%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22168%22%20cy=%22322%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22160%22%20cy=%22379%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22337%22%20cy=%22497%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22546%22%20cy=%22217%22%20r=%221.6%22%20fill=%22%23c8973a%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22115%22%20cy=%22210%22%20r=%221.7%22%20fill=%22%23b9b0c4%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22478%22%20cy=%22188%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.18%22/%3E%3Ccircle%20cx=%2284%22%20cy=%22300%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22178%22%20cy=%22464%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22292%22%20cy=%22411%22%20r=%222.1%22%20fill=%22%23d4a94f%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%2222%22%20cy=%2279%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22373%22%20cy=%22281%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22260%22%20cy=%2246%22%20r=%222.2%22%20fill=%22%23c8973a%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22159%22%20cy=%22446%22%20r=%222.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22409%22%20cy=%22472%22%20r=%220.8%22%20fill=%22%23c8973a%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22331%22%20cy=%22499%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22269%22%20cy=%22404%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22523%22%20cy=%2235%22%20r=%221.4%22%20fill=%22%23c8973a%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%2238%22%20cy=%22117%22%20r=%222.2%22%20fill=%22%23d4a94f%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22326%22%20cy=%22377%22%20r=%222.0%22%20fill=%22%23d4a94f%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22111%22%20cy=%22105%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22541%22%20cy=%2244%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22249%22%20cy=%22421%22%20r=%222.0%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22280%22%20cy=%22412%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22444%22%20cy=%22505%22%20r=%220.9%22%20fill=%22%23c8973a%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%2263%22%20cy=%22279%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%2268%22%20cy=%22482%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%2248%22%20cy=%22279%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22204%22%20cy=%2248%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22474%22%20cy=%22221%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22281%22%20cy=%2238%22%20r=%221.3%22%20fill=%22%23b9b0c4%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22329%22%20cy=%22338%22%20r=%221.6%22%20fill=%22%23b9b0c4%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22342%22%20cy=%22110%22%20r=%221.4%22%20fill=%22%23c8973a%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22112%22%20cy=%22430%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22380%22%20cy=%22229%22%20r=%222.1%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22246%22%20cy=%22293%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22232%22%20cy=%22229%22%20r=%221.3%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22363%22%20cy=%22370%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22416%22%20cy=%22278%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22400%22%20cy=%22169%22%20r=%221.7%22%20fill=%22%23b9b0c4%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%2216%22%20cy=%2273%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.43%22/%3E%3Ccircle%20cx=%22245%22%20cy=%22443%22%20r=%220.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%2224%22%20cy=%2215%22%20r=%221.8%22%20fill=%22%23d4a94f%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%2275%22%20cy=%22463%22%20r=%221.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%2212%22%20cy=%22484%22%20r=%221.4%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22264%22%20cy=%22437%22%20r=%221.9%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22392%22%20cy=%22491%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22353%22%20cy=%22126%22%20r=%222.1%22%20fill=%22%23d4a94f%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22389%22%20cy=%22192%22%20r=%221.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22508%22%20cy=%22194%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%2219%22%20cy=%22469%22%20r=%222.0%22%20fill=%22%23d4a94f%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%2280%22%20cy=%22548%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22286%22%20cy=%22492%22%20r=%221.9%22%20fill=%22%23c8973a%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22202%22%20cy=%22126%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%2214%22%20cy=%22148%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22411%22%20cy=%22169%22%20r=%221.4%22%20fill=%22%23c8973a%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22159%22%20cy=%22501%22%20r=%220.9%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22543%22%20cy=%22422%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22212%22%20cy=%2250%22%20r=%220.7%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%2277%22%20cy=%22403%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22317%22%20cy=%2222%22%20r=%221.6%22%20fill=%22%23c8973a%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22179%22%20cy=%22265%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22257%22%20cy=%2236%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22407%22%20cy=%22270%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%2268%22%20cy=%22101%22%20r=%222.0%22%20fill=%22%23c8973a%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22285%22%20cy=%22517%22%20r=%221.4%22%20fill=%22%23c8973a%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22284%22%20cy=%22366%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22278%22%20cy=%22443%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%2261%22%20cy=%22457%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22202%22%20cy=%22435%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22400%22%20cy=%22233%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22493%22%20cy=%22380%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22347%22%20cy=%22193%22%20r=%221.2%22%20fill=%22%23d4a94f%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%2219%22%20cy=%22374%22%20r=%222.1%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22133%22%20cy=%22131%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%2212%22%20cy=%22223%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%2291%22%20cy=%22407%22%20r=%220.8%22%20fill=%22%23d4a94f%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22298%22%20cy=%2213%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22373%22%20cy=%22170%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%2278%22%20cy=%22515%22%20r=%221.4%22%20fill=%22%23d4a94f%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22209%22%20cy=%22186%22%20r=%221.4%22%20fill=%22%23c8973a%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22270%22%20cy=%22410%22%20r=%220.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%2240%22%20cy=%22358%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22426%22%20cy=%22121%22%20r=%221.4%22%20fill=%22%23b9b0c4%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22505%22%20cy=%22469%22%20r=%221.5%22%20fill=%22%23b9b0c4%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22164%22%20cy=%22191%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22142%22%20cy=%2298%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22152%22%20cy=%22433%22%20r=%221.9%22%20fill=%22%23c8973a%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22513%22%20cy=%2247%22%20r=%221.3%22%20fill=%22%23b9b0c4%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%2290%22%20cy=%2243%22%20r=%221.6%22%20fill=%22%23d4a94f%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22529%22%20cy=%22312%22%20r=%221.6%22%20fill=%22%23d4a94f%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22443%22%20cy=%22543%22%20r=%221.4%22%20fill=%22%23b9b0c4%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22166%22%20cy=%22445%22%20r=%220.7%22%20fill=%22%23c8973a%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22530%22%20cy=%22139%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22411%22%20cy=%2264%22%20r=%220.9%22%20fill=%22%23d4a94f%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22363%22%20cy=%22399%22%20r=%221.2%22%20fill=%22%23c8973a%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22126%22%20cy=%22179%22%20r=%222.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22329%22%20cy=%22226%22%20r=%221.5%22%20fill=%22%23d4a94f%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22497%22%20cy=%22221%22%20r=%221.6%22%20fill=%22%23c8973a%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22359%22%20cy=%22343%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22258%22%20cy=%22159%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22477%22%20cy=%2236%22%20r=%221.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22368%22%20cy=%22117%22%20r=%221.3%22%20fill=%22%23c8973a%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22268%22%20cy=%22321%22%20r=%220.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22409%22%20cy=%22321%22%20r=%221.1%22%20fill=%22%23d4a94f%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%2292%22%20cy=%22543%22%20r=%220.7%22%20fill=%22%23d4a94f%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%2242%22%20cy=%22232%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22416%22%20cy=%2211%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%2213%22%20cy=%22539%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%2211%22%20cy=%22178%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.18%22/%3E%3Ccircle%20cx=%22144%22%20cy=%22115%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22353%22%20cy=%22385%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22194%22%20cy=%22212%22%20r=%221.7%22%20fill=%22%23c8973a%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22472%22%20cy=%22241%22%20r=%221.1%22%20fill=%22%23c8973a%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22304%22%20cy=%22177%22%20r=%221.8%22%20fill=%22%23c8973a%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22408%22%20cy=%22411%22%20r=%221.8%22%20fill=%22%23b9b0c4%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22362%22%20cy=%22269%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22525%22%20cy=%22391%22%20r=%221.7%22%20fill=%22%23d4a94f%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22265%22%20cy=%22319%22%20r=%221.9%22%20fill=%22%23d4a94f%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22174%22%20cy=%22242%22%20r=%221.0%22%20fill=%22%23c8973a%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22152%22%20cy=%22524%22%20r=%221.0%22%20fill=%22%23b9b0c4%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22238%22%20cy=%22419%22%20r=%221.3%22%20fill=%22%23d4a94f%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22387%22%20cy=%22317%22%20r=%220.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22468%22%20cy=%22147%22%20r=%221.9%22%20fill=%22%23b9b0c4%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22309%22%20cy=%22447%22%20r=%222.1%22%20fill=%22%23b9b0c4%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22244%22%20cy=%2252%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22525%22%20cy=%2233%22%20r=%221.5%22%20fill=%22%23c8973a%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%2227%22%20cy=%22486%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22520%22%20cy=%22230%22%20r=%221.0%22%20fill=%22%23d4a94f%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22493%22%20cy=%22384%22%20r=%221.2%22%20fill=%22%23b9b0c4%22%20opacity=%220.24%22/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='.04'/%3E%3C/svg%3E"),
    radial-gradient(ellipse 46% 62% at 22% 24%,
                    rgba(240, 214, 152, .34) 0%,
                    rgba(240, 214, 152, 0)  72%),
    radial-gradient(ellipse 40% 56% at 76% 74%,
                    rgba(206, 186, 224, .30) 0%,
                    rgba(206, 186, 224, 0)  74%),
    linear-gradient(178deg,
                    rgba(255, 255, 255, .55)  0%,
                    rgba(255, 255, 255, 0)   34%);
  background-repeat: repeat, repeat, no-repeat, no-repeat, no-repeat;
  background-size:
    560px 560px,
    200px 200px,
    100% 100%,
    100% 100%,
    100% 100%;

  padding-block: clamp(1.5rem, 4vw, 2.5rem);
  border-block: 1px solid var(--trait);
}
.bande-blanche .citation { margin-block: 0; }

/* Fond « matière » — pour la rubrique des séances, qu'il fallait détacher du
   reste de l'accueil.

   Trois couches empilées dans une seule déclaration, du dessus vers le
   dessous :

   1. le grain. C'est un SVG écrit dans la feuille de style, pas un fichier :
      `feTurbulence` fabrique un bruit, `feColorMatrix` lui retire sa couleur,
      et le tout est posé à 7 % d'opacité. Rien n'est téléchargé, rien à
      versionner, et la trame ne pèse pas un octet de plus au chargement.
      La tuile fait 180 px et se raccorde d'elle-même (`stitchTiles`), donc
      aucune couture ne se voit d'une répétition à l'autre ;
   2. un halo pêche en haut, très étalé, qui empêche le rectangle d'être plat
      et rappelle la couleur du logo ;
   3. la couleur de fond, un peu plus chaude que le creux des autres sections,
      pour que les deux ne se confondent pas quand on descend la page.

   Les deux filets qui bornent la bande achèvent de la détacher : sans eux,
   le changement de ton se remarque à peine sur un écran mal réglé.

   ⚠️ Le grain se règle par l'opacité du `rect` (7 %) et sa finesse par
   `baseFrequency` (.9 — plus le nombre est grand, plus le grain est fin).
   Ces deux valeurs sont les seules à toucher si l'effet est trop ou trop peu
   marqué. 
   ⚠️ Cette bande était dans les tons chauds jusqu'au 23 août 2026 — un rappel
   du logo, du temps où l'accueil était en automne. Elle est passée au BLEU
   (#d3e5f5) à la demande de Maryline, et le halo avec elle : un halo ambré sur
   un fond bleu aurait sali les deux.

   ⚠️ Accentué le 23 août 2026 : #d3e5f5 est devenu #b9d5ef, et le halo a suivi.
   La bande pèse maintenant 1,52 contre le blanc au lieu de 1,29.

   C'est un vrai gain et pas une nuance. Elle ne se distinguait presque pas du
   vert de la page — 1,05:1 entre les deux — et ne tenait que par ses filets de
   bordure. L'écart est maintenant de 1,24 : la bande se voit d'elle-même. Les
   cartes blanches y gagnent aussi, 1,52 de séparation au lieu de 1,29.

   Rien n'est écrit directement sur ce bleu : le cartouche du titre et les trois
   cartes sont des panneaux blancs. Aucune lisibilité ne le limite donc, et on
   pourrait le foncer bien davantage si besoin.
*/
.section--matiere {
  /* Tons d'automne, comme le reste de l'accueil — la seule page qui porte
     cette bande. Le fond est un cran plus ambré que le sable de la page, et
     le halo du haut est passé du rose pêche à la terre cuite : sur un fond
     déjà chaud, la pêche ne se voyait plus. */
  background-color: #b9d5ef;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)' opacity='.07'/%3E%3C/svg%3E"),
    radial-gradient(ellipse 90% 55% at 50% 0%,
                    rgba(107, 163, 208, .34) 0%,
                    rgba(107, 163, 208, 0)  72%);
  background-repeat: repeat, no-repeat;
  background-size: 180px 180px, 100% 100%;
  border-block: 1px solid var(--trait);
}

.centre { text-align: center; }

/* Un groupe de titre en trois temps : le repère, l'étiquette, le titre.

   Première version : les trois lignes empilées avec une respiration régulière
   et un filet dégradé dessous. Ça ne suffisait pas — chacune gardait son
   allure, et rien ne disait qu'elles allaient ensemble.

   Version actuelle : elles sont enfermées dans un même cartouche, et les deux
   petites lignes reçoivent la même forme — même gélule, même filet, même
   point dégradé. Elles deviennent une paire, ce qu'elles n'étaient pas. Le
   grand titre, lui, garde son serif et sa taille : trois objets identiques
   auraient effacé la hiérarchie, on ne saurait plus lequel est le titre.

   Le cartouche est barré en haut du dégradé de l'ange, celui du logo. C'est
   ce qui rattache le bloc au reste du site plutôt qu'à lui-même. */
.bloc-titre {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* ⚠️ Réduit le 23 août 2026 : « diminuer la taille de l'encadré ». Cinq
     valeurs baissent ensemble, sans quoi le bloc rétrécit d'un côté et reste
     gros de l'autre — la largeur, les deux rembourrages, l'écart entre les
     lignes, et les corps de l'étiquette, de la mention et du titre, plus bas.
     Les proportions entre les quatre lignes sont conservées. */
  gap: .7rem;

  width: min(500px, 100%);
  margin-inline: auto;
  padding: clamp(1.15rem, 3.2vw, 1.7rem) clamp(1rem, 3vw, 1.5rem)
           clamp(1rem, 2.8vw, 1.45rem);

  background: var(--blanc);
  border: 1px solid var(--trait);
  border-radius: var(--arrondi);
  box-shadow: var(--ombre-douce);
}
.bloc-titre > * { margin: 0; }

/* Le grand titre du cartouche suit sa réduction : le h2 du site monte jusqu'à
   2,3 rem, ce qui était trop pour un bloc devenu étroit. */
.bloc-titre h2 { font-size: clamp(1.35rem, 3.4vw, 1.8rem); }

/* Le trait dégradé qui barre le haut du cartouche. En `absolute` sur toute la
   largeur : il suit le cartouche quoi qu'il arrive à son contenu. */
.bloc-titre::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: var(--degrade);
}

/* La gélule commune aux deux petites lignes. Le repère du haut n'en avait pas
   — c'était du texte nu — et c'est précisément ce qui l'empêchait de faire
   paire avec l'étiquette. Il reçoit ici la forme de l'étiquette, jusqu'au
   point dégradé qui l'ouvre.

   Ce qui les distingue tient au seul contenu : le repère est en capitales
   espacées et en magenta, l'étiquette en minuscules et en encre pleine. Même
   objet, deux voix. */
/* ⚠️ Le magenta de la palette rend 3,6:1 sur blanc — sous le seuil de 4,5:1
   exigé pour un texte de cette taille. En posant le repère sur le fond crème
   de la gélule, on tombait à 3,3:1. Il est donc assombri ici, à teinte égale,
   ce qui le ramène à 4,8:1. Réglage local : le magenta de la palette n'est
   pas touché, et les autres surtitres du site gardent le leur. */
.bloc-titre .surtitre { color: #a844a8; }

.bloc-titre .surtitre,
.bloc-titre .pastille {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem 1rem .4rem .8rem;
  border-radius: 999px;
  background: var(--fond-creux);
  border: 1px solid var(--rose-pale);
  box-shadow: none;
}
.bloc-titre .surtitre::before,
.bloc-titre .pastille::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--degrade);
}
/* … sauf « Tout à distance », qui sort de la gélule à la demande de Maryline.
   Plus de contour, plus de fond, plus de point : du texte nu, et nettement
   plus grand — 22,4 px, entre les 15,2 px du repère au-dessus et les 36,8 px
   du titre en dessous. Les trois lignes forment ainsi une montée régulière.

   Ces règles viennent après la déclaration commune et la défont pour cette
   seule ligne ; le repère, lui, garde sa gélule. */
.bloc-titre .pastille {
  display: block;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;

  font-size: 1.15rem;
  line-height: 1.3;
  color: var(--encre);
  letter-spacing: .01em;
}
.bloc-titre .pastille::before { content: none; }

/* « via Zoom », en rouge, collé sous l'étiquette « Tout à distance ».

   Le rouge est le seul de la page : il n'existe nulle part ailleurs dans la
   palette, qui va de la pêche au bleu-violet. Celui-ci a été choisi sur mesure
   de contraste — #c62828 rend 5,6:1 sur le blanc du cartouche, au-dessus du
   seuil de 4,5:1 ; un rouge plus vif comme #e03131 tombait à 4,5:1 tout juste.

   Le cartouche espace ses lignes de .9rem. Cette mention remonte de .55rem
   pour se recoller à l'étiquette qu'elle précise : elle doit se lire comme sa
   suite, pas comme une quatrième ligne indépendante.

   Taille : 16 px, juste en dessous des 18,4 px de « Tout à distance ». Elle se
   voit de loin sans passer devant l'étiquette qu'elle complète. Les deux ont
   baissé ensemble quand le cartouche a été réduit, leur rapport est intact. */
.bloc-titre .mention-zoom {
  margin-top: -.45rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: #c62828;
}

/* Un texte retiré de l'écran mais gardé dans la page. Il continue d'exister
   pour les lecteurs d'écran et pour les moteurs de recherche — ce n'est pas
   la même chose que le supprimer.

   Sert au titre de Contact défunt, dont le libellé est peint dans l'image du
   bandeau : à l'écran il ferait doublon, mais une page sans h1 perdrait son
   titre pour tout ce qui ne voit pas l'image. On le cache, on ne l'enlève pas.

   La technique évite `display: none` et `visibility: hidden`, que les
   lecteurs d'écran ignorent tout autant que l'œil. */
.hors-ecran {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Texte courant justifié dans tout le site : les lignes s'alignent des deux
   côtés.

   La césure automatique va avec, elle n'est pas optionnelle. Justifier, c'est
   étirer les espaces d'une ligne jusqu'à ce qu'elle atteigne le bord ; sans
   coupure des mots, une ligne qui contient un mot long — « médiumnité »,
   « myrrhophores », « visioconférence » — se retrouve avec des blancs béants
   entre ses mots, et ces blancs finissent par dessiner des rivières blanches
   en travers du paragraphe. La césure autorise le navigateur à couper en fin
   de ligne selon les règles du français, qu'il connaît grâce au `lang="fr"`
   déclaré par la page.

   Ce qui n'est PAS justifié, et pourquoi :
     — tout ce qui est centré (bannière, citation, blocs `.appel`, `.centre`) —
       justifier un texte centré n'a pas de sens, les deux se contredisent ;
     — les descriptions des cartes de l'accueil : la colonne y fait 250 px,
       trop étroite pour que la justification tienne ;
     — le pied de page et les surtitres : des libellés d'une ou deux lignes,
       sur lesquels la justification ne produirait rien.
   Les sélecteurs ci-dessous ne les atteignent pas — c'est pour cela qu'ils
   visent des parents précis plutôt que tous les `p` du site. */
.chapo,
.provisoire p,
.reperes li,
.presentation p,
/* ⚠️ `:not(.precision)` n'est pas décoratif. Cette règle est plus spécifique
   que `.precision` — trois classes contre une — et sa justification l'emportait
   donc sur le centrage, qui ne prenait pas. Le symptôme : une ligne demandée
   centrée s'affichait justifiée, sans que rien ne paraisse fautif dans la règle
   qui la centrait. Toute nouvelle classe qui veut un autre alignement pour un
   paragraphe enfant direct d'`.etroit` devra s'ajouter ici.

   ⚠️ C'est arrivé une seconde fois le 24 août 2026, avec `.mention-duree` : la
   ligne demandée centrée s'affichait justifiée, exactement comme la première
   fois. Le piège se referme à chaque nouvelle classe — cette liste est à
   compléter, pas à contourner.

   ⚠️ Deux de plus le même jour : `.repere-seul` et `.avertissement-sante`,
   ajoutées d'emblée cette fois, avant d'avoir constaté le symptôme. C'est
   devenu le réflexe à avoir : TOUTE nouvelle classe de paragraphe centré doit
   entrer ici en même temps qu'elle est écrite.

   ⚠️ Une cinquième, `.note-delai`, sur la page Contact — et celle-là serait
   passée inaperçue : son parent est `.etroit formulaire-cadre`, pas une section
   ordinaire. La règle ne regarde que `.etroit`, elle l'aurait donc attrapée
   quand même. Le piège ne se limite pas aux pages de prestation.

   ⚠️ Une sixième, `.avis-paiement`, dans la tête de la page Tarifs. Trois lignes
   dans un encadré étroit : justifiées, elles auraient ouvert des blancs entre
   les mots.

   ⚠️ Une septième, `.arrangement`, sous la règle d'annulation de la page Tarifs.
   Sur l'accueil, la même phrase est dans `.reglement` et échappe donc à la
   règle ; sur Tarifs, elle est enfant direct de `.etroit` et y tombe. **Une même
   phrase peut être attrapée à un endroit et pas à l'autre** — vérifier les deux
   quand un texte est posé en double.

   Le compte monte à sept — la liste est à compléter, pas à contourner par un
   `!important`. */
.etroit:not(.centre) > p:not(.surtitre):not(.precision):not(.mention-duree):not(.repere-seul):not(.avertissement-sante):not(.note-delai):not(.avis-paiement):not(.arrangement) {
  text-align: justify;
  -webkit-hyphens: auto;
          hyphens: auto;
}

/* L'accueil est la seule page à ne pas porter le crème du reste du site.

   Elle a d'abord été en couleurs d'automne — sable chaud, feuille sèche, filet
   noisette — puis passée au VERT D'EAU le 23 août 2026, à la demande de
   Maryline. Les trois valeurs ont changé de famille sans changer de poids : le
   fond pesait 1,13 contre le blanc et le creux 1,25, exactement comme les tons
   d'automne qu'ils remplaçaient.

   ⚠️ Le vert a fait l'aller-retour dans la même journée : « trop pâle », puis
   « foncer partout », puis « plus pâle » à nouveau. La saturation est restée à
   52 %, la clarté a baissé de onze points puis en a repris cinq. La page pèse
   aujourd'hui 1,23 et 1,33 contre le blanc.

   ⚠️ Les encres, elles, n'ont PAS été rendues à leurs valeurs d'origine après
   cet éclaircissement. Elles avaient été assombries pour tenir sur les verts
   foncés ; sur les verts actuels elles ont donc de la marge, ce qui n'est jamais
   un défaut. Les rendre plus claires demanderait de tout remesurer pour ne rien
   gagner.

   Les valeurs ne sont pas choisies à l'œil. L'encre douce du site (#6f6885) ne
   tient pas sur ces fonds : elle est assombrie d'un cran ici, ce qui lui rend
   5,0:1 au pire endroit — elle a dû être assombrie une seconde fois pour cela,
   #635c7a tombant à 4,37:1 sur le creux. Le repère magenta a suivi le même
   chemin, et c'est lui qui commande : 4,69:1 sur le creux, moins de deux
   dixièmes de marge. Tout nouvel assombrissement du vert doit commencer par
   assombrir ces deux encres, sans quoi le texte passe sous le seuil.

   ⚠️ Deux blocs de cette page gardent volontairement une couleur chaude et ne
   suivent donc PAS ce vert : la bande « matière » de la rubrique des séances,
   en pêche, et tout le bas de la page (`.foret`), en orange pastel. Ils étaient
   accordés au sable ; sur du vert d'eau, ce sont maintenant des îlots chauds
   dans une page froide. C'est peut-être ce qu'on veut — le chaud ressort mieux
   sur le froid — mais c'est à regarder, et à signaler si le contraste heurte.

   Tout est déclaré sur `body.accueil` : les neuf autres pages gardent leur
   fond crème d'origine, rien n'y bouge. */
body.accueil {
  --fond:       #cdefe8;   /* vert d'eau */
  --fond-creux: #b9e9df;   /* vert d'eau, un cran plus dense */
  --trait:      #abded4;   /* filet vert */
  --encre-doux: #5a5370;   /* assombri deux fois pour tenir sur ces verts */
}

.surtitre {
  font-family: var(--texte);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--magenta);
  margin: 0 0 .9rem;
}

/* Sur l'accueil seulement, les trois surtitres grossissent d'un quart — « Les
   séances », « Qui suis-je », « En pratique ». Ils y jouent un autre rôle que
   sur les pages de prestation : ce sont les repères qui découpent une longue
   page, alors qu'ailleurs « Séance individuelle » n'est qu'une mention posée
   au-dessus d'un grand titre.

   D'où la classe `accueil` sur le `<body>` de la page : la règle est réservée
   à cette page et le « Séance individuelle » des quatre prestations garde sa
   taille. Le rapport au titre reste net — 15,2 px contre 36,8 px pour le h2 —
   donc le surtitre monte sans venir lui disputer la place. */
.accueil .surtitre {
  font-size: .95rem;
  /* Assombri pour les fonds d'automne. Cette règle vient après celle du
     cartouche (`.bloc-titre .surtitre`) et l'emporte donc sur les trois
     repères de la page, y compris celui posé sur le blanc du cartouche :
     ils gardent ainsi la même couleur d'un bout à l'autre.
     ⚠️ Assombri une seconde fois le 23 août 2026, quand les verts ont été
     soutenus : #9c3d9c tombait à 4,47:1 sur le creux, sous le seuil de 4,5:1 —
     de trois centièmes, mais dessous. Après le second assombrissement des
     verts, il rend 5,1:1 sur le fond et 4,7:1 sur le creux. C'est la mesure la
     plus juste de toute la page : c'est cette couleur, et non celle du fond,
     qui fixe jusqu'où le vert peut encore foncer. */
  color: #8f378f;
}

.chapo {
  font-size: 1.15rem;
  line-height: 1.7;
  color: var(--encre-doux);
}

/* Un chapô à la largeur de l'image qui le précède, et non à celle de la colonne
   de lecture. Demandé sur Contact défunt le 24 août 2026 : « aligné sous
   l'image ».

   Il lit `--visuel-large`, la même variable que le visuel, posée une seule fois
   sur le bandeau de la page : les deux ne peuvent donc pas se désaligner. Sur
   Contact défunt cette variable n'est pas définie, et c'est voulu — le visuel y
   prend la valeur par défaut de 1120 px, et le chapô la même.

   La sortie de la colonne se fait par `margin-left: 50%` puis
   `translateX(-50%)`, comme pour le visuel large : la seule façon de déborder
   d'un parent centré sans toucher au parent, donc sans effet sur les autres
   pages.

   ⚠️ Il est en DANCING SCRIPT, la cursive du site — demandé le 24 août 2026 :
   « une jolie police ». C'est la seule police embarquée, déjà chargée pour le
   sous-titre de la bannière d'accueil et la citation du pèlerin : rien de plus
   à télécharger.

   Graisse 600, et pas autre chose : c'est la SEULE que le fichier contient. Toute
   autre valeur ferait fabriquer un faux gras par le navigateur, qui épaissit les
   pleins sans toucher aux déliés et abîme une cursive. Pas d'italique non plus,
   elle penche déjà.

   ⚠️ La cursive est PLUS LARGE que le serif, contrairement à ce qu'on croirait :
   59,4 em contre 53,0 pour cette phrase, mesuré. Ses lettres sont plus étroites
   mais liées et penchées, ce qui allonge le tracé. À 1,85 rem la phrase occupe
   1758 px, soit un peu plus d'une ligne et demie sur les 1120 disponibles :
   elle tombe donc sur deux lignes, ce qui est le but — une seule ligne à cette
   largeur serait un fil, trois un pavé.

   ⚠️ En `file://`, par double-clic, le navigateur refuse souvent de charger une
   police locale et la phrase s'affiche dans le serif de repli. Ce n'est pas un
   défaut, voir CLAUDE.md ; en HTTP elle est bien manuscrite.

   ⚠️ LA COULEUR N'EST PAS ICI, et c'est délibéré. Deux règles la posent plus
   loin dans le fichier — `.teinte .chapo` et `.teinte--defunt .chapo` — et
   toutes deux comptent deux classes contre une seule ici : elles l'emportent,
   et une couleur écrite à cet endroit serait ignorée sans que rien ne le
   signale. Elle est donc déclarée avec les autres règles de Contact défunt,
   plus bas. */
.chapo--large {
  width: min(var(--visuel-large, 1120px), 100vw - 2.5rem);
  margin-left: 50%;
  transform: translateX(-50%);

  font-family: "Dancing Script", var(--titre);
  font-weight: 600;
  font-style: normal;
  font-size: clamp(1.4rem, 3.4vw, 1.85rem);
  line-height: 1.45;
}

/* Un chapô de plusieurs phrases, et non l'accroche de deux lignes des autres
   pages. Il sort de la colonne de lecture pour prendre la largeur du visuel
   qui le suit : Maryline a demandé que les deux soient alignés.

   Il lit donc `--visuel-large`, la même variable que l'image, posée une seule
   fois sur le bandeau. ⚠️ C'est volontaire : ces deux largeurs doivent rester
   égales, et un seul nombre à changer vaut mieux que deux à synchroniser.

   La sortie se fait par `margin-left: 50%` puis `translateX(-50%)`, comme pour
   le visuel large — la seule façon de déborder d'un parent centré sans toucher
   au parent, donc sans effet sur les autres pages.

   ⚠️ Une ligne centrée de 860 px porte une centaine de signes, bien au-delà des
   soixante-quinze qu'on recommande d'ordinaire. C'est un choix assumé de
   Maryline, pas un oubli : ne pas la resserrer sans le lui demander. Le corps
   reste baissé d'un demi-point, ce qui limite un peu la casse. */
/* Sur Guidance, le chapô tient sur une seule ligne, à la largeur exacte du
   visuel qui le suit. Comme sur Écoute bienveillante, les deux lisent la même
   variable `--visuel-large`, posée une seule fois sur le bandeau : ces deux
   largeurs doivent rester égales, et un seul nombre vaut mieux que deux.

   La taille n'est pas choisie, elle est calculée. La phrase a été rendue dans
   les polices vraisemblables de la pile de texte et son étendue d'encre
   mesurée : 43,96 em en Helvetica Neue, 43,43 en Arial — les cent signes de la
   phrase. La plus large commande, majorée de 7 % pour la barre de défilement
   et une substitution de police : 47. La taille est donc la largeur du cadre
   divisée par 47, et non une valeur en rem, qui suivrait la police par défaut
   du navigateur et ferait repasser la phrase sur deux lignes chez qui l'a
   réglée plus haut.

   À 960 px cela donne 20,4 px, soit 1,28 rem : la phrase est même un peu plus
   grande qu'avant, où elle occupait deux lignes à 1,15 rem.

   ⚠️ La règle ne s'applique qu'à partir de 760 px de large. En dessous, la
   phrase reprend sa taille normale et se replie sur plusieurs lignes. Cent
   signes sur une seule ligne demanderaient 6 px de haut sur un téléphone : la
   ligne unique n'est pas tenable en dessous de cette largeur, et mieux vaut
   une phrase repliée qu'une phrase illisible. */
@media (min-width: 760px) {
  .teinte--guidance .tete-page .chapo {
    width: min(var(--visuel-large, 960px), 100vw - 2.5rem);
    margin-left: 50%;
    transform: translateX(-50%);
    font-size: calc(min(var(--visuel-large, 960px), 100vw - 2.5rem) / 47);
  }
}

.chapo--long {
  width: min(var(--visuel-large, 860px), 100vw - 2.5rem);
  margin-left: 50%;
  transform: translateX(-50%);
  font-size: 1.08rem;
}

.texte-degrade {
  background: var(--degrade);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  /* Repli si background-clip:text n'est pas supporté */
  -webkit-text-fill-color: transparent;
}

/* --------------------------------------------------------------------------
   4. En-tête et navigation
   -------------------------------------------------------------------------- */

.entete {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 251, 248, .88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--trait);
}

/* Le haut de l'accueil suit le vert du reste de la page. Réservé à cette page :
   l'en-tête est le même fichier sur les dix, mais les neuf autres ont chacune
   leur propre teinte — bleu, violet, bleu nuit, rose — et un bandeau vert y
   jurerait. Elles gardent donc le crème commun.

   La transparence est conservée telle quelle : c'est elle, avec le flou posé
   derrière, qui fait que le contenu se devine sous la barre quand on descend.
   Seule la couleur du voile change. */
.accueil .entete { background: rgba(205, 239, 232, .88); }

/* ⚠️ La barre de l'en-tête ne suit plus `--large` (1120 px) depuis le 23 août
   2026 : Maryline veut les six entrées du menu sur une seule ligne, et elles ne
   tiennent pas dans cette largeur. Une barre de navigation n'a pas de raison
   d'être bornée par la colonne de lecture — c'est le texte qui a besoin d'une
   longueur de ligne courte, pas un menu. */
.entete__barre {
  width: min(1280px, 100% - 2rem);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 68px;
}

.marque {
  display: flex;
  align-items: center;
  gap: .7rem;
  text-decoration: none;
  color: inherit;
  padding-block: .5rem;
}

.marque__ange {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  /* Le logo a beaucoup bougé le 23 août 2026 : l'ange du départ, une porte de
     lumière, un papillon vert, celui-ci, puis le papillon-clé du dossier
     Contact — et retour à celui-ci, que Maryline a préféré. C'est donc un
     papillon pâle posé sur une main ouverte, sur un fond turquoise.

     L'image est en largeur (626 × 417) : dans un rond, c'est donc la largeur
     qui déborde et le cadrage se joue à l'horizontale. Centré, la main et
     l'insecte tiennent tous les deux ; décalé de 30 % ou 70 %, l'un des deux
     sort. Vérifié en rendant les trois carrés.

     ⚠️ La vignette ne fait que 38 px. À cette taille, seule une silhouette se
     lit : c'est ce qui a fait écarter la porte de lumière, qui n'y était plus
     qu'une tache dorée. Une main tenant un papillon garde un contour
     reconnaissable, c'est ce qui la sauve. */
  object-position: center;
  flex-shrink: 0;
}

/* Citation en respiration avant « Qui suis-je », sur l'accueil.

   Elle est écrite dans le dégradé du titre de la bannière — la variable
   elle-même, pas une copie de ses couleurs : si le titre change de teintes,
   la citation suit. Mesuré sur le fond clair du site, chacun des quatre tons
   dépasse 10:1 de contraste, très au-delà du 3:1 exigé pour un grand texte.

   La police est Dancing Script, la seule police embarquée du site, déjà
   chargée pour le sous-titre de la bannière : rien de plus à télécharger.
   C'est une écriture cursive, penchée par nature — on ne lui ajoute pas
   `font-style: italic`, qui la ferait pencher une seconde fois, de travers.

   ⚠️ En `file://`, le navigateur refuse de charger la police locale et la
   citation s'affiche dans le serif de repli. C'est normal, voir CLAUDE.md.

   La citation est posée sur une photo, étalée sur toute la largeur du contenu
   comme la bande de l'aurore. L'adresse du fichier est encodée en pourcents
   (`%20` pour l'espace, `%C3%A8` pour le è) : une feuille de style ne déclare
   pas son encodage, et un chemin accentué écrit tel quel peut être mal
   interprété selon le navigateur. En HTML le problème ne se pose pas, mais
   ici on est dans le CSS.

   La photo fait 673 × 1200 : elle est étirée à 960 px de large, soit un
   agrandissement d'une fois et demie — l'image reste dans ses proportions,
   c'est le cadre qui n'en garde qu'une tranche. Cette tranche est calée à
   55 % de la hauteur et non au centre : la marcheuse se tient dans le tiers
   bas de la photo, un cadrage centré lui aurait coupé les jambes. */
.citation {
  display: grid;
  place-items: center;
  /* Largeur intermédiaire, propre à ce bloc : plus étroite que le contenu
     (1120 px) sans descendre à la largeur du texte (680 px). Bâtie sur le
     même modèle que --large et --etroit, pour se comporter comme eux sur les
     petits écrans. Réduire ce nombre réduit tout l'ensemble : la hauteur et
     le corps du texte sont réglés dans le même rapport, juste en dessous.

     ⚠️ Réduit le 21 août 2026 : 960 → 880 px de large, 440 → 370 px de haut,
     soit un sixième en moins sur les deux axes. La largeur n'a pas été baissée
     davantage à cause du texte : la première phrase de la chute réclame 707 px
     et il en reste 808 une fois les marges intérieures ôtées, soit 87 % de la
     place. En descendant à 820 px on repasserait à 95 %, et le texte
     toucherait de nouveau les bords — ce qu'on venait justement de corriger.
     Pour aller plus loin, c'est la hauteur seule qu'il faut baisser. */
  /* ⚠️ Réduit d'un sixième le 23 août 2026 : « réduire la taille de l'image ».
     Les quatre valeurs ont été divisées par le même nombre — largeur, hauteur,
     rembourrage et corps du texte, ce dernier juste en dessous. C'est la règle
     posée dès l'origine pour ce bloc : n'en réduire qu'une donnerait une photo
     étroite mais toujours haute, ou un texte perdu dans un grand cadre. */
  width: min(740px, 100% - 2.5rem);
  min-height: clamp(200px, 24vw, 310px);
  margin-inline: auto;
  margin-block: clamp(2rem, 6vw, 3.5rem);
  padding: clamp(1.45rem, 4.2vw, 2.5rem) clamp(1.05rem, 3.8vw, 1.9rem);
  border-radius: var(--arrondi);
  background: url("../banni%C3%A8re%20espace%20accueil/b9e87586c48645b8fd362228066e8760.jpg")
              center 55% / cover no-repeat;
  box-shadow: var(--ombre-douce);
  text-align: center;
}
.citation p {
  margin: 0;
  font-family: "Dancing Script", var(--titre);
  font-weight: 600;
  font-size: clamp(1.05rem, 3.2vw, 1.72rem);
  line-height: 1.45;
}

/* Les deux premières lignes. Le dégradé est porté ici et non par le
   paragraphe, pour que la chute soit libre d'avoir son propre traitement.
   Il court d'un seul tenant sur les deux lignes, apostrophe comprise.

   Halo clair autour des lettres, pour qu'elles tiennent aussi bien sur les
   zones dorées que sur les troncs sombres. C'est une ombre portée et non un
   `text-shadow` : les lettres étant transparentes — c'est le dégradé du fond
   qui les colore — un `text-shadow` se verrait au travers. Même technique que
   le titre de la bannière, pour la même raison. Pas de voile sur la photo :
   la règle du site est d'ombrer le texte plutôt que de masquer l'image. */
.citation__debut {
  display: block;
  background: var(--degrade-titre);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 5px rgba(255, 251, 248, .95))
          drop-shadow(0 0 12px rgba(255, 251, 248, .9))
          drop-shadow(0 0 30px rgba(255, 251, 248, .75));
}

/* La chute. Elle ressort par inversion : les deux lignes du dessus sont
   sombres et dégradées, celle-ci est claire et d'un seul ton — le pêche pâle
   de la palette, qui répond à la lumière dorée de la photo. Comptés l'un
   contre l'autre, les deux traitements sont à 8,4:1.

   Mais mesurée sur la photo, cette couleur claire ne tient pas seule : 13:1
   sur les sous-bois sombres, et seulement 1,1:1 sur le chemin éclairé, où
   elle s'effacerait. D'où l'ombre serrée et opaque, qui lui dessine un
   contour sombre à 9:1 — c'est lui qui porte la lisibilité, la couleur ne
   fait que le remplir. Ici les lettres sont pleines, un `text-shadow` est
   donc possible, contrairement aux lignes du dessus. */
.citation__final {
  display: block;
  margin-top: .55em;

  /* Le serif de titrage du site, en vraie italique — celle que la cursive ne
     pouvait pas donner. Le changement de famille fait à lui seul une bonne
     part de l'effet : à taille nominale égale, un serif a une hauteur d'x
     bien plus grande qu'une cursive, il occupe donc davantage la ligne.
     La taille est en `em`, donc relative à la citation : la chute grandit et
     rétrécit avec elle.

     ⚠️ Réduite de 1,1 à 0,92em le 21 août 2026. Elle était plus grande que
     les deux lignes du dessus tant qu'elle tenait en quatre mots ; depuis
     qu'elle porte deux phrases entières, la première occupait 95 % de la
     largeur disponible et venait toucher les bords. À 0,92em elle en occupe
     80 %, et passe légèrement sous les lignes du dessus au lieu de les
     dominer. */
  font-family: var(--titre);
  font-style: italic;
  font-weight: 500;
  font-size: .92em;
  letter-spacing: .02em;
  /* Sur un petit écran, ces deux phrases se coupent quoi qu'il arrive — même
     au corps minimum de la citation, la première demande 412 px pour 324
     disponibles sur un téléphone étroit. `balance` ne l'empêche pas, mais
     répartit les mots également entre les lignes au lieu d'en laisser un seul
     tout seul en bas. Les navigateurs qui ne connaissent pas la propriété
     l'ignorent, et coupent comme avant. */
  text-wrap: balance;
  color: var(--peche-pale);
  text-shadow: 0 0 2px rgba(63, 56, 83, .95),
               0 1px 2px rgba(63, 56, 83, .95),
               0 0 16px rgba(63, 56, 83, .7);
}

/* L'apostrophe — l'interpellation qui ouvre la citation. Elle est détachée sur
   sa propre ligne et écrite plus grand, pour qu'on l'entende comme un appel
   avant que le texte ne commence. La taille est en `em`, donc relative à la
   citation : elle grandit et rétrécit avec elle, sans réglage séparé.
   Pas de couleur ici : le dégradé est porté par le paragraphe entier, et
   découpé sur l'ensemble de ses lettres, celles-ci comprises. */
.citation__apostrophe {
  display: block;
  font-size: 1.4em;
  line-height: 1.2;
  margin-bottom: .3em;
}

/* --------------------------------------------------------------------------
   Le bas de l'accueil, en orange pastel
   --------------------------------------------------------------------------

   Demandé par Maryline le 21 août 2026 : d'abord « un marron qui rappelle une
   forêt », depuis l'ange jusqu'au bas du site. Puis, le même jour, ce marron a
   été réchauffé quatre fois — brun doré, cognac, terre brûlée — avant qu'elle
   ne demande finalement un ORANGE PASTEL. Le bloc porte encore le nom de
   `foret`, qui n'a plus de rapport avec ce qu'il fait ; il n'a pas été renommé
   pour ne pas toucher aux dix fichiers HTML qui l'appellent.

   Le bloc ne repeint pas les éléments un par un : il redéfinit les jetons de
   couleur, exactement comme `body.accueil` le fait pour l'automne plus haut.
   Tout ce qui vit à l'intérieur — titres, listes, filets, pied de page — suit
   sans qu'aucune règle n'ait à être réécrite. C'est aussi ce qui rend le
   retour en arrière possible en supprimant ce seul bloc.

   ⚠️ Le renversement du 21 août : tant que le fond était sombre, les encres
   étaient INVERSÉES — un blanc chaud à la place du violet sombre du site. Le
   fond étant redevenu clair, tout cela est tombé. `--encre` n'est plus
   redéfinie du tout, et les deux règles qui écrivaient en pêche (le surtitre,
   les liens du pied de page au survol) sont repassées à un violet sombre :
   sur du pastel, la pêche rendait 1,3:1.

   ⚠️ Passé au VERT D'EAU le 23 août 2026, avec le reste de l'accueil. Les trois
   valeurs ont changé de famille en gardant leur écart, puis ont été soutenues
   dans la foulée, puis éclaircies trois fois : « trop foncé », puis « aussi
   clair que le vert de tout en haut ».

   ⚠️ Ce bloc a été aligné sur le vert du haut le 23 août 2026, puis rendu à sa
   propre échelle le même jour — « la couleur de fond plus foncé », dit de
   l'image de clôture qui s'y trouve. Il redescend donc d'un cran sous la page :
   fond #b9e9df (1,33 contre le blanc), creux #aee5da (1,40), pied de page
   #a2e2d5 (1,46), quand le haut reste à #cdefe8 (1,23).

   Le bas se détache donc de nouveau par sa couleur, en plus du filet du pied de
   page et du fondu sous l'aurore.

   Le bloc conserve en revanche ses ENCRES assombries, qui restent utiles : voir
   plus haut. C'est aujourd'hui sa seule raison d'exister — s'il devait être
   supprimé un jour, il faudrait vérifier ce que deviennent ces encres.

   Mesuré : sur le fond, l'encre ordinaire rend 8,3:1, l'encre douce 5,8:1, la
   très douce 6,5:1, le surtitre 5,7:1. Sur le pied de page, plus dense : 7,6,
   5,2, 5,9 et 5,2. Toutes largement au-dessus du seuil. ⚠️ L'encre très douce
   avait dû être assombrie (#58526e → #4e4864) du temps des verts foncés ; elle
   est restée ainsi, ce qui ne coûte rien et protège d'un futur assombrissement.

   ⚠️ Le fondu du haut ne part PLUS du vert de la page, et pas même de sa
   famille : il descend du VERT DE SA ROBE, relevé sur le portrait de la section
   « Qui suis-je » juste au-dessus.

   Comment il a été relevé, pour qu'on puisse le refaire : le bas de l'image a
   été découpé (les 410 dernières lignes, là où il n'y a plus que le tissu),
   réduit, puis lu pixel par pixel. Les pixels de peau et de fond ont été écartés
   par leur teinte et leur saturation, et il est resté 11 710 pixels de robe sur
   14 268. Leur médiane est 155° de teinte, 42 % de saturation, 15 % de clarté —
   soit #17372a, un vert presque noir.

   ⚠️ Ce n'est PAS cette médiane qui est employée ici, et c'est un choix. Le
   satin a des plis très sombres qui tirent la médiane vers le bas ; la couleur
   qu'on perçoit en regardant la robe est celle de ses parties éclairées, le
   quartile supérieur, à 25 % de clarté — #265c45. C'est celle-là, qui pèse
   2,72:1 contre le blanc. Si Maryline veut la robe telle que la statistique la
   donne, #17372a est la valeur exacte.

   La teinte change de famille au passage : la page est à 168°, un bleu-vert, et
   ce vert-ci à 155°, un vert franc. La bande ne se distingue donc plus seulement
   par sa profondeur mais par sa couleur.

   C'est donc le seul endroit du bas de page qui ait encore une couleur à lui.
   Il n'y a aucun texte dans cette bande — seulement l'image du papillon — donc
   rien à mesurer : la profondeur y est libre. La hauteur de 430 px est calée
   sur la bande d'aurore (150 à 280 px) plus ses marges, de sorte que le vert
   franc entoure l'image et s'éteint juste après elle.

   ⚠️ Si l'on voulait descendre plus bas encore, c'est le raccord qui poserait
   problème, pas la lisibilité : plus le départ est sombre, plus la transition
   vers le vert de la page se voit. À 430 px elle passe inaperçue.

   ⚠️ Ce bloc a beaucoup bougé, pour mémoire : brun de forêt sombre avec les
   encres inversées en blanc chaud ; réchauffé en trois passes jusqu'à l'orangé
   foncé ; éclairci en orange pastel, ce qui a remis les encres à l'endroit ;
   puis ce vert.

   ⚠️ Il a aussi porté une TEXTURE D'ÉCORCE — quarante-huit bandes verticales et
   une turbulence étirée en fibres de bois, 6 Ko écrits dans cette feuille —
   retirée le 23 août 2026 à la demande de Maryline. Elle avait un sens sur un
   brun de forêt ; elle n'en avait plus sur du vert d'eau. Le bloc n'a donc plus
   qu'une seule couche de fond, le fondu du haut, et le pied de page aucune.
   Pour la retrouver : `git log` sur ce fichier, elle y est en entier.

   ⚠️ Les deux encres secondaires SONT assombries, elles. Celles du site
   (#6f6885 et #9a94ac) sont réglées pour du blanc : sur le pied de page orange
   elles tombent à 3,3:1 et 2,0:1, sous le seuil. Elles passent ici à #55506b et
   #58526e, ce qui leur rend 5,2:1 et 5,0:1. Ne pas les remettre aux valeurs
   du site sans remesurer.

   Mesuré sur le fond : l'encre ordinaire rend 8,6:1, l'encre douce 6,0:1, le
   surtitre 5,9:1. Sur le pied de page, le plus soutenu : 7,6, 5,2 et 5,2.
   Toutes passent leur seuil.

   Le haut fond en dégradé depuis le #f4e3cd de la section « Qui suis-je », sur
   320 px — soit la hauteur de la bande d'aurore et de sa marge. L'ange garde
   donc son entourage clair, et la couleur ne s'installe qu'en dessous de lui.
   Ce fondu avait été posé quand le fond était sombre, pour que le dessin de
   l'ange ne fasse pas une tache lumineuse sur un mur ; il n'est plus
   indispensable aujourd'hui, les deux tons étant proches, mais il adoucit
   toujours la jointure. */
.foret {
  --fond-creux:      #aee5da;   /* un cran plus soutenu, pour les sections en creux */
  --trait:           #91d4c7;   /* filet */
  /* ⚠️ `--encre` n'est PLUS redéfinie : le fond étant redevenu clair, c'est
     l'encre ordinaire du site qui écrit ici. Les deux encres secondaires, en
     revanche, sont assombries : celles du site sont réglées pour du blanc et
     tombent sous le seuil sur un orange, si pâle soit-il. */
  --encre-doux:      #55506b;
  --encre-tres-doux: #4e4864;


  background-color: #b9e9df;    /* un cran sous le vert du haut */
  background-image: linear-gradient(to bottom, #265c45 0, rgba(38,92,69,0) 430px);
  background-repeat: no-repeat;

  /* ⚠️ Cette ligne n'est pas une redite du jeton juste au-dessus, et l'oublier
     laissait tous les titres et paragraphes en violet sombre sur le brun.
     La couleur du texte est déclarée une fois pour toutes sur `body`, où
     `var(--encre)` est résolu immédiatement ; les enfants héritent de la
     couleur calculée, pas de la variable. Redéfinir `--encre` ici ne suffit
     donc pas — il faut redemander explicitement la couleur pour que le
     nouveau jeton soit lu. Tout ce qui a sa propre règle de couleur
     (`.reperes li`, `.pied h3`, `.pied__bas`…) suit, lui, tout seul. */
  color: var(--encre);
}

/* Le repère magenta ne survit pas au brun : il y rendrait 1,6:1. Il passe à la
   pêche de la palette, 7,8:1, qui est déjà la couleur des chutes claires du
   site. Ce sélecteur doit rester plus spécifique que `.accueil .surtitre`,
   qui l'assombrit pour les fonds d'automne. */
.foret .surtitre { color: #7c3b7c; }

/* Même raison pour les liens du pied de page au survol. */
.foret .pied__liens a:hover { color: #7c3b7c; }

/* Le pied de page est le dernier degré du sous-bois : un cran plus sombre que
   le reste, pour fermer la page. Il porte la classe `foret` en plus de la
   sienne, donc il hérite déjà des encres claires ; seul son fond est repris,
   `.pied` le prenant sur `--fond-creux`. Pas de dégradé ici : il commence là
   où le bloc du dessus a fini de s'assombrir. */
.pied.foret {
  background-color: #a2e2d5;
  background-image: none;
}

/* « Comment se déroule une séance » : le titre est souligné et tout ce qui le
   suit est écrit plus grand, à la demande de Maryline (21 août 2026).

   Le soulignement est posé à distance du texte et en trait fin : collé et
   épais, il touchait les jambages des « p » de « déroule » et de « séance ».
   Il emprunte la pêche de la palette plutôt que le blanc du titre, pour rester
   un trait et non une seconde ligne de texte.

   La taille du dessous passe de 17 à 19 px — la liste des deux repères et le
   paragraphe de règlement. C'est le seul endroit du site où le corps du texte
   monte au-dessus de sa valeur générale ; l'`id` réserve la règle à cette
   section et à elle seule. */
#en-pratique h2 {
  text-decoration: underline;
  text-decoration-color: var(--peche);
  text-decoration-thickness: 2px;
  text-underline-offset: .22em;
}
#en-pratique .reperes li,
#en-pratique > .etroit > p {
  font-size: 1.18rem;
}

/* Le paragraphe de la préparation et du paiement, détaché du reste — c'est le
   seul de la section qui donne une consigne plutôt qu'une description, et
   Maryline voulait qu'il se voie comme tel.

   Trois choses le détachent, aucune ne touche à son texte : un panneau un peu
   plus clair que le sous-bois, un filet de pêche sur son flanc gauche, et de
   l'air autour. Le panneau est un voile blanc à 8 % et non une couleur en
   dur : il suit donc le brun si celui-ci est repris, sans réglage séparé.

   ⚠️ Le filet est en pêche pleine et non dans le dégradé de l'ange, bien que
   ce dernier soit la signature du site. Un dégradé sur une bordure demande
   `border-image`, et `border-image` annule les coins arrondis : le trait
   serait resté droit sur toute la hauteur pendant que le panneau s'arrondit
   derrière lui, laissant deux angles en défaut. La pêche est par ailleurs
   déjà l'accent de cette section, elle souligne son titre.

   Mesuré sur le panneau ainsi obtenu : le blanc chaud du texte rend 6,9:1.

   ⚠️ Il reste enfant direct d'`.etroit`, donc la règle de taille juste
   au-dessus continue de l'atteindre — le détacher dans un `div` le lui aurait
   fait perdre, et il serait redevenu plus petit que la liste qui le précède. */
.a-savoir {
  /* Resserré le 21 août 2026 : « il y a trop d'espace avant ». L'écart ne
     venait que d'ici — la liste au-dessus a toutes ses marges à zéro — et il
     est passé de 2,5 rem à 1,25 rem, soit la moitié. */
  margin-top: clamp(.85rem, 2vw, 1.25rem);

  /* Grossi et détaché du fond, puis repris le 23 août 2026 : « une couleur de
     fond bleu pâle et une écriture de couleur rose », et plus petit.

     Ce qui le fait ressortir, dans l'ordre d'importance :

       · un panneau de couleur, qui le lève au-dessus du vert de la page au lieu
         de l'y poser à plat. Il a été crème, il est maintenant bleu pâle ;
       · le serif des titres, alors que le texte courant du site est en sans.
         C'est le même procédé que sur les mises en avant de Guidance : ce qui
         doit ressortir change de police, pas seulement de taille ;
       · un trait dégradé en haut. Il était sur le flanc gauche à l'origine —
         un filet latéral suppose un texte aligné à gauche, or celui-ci est
         centré et le trait paraissait de travers.

     ⚠️ Le rose n'est pas celui de la palette. Sur ce bleu, `--rose` (#ee8ab4)
     rend 1,9:1 et `--magenta` 2,8:1, tous deux très loin du seuil. Celui-ci rend
     5,5:1. C'est un rose foncé, mais c'est le prix d'un rose lisible sur un fond
     clair — les versions plus tendres ne passent pas.

     La réduction porte sur le corps ET le rembourrage : n'agir que sur l'un des
     deux aurait donné un bloc soit tassé, soit toujours aussi haut. */
  position: relative;
  overflow: hidden;
  padding: clamp(1.05rem, 2.6vw, 1.4rem) clamp(1rem, 2.8vw, 1.35rem)
           clamp(1rem, 2.6vw, 1.3rem);
  border-radius: var(--arrondi);
  background: #dbe9f5;
  box-shadow: var(--ombre-douce);

  text-align: center;
  font-family: var(--titre);
  font-size: clamp(1.02rem, 2vw, 1.2rem);
  line-height: 1.5;
  color: #a42d5c;
}
.a-savoir::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: var(--degrade);
}

/* Un petit losange entre les phrases, à la demande de Maryline (23 août 2026).

   Il est DESSINÉ et non écrit : un caractère comme ✦ ou ❧ dépend de la police
   du lecteur, et manque encore sur certains systèmes — il s'y afficherait en
   rectangle vide. Un carré tourné de 45° s'affiche partout, toujours.

   Il prend `currentColor`, donc le rose du bloc : si cette couleur change, le
   losange suit sans qu'on y touche.

   Posé sur le dernier paragraphe aussi, il aurait fermé le bloc d'un signe
   sans suite — d'où le `:not(:last-child)`. */
.a-savoir p:not(:last-child)::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  margin: .95rem auto .15rem;
  background: currentColor;
  transform: rotate(45deg);
  opacity: .5;
}

/* Bannière de séparation sur l'accueil : l'ange se lève au-dessus de l'aurore.

   Les deux images occupent la même case de grille et sont calées sur le même
   bas (`align-self: end`). La case prend donc la hauteur de la plus grande —
   l'ange — qui dépasse d'autant par le haut. Aucun positionnement absolu,
   aucune hauteur à calculer à la main : si l'une des deux tailles change,
   l'ensemble se réajuste tout seul. */
.aurore {
  display: grid;
  grid-template-areas: "pile";
  width: var(--large);
  margin-inline: auto;

  /* ⚠️ Cette marge a d'abord été négative, pour rattraper le vide qui entoure
     l'ange au-dessus de la bande. Le calcul était juste — la zone est bien
     transparente — mais il ne tenait pas compte du panneau du portrait, qui
     descend jusqu'à ce vide : à l'écran, le halo de l'ange venait toucher le
     bas de la photo. Elle est donc redevenue positive.
     Repère utile si on y retouche : le haut de l'ange est transparent sur une
     vingtaine de pixels, qui s'ajoutent à cette marge dans le blanc perçu. */
  margin-top: clamp(.5rem, 1.5vw, 1.25rem);

  /* La hauteur de la bande est nommée ici parce que deux choses la suivent :
     la photo du ciel et la nappe de brouillard qui se pose dessus. Les deux
     doivent faire exactement la même hauteur, sinon le voile déborde. */
  --bande: clamp(150px, 21vw, 280px);
}
.aurore > * {
  grid-area: pile;
  align-self: end;
}

/* La nappe de brouillard.

   Le bas de la photo — le soleil et sa traînée jaune — restait trop vif pour
   l'œil. Plutôt que d'éteindre toute l'image, la brume est posée en dégradé :
   nulle en haut, où le mauve ne gênait pas, et opaque au quart en bas, sur le
   jaune. Le ciel s'y efface progressivement, comme un lever de soleil vu à
   travers la brume — ce que la photo montre déjà en haut, du reste.

   ⚠️ Allégée le 21 août 2026 en même temps que le filtre : la nappe montait à
   52 % en bas, elle s'arrête à 26 %, et son départ est descendu de 30 à 40 %
   de la hauteur. La moitié haute de la bande est donc désormais la photo nue.

   Le blanc n'est pas pur : c'est le blanc chaud du site, celui qui sert déjà
   de halo aux lettres de la citation.

   ⚠️ La nappe est le dernier enfant du bloc, elle se peindrait donc par-dessus
   l'ange et le voilerait lui aussi. Les deux `z-index` remettent l'ange
   au-dessus. C'est la seule raison d'être de ces deux lignes. */
.aurore::after {
  content: "";
  grid-area: pile;
  align-self: end;
  z-index: 1;
  height: var(--bande);
  border-radius: var(--arrondi);
  background: linear-gradient(to bottom,
                              rgba(255, 251, 248, 0)   40%,
                              rgba(255, 251, 248, .12) 70%,
                              rgba(255, 251, 248, .26) 100%);
  pointer-events: none;
}

/* ⚠️ L'aurore ne fait que 431 px de large à la source, et la bande en fait
   1120 : elle est donc agrandie deux fois et demie, au-delà de ce que le
   fichier contient réellement. Élargissement demandé en connaissance de
   cause. L'image s'y prête mieux qu'une autre — un lever de soleil dans la
   brume, sans détail fin à perdre — mais un fichier plus grand reste la vraie
   solution si le flou se voit.
   La bande étant plus large sans être plus haute, le recadrage ne garde qu'une
   tranche de la source : environ un quart de sa hauteur.

   ⚠️ Cette tranche a été remontée. Prise au centre, elle ne montrait que le
   soleil et l'horizon, c'est-à-dire la seule zone franchement orange de la
   photo — et l'ange, dont le corps est rose puis violet, s'y opposait trop.

   Les deux dégradés sont mesurés et ils courent en sens inverse : l'ange va
   de 38° en haut à 250° en bas, le ciel de 285° en haut à 6° en bas. On ne
   peut donc pas les faire coïncider, mais on peut choisir la tranche du ciel
   qui tombe sous la partie visible de l'ange. À 30 %, la bande garde le mauve
   et le rose de la source dans sa moitié haute — là où le masque laisse voir
   le corps de l'ange — et ne remet l'or qu'en bas, là où l'ange est déjà
   devenu transparent. La photo n'est ni retouchée ni désaturée : c'est sa
   propre couleur, prise ailleurs. */
.aurore__ciel {
  width: 100%;
  height: var(--bande);
  object-fit: cover;
  object-position: center 55%;
  border-radius: var(--arrondi);

  /* Premier temps du brouillard : la photo perd un peu de sa saturation et de
     son contraste. C'est ce que fait la brume à un paysage — elle ne le cache
     pas, elle le délave. Le second temps est la nappe en dégradé, plus haut.

     ⚠️ Ces valeurs ont fait l'aller-retour. Elles ont d'abord été
     `saturate(.55) brightness(1.06) contrast(.9)` — près de la moitié de la
     couleur en moins — parce que le jaune du soleil piquait les yeux. Le
     21 août 2026, Maryline a trouvé le résultat beaucoup trop fade. Elles sont
     donc remontées à 92 % de la couleur d'origine, la surexposition est
     annulée et le contraste rendu presque entier.

     Le jaune reste tenu, mais par la nappe seule et seulement là où il gêne,
     c'est-à-dire en bas : c'est le bon outil pour ça, puisqu'il agit par
     endroit, alors que ce filtre agit sur toute l'image d'un coup. */
  filter: saturate(.92) contrast(.98);
}

/* Le dessin de l'ange est entièrement opaque, sans transparence : posé tel
   quel sur le ciel, il y ferait un rectangle clair aux bords nets. Le dégradé
   de masque efface progressivement ses bords — net au centre, sur le visage,
   puis de plus en plus transparent vers l'extérieur — si bien qu'il paraît
   sortir de la lumière au lieu d'être collé dessus. C'est le cœur de l'effet :
   rapprocher les deux pourcentages le durcit, les écarter l'adoucit. */
/* ⚠️ RÈGLE SANS EMPLOI depuis le 23 août 2026 : Maryline a fait retirer le motif
   qui se levait au-dessus de la bande. Elle est conservée parce qu'elle porte
   deux réglages coûteux à retrouver — le masque en dégradé qui fond les bords
   d'une image dans le ciel, et le dimensionnement par la hauteur. Si un motif
   revient un jour à cet endroit, tout est là.

   ⚠️ La classe garde son nom, mais ce n'était plus l'ange : un papillon depuis
   le 23 août 2026.

   Le dimensionnement a changé avec l'image. L'ange était donné par sa LARGEUR,
   son dessin étant à peu près aussi haut que large. Le papillon est une
   photographie nettement plus haute que large — 366 × 651 : à 280 px de large
   il en aurait fait 498 de haut et serait monté à près du double de la bande
   d'aurore. Il est donc donné par sa HAUTEUR, la largeur suivant d'elle-même.

   Le masque en dégradé, lui, ne change pas : il estompait les bords du dessin
   pour qu'il se fonde dans le ciel, et il rend le même service à la photo, dont
   le fond en bokeh se dissout ainsi dans l'aurore au lieu d'y poser un
   rectangle. */
.aurore__ange {
  height: clamp(190px, 26vw, 340px);
  width: auto;
  justify-self: center;
  z-index: 2;   /* au-dessus de la nappe de brouillard — voir .aurore::after */
  -webkit-mask-image: radial-gradient(ellipse 60% 56% at 50% 38%,
                                      #000 58%, transparent 100%);
          mask-image: radial-gradient(ellipse 60% 56% at 50% 38%,
                                      #000 58%, transparent 100%);
}

/* L'espace entre les deux rubriques était la somme de quatre respirations :
   le bas de la section du dessus, le haut de la bannière, son bas, et le haut
   de la section du dessous — près de 620 px sur un grand écran. La bannière
   fait déjà séparation à elle seule ; les deux sections qui l'encadrent n'ont
   donc pas besoin de leur marge habituelle de ce côté-là.
   Sur un navigateur qui ne connaîtrait pas `:has()`, ces deux règles sont
   simplement ignorées et on retrouve l'espacement d'avant : rien ne casse. */
.section:has(+ .aurore) { padding-bottom: clamp(1rem, 2.5vw, 1.75rem); }
.aurore + .section      { padding-top:    clamp(1rem, 3vw, 2rem); }

/* Tout l'écrit de l'en-tête a été grossi le 20 août 2026, à la demande de
   Maryline : le nom, la ligne qui le suit et chacune des entrées du menu.

   Trois tailles ont bougé ensemble, dans le même rapport (+ 22 % environ),
   pour que la hiérarchie entre elles reste celle d'avant — sans quoi le nom
   aurait été rattrapé par sa propre légende.

   ⚠️ Ce qui grossit ici se paie sur le seuil de bascule du menu, plus bas.
   Vérifié après coup : la barre horizontale demande environ 890 px, le seuil
   est à 1080 px, elle tient donc toujours. Elle tient d'autant mieux que le
   menu a perdu deux entrées le même jour. */
/* Le nom, écrit à la main — demandé le 23 août 2026.

   C'est Dancing Script, la seule police embarquée du site : elle sert déjà au
   sous-titre de la bannière d'accueil et à la citation du pèlerin. Aucun
   fichier de plus à charger, et le nom se met à répondre à la signature de la
   bannière, ce qui n'était pas le cas quand il était en serif.

   La graisse 600 n'est pas décorative : c'est la SEULE que le fichier contient
   (voir le `@font-face` en tête de feuille). Toute autre valeur ferait
   fabriquer un faux gras par le navigateur, qui épaissit les pleins sans
   toucher aux déliés et abîme une cursive.

   Le corps monte de 1,35 à 1,7 rem. Une cursive a des lettres plus petites
   qu'un romain à taille égale — ses hampes et ses jambages prennent la place —
   et à 1,35 rem elle se serait lue moins bien que le serif qu'elle remplace.

   ⚠️ Cet agrandissement ne touche pas à la largeur de la barre du haut, et
   c'est vérifié : c'est la ligne « EMPATHIE, BIENVEILLANCE ET MÉDIUMNITÉ » qui
   fixe la largeur du bloc de marque, avec ses 337 px. Le nom en fait environ
   210 à cette taille. Il faudrait le porter au-delà de 2,1 rem pour qu'il passe
   devant — et alors le menu ne tiendrait plus sur une ligne.

   ⚠️ Ouvert en `file://`, par double-clic, le navigateur refuse souvent de
   charger une police locale : le nom s'affiche alors dans le serif de repli.
   Ce n'est pas un défaut, voir CLAUDE.md. En HTTP il est bien manuscrit. */
.marque__nom {
  font-family: "Dancing Script", var(--titre);
  font-weight: 600;
  font-size: 1.7rem;
  line-height: 1.1;
}
.marque__role {
  display: block;
  font-family: var(--texte);
  font-size: .70rem;
  letter-spacing: .13em;
  text-transform: uppercase;

  /* ⚠️ Cette ligne était écrite dans l'encre la plus pâle du site
     (`--encre-tres-doux`, #9a94ac). Mesurée sur le fond de l'en-tête, elle
     rendait 2,85:1 sur les neuf pages crème et 2,23:1 sur le vert de l'accueil
     — très en dessous du seuil de 4,5:1. Elle ne « ressortait pas assez » pour
     une raison mesurable : elle était illisible.

     Elle prend l'encre douce de la page et non une valeur fixe : sur les neuf
     pages c'est #6f6885 (5,1:1), sur l'accueil c'est #5a5370, déjà assombri
     pour le vert (5,5:1). Un seul jeton, deux résultats justes.

     Le gras 600 achève de la poser : à cette taille et en capitales espacées,
     le romain se dilue.

     ⚠️ Passée au ROSE le 23 août 2026, à sa demande, et donc à une valeur fixe
     et non plus au jeton de la page. Ce rose doit tenir sur les deux fonds
     d'en-tête du site : le crème des neuf pages (6,2:1) et le vert de l'accueil
     (4,9:1). Les roses de la palette n'y suffisent pas — `--rose` rend 2,3:1 et
     1,8:1, `--magenta` 3,6:1 et 2,8:1, tous sous le seuil.

     Deux valeurs se sont succédé le même jour. La première, #a42d5c, tirait
     trop sur le rouge — 336° de teinte et 57 % de saturation seulement, ce qui
     à cette profondeur donne un bordeaux plutôt qu'un rose. Celle-ci est à
     330°, donc plus loin du rouge, et à 72 % de saturation : un rose franc.

     ⚠️ Éclaircie une troisième fois le 23 août 2026 — « trop foncé » — de 41 à
     44 % de clarté, ce que l'éclaircissement du vert de l'en-tête a rendu
     possible le même jour. Elle rend 5,6:1 sur le crème et 4,63:1 sur le vert.

     ⚠️ C'EST LE PLAFOND. Trois points de plus la font tomber à 4,15:1 sur le
     vert de l'accueil, sous le seuil. Ce n'est plus la couleur du texte qui
     limite, c'est le fond : pour un rose plus tendre, il faudrait d'abord
     éclaircir la barre de l'en-tête de l'accueil, presque jusqu'au blanc. Les
     neuf autres pages, sur leur crème, en supporteraient bien davantage — mais
     une seule valeur sert partout, et c'est la page la plus contraignante qui
     commande.

     ⚠️ L'encadré du bas de l'accueil (`.a-savoir`) porte encore l'ancien rose,
     #a42d5c : il est posé sur un bleu pâle, où le rouge se remarque moins. Si
     les deux doivent s'accorder, c'est lui qu'il faut aligner sur celui-ci.

     Le corps est descendu par étapes : .82 rem au départ, .78 pour que le menu
     tienne sur une ligne, puis .70 à sa demande le 23 août 2026.

     ⚠️ Cette ligne fixe la largeur du bloc de marque — 337 px à .78 rem, 299 à
     .70 — et donc la place qui reste au menu. La réduire a libéré 38 px, ce qui
     a permis de faire réapparaître la barre horizontale 40 px plus tôt (seuil
     passé de 1240 à 1200 px). Un réglage de taille ici déplace toujours ce
     seuil : les deux vont ensemble.

     ⚠️ À .70 rem, soit 11,2 px, elle approche de la limite basse du lisible pour
     des capitales espacées. Ne pas descendre plus bas sans une raison forte —
     le contraste, lui, est bon (5,6:1 et 4,63:1), c'est la taille qui gêne. */
  font-weight: 600;
  color: #c11f70;
}

/* Bouton hamburger — masqué dès qu'il y a la place pour le menu complet */
.bascule {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0 10px;
  background: none;
  border: 0;
  cursor: pointer;
}
.bascule span {
  display: block;
  height: 2px;
  background: var(--encre);
  border-radius: 2px;
  transition: transform .25s ease, opacity .2s ease;
}
.bascule[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.bascule[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.bascule[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav { display: none; }
.nav.est-ouvert {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--blanc);
  border-bottom: 1px solid var(--trait);
  box-shadow: var(--ombre-douce);
}

.nav__liste {
  list-style: none;
  margin: 0;
  padding: .5rem 0 1rem;
  width: var(--large);
  margin-inline: auto;
}

.nav__lien {
  display: block;
  /* Grossi avec le reste de l'en-tête. C'est la version déroulante, celle du
     téléphone : elle a de la place, une entrée par ligne. */
  font-size: 1.12rem;
  padding: .7rem .25rem;
  color: var(--encre);
  text-decoration: none;
  border-bottom: 1px solid var(--trait);
}
.nav__liste li:last-child .nav__lien { border-bottom: 0; }
.nav__lien:hover { color: var(--magenta); }
.nav__lien[aria-current="page"] {
  color: var(--magenta);
  font-weight: 600;
}

/* Bascule du menu déroulant vers la barre horizontale.

   Ce seuil suit la longueur de l'en-tête, et il a bougé trois fois :
     900 px   sept entrées et un sous-titre court ;
     1040 px  arrivée de « Passage de vie », huitième entrée ;
     1160 px  sous-titre allongé en « Médiumnité & passage d'âmes » ;
     1080 px  retrait d'« Éthique » du menu, qui rend 76 px.
   Sous ce seuil, le menu déroulant affiche les entrées confortablement.

     1120 px  arrivée d'« Écoute bienveillante », et en-tête grossi d'un
              cinquième le même jour.

   Le 20 août 2026 l'en-tête a beaucoup bougé : l'écrit a grossi d'un cinquième,
   le menu a perdu deux entrées (masquées) puis en a gagné une longue, « Écoute
   bienveillante ». Mesuré plutôt qu'estimé — libellés rendus un à un et étendue
   d'encre relevée — la barre demande 1035 px, le bloc de marque compris.

   Or à 1080 px de large, le contenu ne dispose que de 1040 px : cinq pixels de
   marge, et la barre passait sur deux lignes au moindre réglage de police. D'où
   le seuil relevé à 1120 px, qui laisse 45 px.

   ⚠️ Le plafond dur est 1120 px : c'est la largeur maximale de `--large`, la
   barre ne disposera jamais de plus. L'entrée « Tarifs et réservation » portait
   le total à 1143 px, donc au-delà : **la barre est sur deux lignes, et c'est
   voulu**. Maryline a été prévenue et l'a accepté — « tu peux faire 2 lignes ».
   Ne pas la raccourcir pour la ramener sur une seule ligne sans le lui demander.

   ⚠️ Le 24 août 2026, « Guidance » est devenue « Guidance et Voyance » dans tout
   le site. Remesuré au même endroit et de la même façon : le libellé passe de
   73 à 162 px, soit 89 px de plus, et le total à 1232 px. La barre reste sur
   DEUX lignes — la seconde porte simplement 89 px de plus qu'avant. Vérifié
   qu'on ne bascule pas à trois : il faudrait dépasser 2240 px de libellés.

   C'est le `flex-wrap: wrap` ci-dessous qui rend ces deux lignes propres : les
   entrées passent à la ligne au lieu de s'écraser, et la seconde ligne se cale
   à droite comme la première.

   `flex-wrap` est un filet de sécurité : si malgré tout ça déborde — police
   système plus large, zoom du navigateur — la barre passe sur deux lignes au
   lieu d'écraser les libellés. */
@media (min-width: 1200px) {
  .bascule { display: none; }
  .nav { display: block; }
  .nav.est-ouvert { position: static; background: none; box-shadow: none; border: 0; }
  .nav__liste {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: .2rem;
    width: auto;
    padding: 0;
  }
  .nav__lien {
    padding: .45rem .48rem;
    border-bottom: 0;
    border-radius: 999px;
    font-size: .98rem;
    /* Accentuées avec la ligne de rôle, le 23 août 2026. Le gras seul suffit :
       elles sont déjà dans l'encre pleine du site, il n'y avait pas de contraste
       à gagner, seulement de la présence.

       ⚠️ TOUT EST MESURÉ ICI, rien n'est choisi à l'œil. Maryline a demandé les six
       entrées sur une seule ligne. Les libellés ont été rendus un à un dans la
       police du menu, en gras, et leur étendue d'encre relevée : 42,92 em à eux
       six. Avec le bloc de marque, la barre demandait 1283 px pour 1120
       disponibles — d'où les deux lignes.

       Quatre réglages l'ont ramenée à 1179 px : le corps de 1,06 à 0,98 rem, le
       rembourrage de 0,6 à 0,48, l'écart de 0,3 à 0,2, et la ligne de rôle de
       0,82 à 0,78 rem, qui commande la largeur du bloc de marque. La barre de
       l'en-tête a par ailleurs reçu sa propre largeur, 1280 px au lieu de 1120.

       Le seuil est donc remonté de 1120 à 1240 px, puis redescendu à 1200 quand
       la ligne de rôle a encore rétréci : la barre ne demande plus que 1145 px,
       et 1200 px d'écran en offrent 1168. En dessous, c'est le menu déroulant —
       mieux vaut un bouton qu'une barre repliée.

       ⚠️ Le corps du menu a baissé alors que Maryline l'avait fait grossir le
       21 août. C'est le prix de la ligne unique, et il n'y en a pas d'autre :
       ces six libellés font 42,92 em, on ne peut que réduire le corps ou
       raccourcir un nom. Le plus long est « Tarifs, réservation et paiement ». */
    font-weight: 600;
    white-space: nowrap;
  }
  .nav__lien[aria-current="page"] { background: var(--rose-pale); }
}

/* --------------------------------------------------------------------------
   5. Bannière d'accueil
   -------------------------------------------------------------------------- */

.banniere {
  position: relative;
  isolation: isolate;          /* enferme les z-index négatifs dans la section */
  overflow: hidden;
  display: grid;
  align-items: stretch;        /* le contenu occupe toute la hauteur, et s'y répartit */
  min-height: 640px;
  min-height: min(88svh, 860px);
  padding-block: clamp(1.75rem, 5vw, 3rem) clamp(3rem, 9vw, 5.5rem);
  text-align: center;
}

/* La bande des séances vient au contact de la bannière, sans blanc entre les
   deux — demandé le 23 août 2026.

   ⚠️ L'espace ne venait pas d'une marge mais de DEUX rembourrages : la bannière
   en pose jusqu'à 5,5 rem sous ses boutons, et la section suivante jusqu'à
   6 rem au-dessus de son cartouche de titre. Onze rem cumulés, d'où l'impression
   d'un grand vide.

   Le rembourrage bas de la bannière n'est pas mis à zéro mais réduit à un peu
   plus d'un rem : c'est lui qui empêche les boutons « Prendre contact » et
   « Découvrir » de toucher le bord de la vidéo. À zéro, ils s'y colleraient.

   ⚠️ L'espace est RÉDUIT et non supprimé : Maryline s'est reprise aussitôt
   après l'avoir demandé. Des onze rem cumulés, il en reste un peu plus de
   trois — la bannière garde de quoi ne pas coller ses boutons au bord de la
   vidéo, et la section garde de quoi ne pas coller son cartouche à la
   bannière. */
.accueil .banniere { padding-bottom: clamp(1.25rem, 3.5vw, 1.75rem); }
.accueil .banniere + .section { padding-top: clamp(1.1rem, 3vw, 1.6rem); }

/* Trois zones, réparties sur la hauteur de la bannière :

     haut     le nom et le sous-titre, calés en haut ;
     milieu   l'encart de texte, centré dans ce qui reste ;
     bas      la mention « à distance » et les deux boutons, en bas.

   C'est la rangée du milieu, en `1fr`, qui absorbe toute la hauteur
   disponible — le haut et le bas ne prennent que leur contenu. Les trois
   zones tiennent donc leur position quelle que soit la hauteur de l'écran,
   sans marge à recalculer. */
.banniere__contenu {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.banniere__milieu {
  display: grid;
  align-content: center;       /* centrage vertical */
  justify-items: center;       /* le cartouche se centre, sans s'étirer */
  padding-block: 1.5rem;       /* jamais collé au nom ni aux boutons */
}

.banniere__bas > * + * { margin-top: 1.4rem; }
.banniere__bas p { margin-bottom: 0; }

/* --- Couche du fond -------------------------------------------------------
   Sans vidéo, ce halo en dégradé fait le décor à lui tout seul. C'est aussi
   le repli si la vidéo ne se charge pas, ou si le visiteur a désactivé le
   JavaScript ou demandé moins d'animations.
   -------------------------------------------------------------------------- */

.banniere__fond {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background:
    radial-gradient(50% 45% at 22% 18%, rgba(246, 196, 160, .55), transparent 70%),
    radial-gradient(45% 40% at 78% 26%, rgba(238, 138, 180, .42), transparent 70%),
    radial-gradient(55% 45% at 50% 82%, rgba(113, 102, 210, .22), transparent 72%),
    var(--fond);
}

/* La vidéo remplit la bannière sans se déformer : le recadrage se fait sur
   les bords les plus longs. Vaut aussi pour l'image d'attente (poster). */
.banniere__fond video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;        /* décor : rien à cliquer */
}

/* --- Pas de voile ---------------------------------------------------------
   La vidéo est affichée à nu, et la bannière ne contient plus le médaillon
   de l'ange : les deux masquaient l'image. Retrait volontaire.

   Si le titre s'avère dur à lire sur la vidéo, la piste la moins invasive
   est une ombre portée sur le texte — `filter: drop-shadow(...)`, qui
   fonctionne malgré le dégradé appliqué aux lettres — plutôt que le retour
   d'un voile sur toute la surface.
   -------------------------------------------------------------------------- */

/* Halo clair autour des lettres. C'est lui qui rend le texte sombre lisible,
   et non un voile : mesuré sur la vidéo, la zone haute tourne autour de 51 %
   de luminosité et descend à 38 % sur certains plans — sans halo, le titre
   disparaîtrait à ces moments-là.

   Le titre et le sous-titre se lisant à nu — sans cartouche pour les
   porter — ce halo est leur seul appui. D'où quatre couches sur le
   sous-titre : deux serrées pour détacher le contour d'une cursive aux
   traits fins, une large pour poser un fond diffus, une courte décalée
   vers le bas pour asseoir les lettres.

   Le halo n'existe qu'autour des caractères : l'image reste entière
   ailleurs. C'est toute la différence avec un voile. */
.banniere__signature {
  text-shadow: 0 0 8px rgba(255, 251, 248, .95),
               0 0 16px rgba(255, 251, 248, .9),
               0 0 40px rgba(255, 251, 248, .8),
               0 1px 3px rgba(255, 251, 248, .95);
}

/* Le titre porte le dégradé, donc ses lettres sont *transparentes* : c'est
   l'arrière-plan qui les colore. Un text-shadow se verrait alors au travers
   des caractères et les salirait. `filter: drop-shadow` s'applique au
   résultat déjà colorié — c'est le seul halo utilisable ici. */
/* Écart resserré sous le nom. Dancing Script réserve au-dessus de ses
   lettres la place de ses hautes hampes, place que « vous accompagne… »
   n'utilise presque pas : même un écart nul laissait un blanc visible,
   d'où une valeur qui finit négative. On récupère ce vide au lieu d'en
   ajouter. À revoir si le sous-titre change de police ou de texte. */
.banniere h1 {
  margin-bottom: calc(.3 * var(--taille-titre) - var(--remontee-soustitre));
  background: var(--degrade-titre);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 6px rgba(255, 251, 248, .95))
          drop-shadow(0 0 18px rgba(255, 251, 248, .8));
}

/* Pas d'italique : Dancing Script penche déjà. En demander une de plus
   ferait fabriquer au navigateur une oblique synthétique, qui déforme. */
.banniere__signature {
  font-family: "Dancing Script", var(--titre);
  font-weight: 600;
  font-size: var(--taille-soustitre);
  font-style: normal;
  line-height: 1.25;
  color: var(--banniere-soustitre);
  margin-bottom: 0;   /* la répartition en trois zones s'occupe du reste */
}

/* --- Cartouche de la zone de texte centrale -------------------------------
   Un encart posé sur la vidéo. Il ne la teinte presque pas
   (--cartouche-voile), mais il la **floute par transparence** : c'est le
   flou, et non l'assombrissement, qui pose le fond calme sur lequel le
   texte se détache.

   La différence avec l'ancien voile, qui a été retiré : celui-ci couvrait
   toute la bannière, celui-là s'arrête à ses propres bords. L'image reste
   entière au-dessus et en dessous.

   **Le titre et le sous-titre n'en ont pas.** Ils en ont porté un un
   moment, puis il a été retiré : ils rendent mieux à nu, portés par leur
   seul halo. Ne pas le leur remettre sans demande explicite.

   Sans prise en charge de backdrop-filter (Firefox si l'option est
   désactivée), il ne reste que le voile très léger : le texte sombre et
   l'étiquette tiennent quand même. Rien ne casse.
   -------------------------------------------------------------------------- */

.banniere__cartouche {
  --cartouche-flou:   9px;                       /* force du flou sur la vidéo */
  /* ⚠️ Voile SOMBRE depuis le 30 août 2026, et très léger. Il était clair, à
     12 % — posé pour éclaircir sous un texte sombre. Le texte étant devenu
     blanc, un voile clair travaillait contre lui : il remontait le fond des
     passages déjà clairs, là où le blanc est le plus en peine. À 14 % de
     sombre, il fait l'inverse sans assombrir la vidéo au point de la ternir. */
  --cartouche-voile:  rgba(13, 10, 20, .14);
  --cartouche-bord:   rgba(255, 251, 248, .22);  /* liseré, pour asseoir l'encart */

  /* L'encart se resserre sur son texte au lieu d'occuper toute la largeur
     disponible : `max-content` le dimensionne sur sa ligne la plus longue.
     `max-width: 100%` reprend la main sur un écran étroit, où le texte doit
     pouvoir revenir à la ligne plutôt que déborder.
     Le texte est aligné à gauche — c'est ce qui met les puces sur une même
     verticale. Seul le bloc, lui, est centré dans la bannière. */
  display: inline-block;
  width: max-content;
  max-width: 100%;
  text-align: left;
  padding: clamp(1rem, 3vw, 1.4rem) clamp(1.2rem, 3.5vw, 1.8rem);
  border-radius: var(--arrondi);
  background: var(--cartouche-voile);
  border: 1px solid var(--cartouche-bord);
  -webkit-backdrop-filter: blur(var(--cartouche-flou)) saturate(108%);
          backdrop-filter: blur(var(--cartouche-flou)) saturate(108%);
}

/* --- Contenu du cartouche central -----------------------------------------
   « Je vous aide à… », suivi des trois prestations. Pas de titre : l'encart
   se présente tout seul, et un intertitre de plus alourdirait une bannière
   qui porte déjà un nom et un sous-titre.

   ⚠️ INVERSÉ LE 30 AOÛT 2026 — « c'est peu lisible ». Le texte était sombre
   avec un halo clair, comme le reste de la bannière. Mesuré sur la vidéo, sous
   le cartouche, à travers son voile :

     | passage de la vidéo | encre sombre #2a2340 | blanc |
     |---------------------|----------------------|-------|
     | le plus sombre (22) |  2,46:1  ✗           | 6,05:1 |
     | moyenne       (108) |  4,22:1  ✗           | 3,52:1 |
     | le plus clair (206) | 10,04:1              | 1,48:1 |

   La vidéo est SOMBRE sous cet encart — 108/255 en moyenne. Le texte sombre y
   passait donc sous le seuil les deux tiers du temps, et le halo clair devait
   tout porter à lui seul.

   ⚠️ AUCUNE COULEUR DE TEXTE NE SUFFIT, dans un sens ni dans l'autre : la vidéo
   va de 22 à 206, elle traverse toute l'échelle. Le blanc seul échouerait sur
   les passages clairs, exactement comme le sombre échouait sur les foncés.

   C'est le CONTOUR qui règle la question. Un anneau sombre autour des lettres
   donne du blanc sur noir — 21:1 — quel que soit ce qui passe derrière : l'œil
   lit le contour, pas le fond. C'est la technique du sous-titrage vidéo, et
   pour la même raison.

   Le contour est fait de quatre ombres portées aux quatre diagonales plutôt que
   par `-webkit-text-stroke` : celui-ci dessine le trait à cheval sur le bord de
   la lettre et la fait maigrir de l'intérieur, ce qui abîme un serif fin comme
   celui de l'accroche. Deux halos sombres plus larges s'y ajoutent, qui posent
   la lettre sur la vidéo au lieu de la découper dedans.
   -------------------------------------------------------------------------- */

.banniere__accroche,
.banniere__promesses {
  color: var(--blanc);

  /* Les quatre premières font l'anneau, les deux dernières l'assise. */
  text-shadow:
     1px  1px 0 rgba(13, 10, 20, .95),
    -1px  1px 0 rgba(13, 10, 20, .95),
     1px -1px 0 rgba(13, 10, 20, .95),
    -1px -1px 0 rgba(13, 10, 20, .95),
     0 0  6px rgba(13, 10, 20, .85),
     0 0 18px rgba(13, 10, 20, .65);
}

.banniere__accroche {
  font-family: var(--titre);
  font-size: clamp(1.05rem, 2.8vw, 1.3rem);
  margin-bottom: .9rem;   /* la couleur est posée plus haut, avec le contour */
}

.banniere__promesses {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .55rem;
  font-size: clamp(1rem, 2.6vw, 1.15rem);
}

/* Chaque ligne est une petite grille de deux colonnes : la puce, puis le
   texte. Deux effets, l'un et l'autre voulus :
     - les puces tombent toutes sur la même verticale ;
     - sur un écran étroit, une ligne qui revient à la ligne reste alignée
       sous son propre texte, et non sous sa puce. */
.banniere__promesses li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .55rem;
  align-items: baseline;
}

/* Une puce ronde reprenant le dégradé du logo, plutôt qu'un tiret ou un
   marqueur de liste — ceux-ci se placent hors du cadre et échappent au
   dimensionnement de l'encart. */
.banniere__promesses li::before {
  content: "";
  width: .45rem;
  height: .45rem;
  align-self: center;
  border-radius: 50%;
  background: var(--degrade);
  /* ⚠️ Halo SOMBRE depuis le 30 août 2026. Il était clair — rgba(255,251,248,.9)
     — pour aller avec le texte sombre d'alors. Laissé tel quel, il aurait cerné
     la puce de blanc au milieu d'un texte cerné de noir. */
  box-shadow: 0 0 6px rgba(13, 10, 20, .8);
}

/* --------------------------------------------------------------------------
   6. Boutons
   -------------------------------------------------------------------------- */

.bouton {
  display: inline-block;
  padding: .85rem 1.9rem;
  border-radius: 999px;
  font-size: .98rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.bouton--plein {
  background: var(--degrade);
  color: var(--blanc);
  box-shadow: 0 6px 18px rgba(196, 95, 196, .28);
}
.bouton--plein:hover {
  color: var(--blanc);
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(196, 95, 196, .36);
}

.bouton--trait {
  background: var(--blanc);
  color: var(--encre);
  border: 1px solid var(--trait);
}
.bouton--trait:hover {
  color: var(--magenta);
  border-color: var(--rose);
  transform: translateY(-2px);
}

.boutons {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  justify-content: center;
}

/* --------------------------------------------------------------------------
   7. Étiquette « à distance »
   -------------------------------------------------------------------------- */

.pastille {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem 1rem .4rem .8rem;
  border-radius: 999px;
  background: var(--blanc);
  border: 1px solid var(--trait);
  font-size: .85rem;
  color: var(--encre-doux);
  box-shadow: var(--ombre-douce);
}
.pastille::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--degrade);
}

/* --------------------------------------------------------------------------
   8. Cartes des trois prestations
   -------------------------------------------------------------------------- */

.cartes {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 1fr;
  /* Nombre de colonnes sur grand écran, réglé depuis le HTML par
     `style="--colonnes:N"` : il doit suivre le nombre de cartes réellement
     affichées, sinon la ligne garde des colonnes vides. */
  --colonnes: 4;
}

/* Quatre prestations, et la consigne est qu'elles tiennent sur une seule ligne
   dès que c'est lisible. D'où les trois paliers :

     < 620 px    une colonne — au téléphone, quatre de front est illisible ;
     620–860 px  deux par deux, le temps que la place vienne ;
     > 860 px    les quatre de front, ligne unique.

   À 860 px de fenêtre, les cartes font environ 195 px de large : c'est le
   point où le titre le plus long (« Nettoyage énergétique ») tient encore sur
   deux lignes. En dessous il partirait en trois, et la ligne se
   déséquilibrerait. Le rembourrage, l'écart et les corps de texte se
   resserrent avec la largeur pour récupérer quelques pixels là où c'est le
   plus étroit. */
@media (min-width: 620px) {
  .cartes { grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
}
@media (min-width: 860px) {
  .cartes {
    grid-template-columns: repeat(var(--colonnes), 1fr);
    gap: clamp(.85rem, 1.3vw, 1.4rem);
  }
  .cartes .carte__corps {
    padding: clamp(1rem, 1.5vw, 1.4rem)
             clamp(1rem, 1.5vw, 1.4rem)
             clamp(1.15rem, 1.7vw, 1.6rem);
  }
  /* Grossi d'un quart le 21 août 2026 : 1,3 → 1,55rem au plus large, et le
     plancher remonté de 1,05 à 1,3rem. C'est cette valeur basse qui compte
     vraiment — à trois colonnes, la carte ne fait plus que 250 px, et sans
     elle le titre rapetissait au moment même où on le voulait plus grand.
     Conséquence assumée : « Écoute bienveillante » tient sur deux lignes à
     cette largeur. */
  .cartes .carte__corps h3 { font-size: clamp(1.3rem, 1.9vw, 1.55rem); }
  .cartes .carte__corps p  { font-size: clamp(.9rem, 1.1vw, .97rem); }
}

.carte {
  display: flex;
  flex-direction: column;
  background: var(--blanc);
  border: 1px solid var(--trait);
  border-radius: var(--arrondi);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--ombre-douce);
  transition: transform .25s ease, box-shadow .25s ease;
}
.carte:hover {
  color: inherit;
  transform: translateY(-4px);
  box-shadow: var(--ombre-levee);
}

/* La vignette est en 4/3. Une image en hauteur n'y entre donc que par une
   bande horizontale, et le sujet n'est pas toujours au milieu : `--cadrage`
   dit à quelle hauteur prendre cette bande. `0%` la cale tout en haut, `50%`
   au centre (la valeur par défaut). Se règle sur la balise `<img>` elle-même,
   au cas par cas — c'est une propriété de l'image, pas du gabarit. */
.carte__visuel {
  aspect-ratio: 4 / 3;
  width: 100%;
  object-fit: cover;
  object-position: center var(--cadrage, 50%);
  background: var(--degrade);
}

.carte__corps {
  padding: 1.4rem 1.4rem 1.6rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* Les trois titres de cartes sont plus grands que les autres `h3` du site et
   centrés, à la demande de Maryline : ce sont les noms des prestations, et sur
   l'accueil ils font office d'enseignes. Le texte en dessous, lui, garde son
   alignement à gauche — seul le titre est centré. */
.carte__corps h3 {
  margin-bottom: .5rem;
  font-size: 1.55rem;
  text-align: center;
}
.carte__corps p {
  color: var(--encre-doux);
  font-size: .97rem;
  flex: 1;
}

/* Une carte peut porter son texte en violet plutôt qu'en encre douce — c'est
   le cas de l'Écoute bienveillante, à la demande de Maryline.

   ⚠️ Ce n'est PAS `--violet` (#7166d2), le bleu-violet du bas du dégradé de
   l'ange : posé seul sur du blanc, il se lisait comme un simple bleu. Sa
   teinte est à 246°, tout près du bleu. Celui-ci est à 278°, soit 32° plus
   loin vers le pourpre — entre le violet de la palette et son magenta (300°),
   donc toujours dans la famille du dégradé, mais franchement violet.
   Mesuré à 5,9:1 sur le blanc de la carte, contre 4,6:1 pour l'ancien.
   Le sélecteur reprend `.carte__corps p` pour le battre en spécificité,
   sans quoi l'encre douce l'emporterait. */
.carte__corps p.en-violet { color: #9333c9; }

/* ⚠️ CES DEUX CLASSES NE PORTENT PLUS LEUR NOM. Le 23 août 2026, Maryline a
   demandé que les explications de Guidance et de Contact défunt prennent « la
   même couleur que Écoute bienveillante ». Elles sont donc toutes les trois en
   #9333c9, et les noms `en-bleu` et `en-bleu-nuit` ne décrivent plus rien. Ils
   sont conservés pour ne pas éparpiller la modification dans le HTML ; les
   bleus d'origine sont gardés ci-dessous, au cas où elle voudrait revenir aux
   trois couleurs.

   Le bleu de la Guidance était #1f74ae, sur le même principe.

   Ce bleu n'est pas pris dans la palette de l'ange, qui n'en contient aucun :
   il est pris dans la teinte de fond de la page Guidance (#cfe2f0), à 205°,
   elle-même échantillonnée dans le ciel de son image. Celui-ci est à 204° —
   la même couleur, simplement assez foncée pour se lire : 5,0:1 sur le blanc
   de la carte, au-dessus du seuil de 4,5:1. La carte et la page vers laquelle
   elle mène portent ainsi le même bleu. */
.carte__corps p.en-bleu { color: #9333c9; }

/* Le bleu du Contact défunt était #1f5f96.

   ⚠️ Ce n'est pas la teinte de fond de sa page prise telle quelle. Elle l'a
   été d'abord (#3a5670), et Maryline ne l'a pas vue : à 48 % de saturation,
   cette couleur fonctionne en grand aplat derrière un bandeau, mais réduite à
   trois lignes sur du blanc il n'en reste plus assez de bleu pour que l'œil le
   nomme — elle se lisait comme un gris foncé, à peine distinct de l'encre
   douce des autres cartes.

   Celui-ci garde la teinte exacte de la page (208° contre 209°) et monte la
   saturation de 48 % à 79 %. Même bleu, assez dense pour se voir. Mesuré à
   6,7:1 sur le blanc de la carte.

   La leçon vaut pour les prochaines : une couleur de fond et une couleur de
   texte ne se règlent pas pareil, même quand on veut « la même ». */
.carte__corps p.en-bleu-nuit { color: #9333c9; }

.carte__fleche {
  margin-top: 1rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--magenta);
}
.carte:hover .carte__fleche { color: var(--violet); }

/* Une prestation annoncée mais pas encore ouverte : « Contact défunt », mise en
   attente le 24 août 2026.

   ⚠️ PREMIER ESSAI RATÉ, et la raison mérite d'être gardée. La carte avait été
   grisée par `filter: grayscale(1)` sur son image, plus un fond légèrement
   gris et une mention discrète en bas. Maryline : « pas suffisamment grisé pour
   comprendre ». La cause était sous les yeux : CETTE PHOTO EST DÉJÀ EN NOIR ET
   BLANC. La décolorer ne produisait rien. Vérifier ce que l'image contient
   avant de choisir l'effet qui doit la modifier.

   Ce qui marche, et qui tient en trois signaux cumulés :

     1. un BANDEAU en travers du haut de l'image, en toutes lettres. C'est lui
        qui porte l'information ; le reste ne fait que l'appuyer ;
     2. l'image très effacée — 30 % d'opacité sur le blanc de la carte, pas
        seulement décolorée ;
     3. la carte entière en gris, franchement plus sombre que ses voisines.

   ⚠️ LE TEXTE N'EST PAS ATTÉNUÉ pour autant. Le réflexe est de poser une
   `opacity` sur toute la carte ; mesuré, cela ferait tomber son texte de 5,3:1
   à 2,3:1 — illisible. Une prestation à venir doit se lire, sinon autant la
   retirer. Le texte est seulement grisé d'un cran, ce qui se mesure : titre à
   6,0:1, phrase à 5,6:1 sur le gris de la carte.

   ⚠️ Le survol est neutralisé — pas de soulèvement, curseur ordinaire. La carte
   n'est plus un lien (voir index.html) : elle ne doit pas se comporter comme si
   elle en était un. */
.carte--bientot {
  position: relative;
  background: #e9ebf0;
  cursor: default;
  transition: none;
}
.carte--bientot:hover {
  transform: none;
  box-shadow: var(--ombre-douce);
}
.carte--bientot .carte__visuel {
  opacity: .30;
  filter: grayscale(1);
}
.carte--bientot .carte__corps h3 { color: #5a5470; }
.carte--bientot .carte__corps p  { color: #5f5975; }

/* Une PAGE de prestation non encore ouverte — « Contact défunt » depuis le
   24 août 2026. Le pendant de `.carte--bientot` sur l'accueil.

   ⚠️ LA PAGE EST INTACTE. Rien n'est supprimé, rien n'est caché : elle répond à
   son adresse, tout son contenu s'y lit, et Maryline peut continuer à la
   préparer. Ce bloc ne fait que la teinter en gris et y poser un bandeau.

   Deux choses seulement changent :

     · la teinte perd sa couleur. Le bleu nuit de la page (#3a5670, 209°, 32 %
       de saturation) devient un gris de même CLARTÉ (#4c555e, 10 % de
       saturation). La clarté est conservée au point près, et c'est ce qui rend
       l'opération sûre : tous les contrastes de la page — titre blanc, chapô,
       surtitre, panneau de texte — restent exactement ce qu'ils étaient ;
     · le visuel de tête est décoloré et un peu effacé.

   ⚠️ Le TEXTE n'est pas touché. Une page à venir doit se lire — c'est même
   toute la raison de la garder en ligne. Mesuré sur le gris : le titre rend
   7,6:1, le chapô 5,8:1, le surtitre 5,0:1.

   ⚠️ Le ciel étoilé du fond est conservé mais atténué. Le décolorer aurait
   suffi à le rendre gris, mais ses étoiles sont déjà presque blanches : c'est
   son opacité qu'il faut baisser, pas sa saturation. Même erreur que sur la
   carte de l'accueil, où la photo était déjà en noir et blanc. */
.en-attente { --teinte: #4c555e; }
.en-attente main { opacity: 1; }
/* ⚠️ PLUS D'OPACITÉ ICI depuis le 24 août 2026. L'image était à 55 % de
   transparence, ce qui allait tant que le fond derrière elle était un aplat.
   Le jour où le fond a reçu son relief, ses fleurs et ses plumes, tout cela
   s'est mis à traverser la photographie : la main et le papillon avaient des
   motifs à l'intérieur. « Ce n'est pas beau », et c'était exact.

   Le grisé passe donc par un filtre, qui n'ouvre rien : la photographie
   redevient opaque et se pose PAR-DESSUS le décor, tout en restant visiblement
   éteinte.

   ⚠️ `grayscale(1)` A ÉTÉ RETIRÉ le 24 août 2026. Il ne servait à rien tant que
   l'image était en noir et blanc, mais elle est passée le même jour en duoton
   bleu — et il aurait effacé exactement la couleur qu'on venait de lui donner.
   Ne pas le remettre sans avoir regardé si l'image est en couleur.

   ⚠️ ET LE GRISÉ A ÉTÉ ALLÉGÉ dans la foulée — de brightness(.78) contrast(.72)
   à brightness(.88) contrast(.88). Le réglage d'avant délavait précisément le
   bleu qu'on venait de poser : mesuré sur l'image filtrée, la saturation
   moyenne tombait à 0,17, contre 0,29 maintenant. Autrement dit, la version
   bleue rendue à travers l'ancien filtre redevenait grise à l'écran.

   Il reste une atténuation visible, et l'information « pas encore disponible »
   ne repose de toute façon pas sur elle : c'est le bandeau en toutes lettres,
   en tête de page, qui la porte.

   ⚠️ Ne pas revenir à `opacity` pour atténuer quoi que ce soit sur cette page :
   c'est l'opacité qui laisse passer le fond. */
.en-attente .tete-page__visuel { filter: brightness(.88) contrast(.88); }

/* Le bandeau de la page. Mêmes mots et même couleur que celui de la carte, pour
   qu'on reconnaisse la même information d'un endroit à l'autre. Il occupe toute
   la largeur, en tête du contenu, avant même le titre. */
.bandeau-attente {
  margin: 0;
  padding: .75rem 1.25rem;
  background: #4e4964;
  color: var(--blanc);
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
}

/* L'enveloppe de la vignette. Elle n'existe que pour porter la banderole : elle
   lui donne la hauteur de l'IMAGE, et elle coupe ses deux bouts. */
.carte__vignette {
  position: relative;
  overflow: hidden;
  line-height: 0;   /* sinon la ligne de base de l'image ajoute un blanc dessous */
}

/* Le bandeau, en haut de l'image et sur toute sa largeur.

   ⚠️ Une version EN TRAVERS a été essayée le 24 août 2026 puis abandonnée le
   même jour : Maryline a préféré celle-ci. La diagonale a besoin de déborder de
   part et d'autre pour que ses bouts ne se voient pas, d'une rotation faible
   pour rester lisible, et elle mord sur ce que l'image montre. Le bandeau droit
   ne coûte rien de tout cela et se lit avant l'image.

   L'enveloppe `.carte__vignette` est conservée bien qu'un bandeau droit puisse
   s'en passer : elle donne au bandeau la largeur de l'image et non celle de la
   carte, ce qui reste juste, et elle servira si la diagonale revient un jour.

   Mesuré : le blanc rend 8,5:1 sur ce gris ardoise. */
.carte__bandeau {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  padding: .5rem .8rem;
  background: #4e4964;
  color: var(--blanc);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.4;
  text-transform: uppercase;
  text-align: center;
}

/* --------------------------------------------------------------------------
   9. Bandeau de page intérieure
   -------------------------------------------------------------------------- */

.tete-page {
  position: relative;
  padding-block: clamp(2.5rem, 8vw, 4rem);
  background: var(--fond-creux);
  border-bottom: 1px solid var(--trait);
  text-align: center;
}
.tete-page h1 { margin-bottom: .3em; }

.tete-page__visuel {
  width: 100%;
  max-height: 340px;
  object-fit: cover;
  border-radius: var(--arrondi);
  margin-top: 2rem;
  box-shadow: var(--ombre-douce);
}

/* Un visuel qui n'est pas nettement plus large que haut ne supporte pas le
   recadrage en bandeau : à 680 px de large, une image 582 × 900 monterait à
   plus de 1000 px de haut, et la limite de 340 px n'en laisserait qu'un tiers,
   pris au milieu. Ce modificateur l'affiche donc en entier, centré, la hauteur
   seule étant bornée. Utilisé par Nettoyage énergétique et Passage de vie. */
.tete-page__visuel--entier {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: min(60vh, 520px);
  object-fit: contain;
  margin-inline: auto;
}

/* Sortir de la colonne de lecture pour aller chercher la largeur du site.
   Ce modificateur ne fait que ça : élargir. Le débordement se fait par un
   décalage de la moitié de la colonne puis un recentrage sur soi-même —
   la seule façon de sortir d'un parent centré sans toucher au parent, donc
   sans conséquence sur les autres pages.

   La largeur se règle image par image avec --visuel-large, parce qu'il ne
   sert à rien de dépasser la largeur native d'un fichier : au-delà, on
   agrandit des pixels et l'image se trouble. Sans réglage, 1120 px, la
   largeur du site.

   La hauteur maximale héritée de --entier est levée, sinon une fenêtre
   courte rétrécirait l'image et laisserait deux vides sur les côtés. */
.tete-page__visuel--large {
  width: min(var(--visuel-large, 1120px), 100vw - 2.5rem);
  max-width: none;
  max-height: none;
  margin-left: 50%;
  transform: translateX(-50%);
}

/* Le recadrage en bande, propre à Contact défunt, dont l'image ouvre la page
   et tient lieu de titre.

   Une fois la largeur acquise, la bande est affinée : l'image est recadrée en
   3,2:1 au lieu de ses 2,4:1 naturels, ce qui lui retire un quart de sa
   hauteur sans rien lui retirer de sa largeur. Le recadrage est calé à 10 %
   et non au centre, et ce chiffre n'est pas arbitraire : le titre peint dans
   l'image occupe la bande des 6 % aux 12 % de sa hauteur, et un recadrage
   centré lui aurait mangé le haut des lettres. À 10 %, il reste trois points
   de marge au-dessus du titre, et c'est le premier plan sombre du bas qui
   part.

   Le rapport et la hauteur de coupe se règlent image par image, avec
   --visuel-bande et --visuel-cadrage : chaque photographie a son sujet à un
   endroit différent, et un recadrage juste sur l'une décapite le sujet de
   l'autre. Sans réglage, ce sont les valeurs de Contact défunt. */
.tete-page__visuel--bandeau {
  aspect-ratio: var(--visuel-bande, 3.2) / 1;
  object-fit: cover;
  object-position: center var(--visuel-cadrage, 10%);
}

/* L'étirement latéral, à ne pas confondre avec le recadrage ci-dessus.

   Le bandeau garde les proportions de l'image et lui coupe le haut et le bas.
   Celui-ci ne coupe rien : il déforme. L'image est tirée sur les côtés et
   remplit un cadre plus large qu'elle, `fill` au lieu de `cover`.

   ⚠️ C'est donc à réserver aux images sans repère géométrique fort et sans
   visage — une déformation de 50 % passe inaperçue sur un paysage, jamais sur
   un portrait. Employé sur Guidance, dont l'image est carrée : la recadrer en
   bande aurait tranché la couronne du cercle et le bas du chemin, alors que
   l'étirement les conserve tous les deux. Vérifié en rendant les deux et en
   les regardant. */
.tete-page__visuel--etire {
  aspect-ratio: var(--visuel-etire, 1.57) / 1;
  object-fit: fill;
  height: auto;
}

/* Sur Contact défunt seulement, l'image ouvre la page au lieu de suivre le
   titre : sa marge haute de 2 rem laisserait un vide sous l'en-tête, elle
   passe donc en dessous pour la séparer du surtitre qui la suit. Ailleurs,
   l'image reste à sa place habituelle et garde ses marges. */
/* L'image ne colle plus au haut du bandeau : le surtitre est passé devant elle
   (21 août 2026), et elle reprend donc une marge au-dessus. */
.teinte--defunt .tete-page__visuel--bandeau {
  margin-top: clamp(1.25rem, 3vw, 1.9rem);
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

/* Panneau de remplacement quand aucun visuel n'a encore été déposé.
   Plus utilisé depuis que les quatre prestations ont leur image ; conservé
   pour la prochaine page qui naîtrait sans visuel. */
.visuel-absent {
  display: grid;
  place-items: center;
  aspect-ratio: 21 / 9;
  margin-top: 2rem;
  border-radius: var(--arrondi);
  background: var(--degrade);
  color: var(--blanc);
  font-size: .9rem;
  text-align: center;
  padding: 1.5rem;
  opacity: .9;
}

/* Illustration posée au fil du texte, dans la colonne de lecture. Affichée
   en entier : les visuels déposés sont presque carrés, et un recadrage en
   bandeau leur ôterait justement ce qu'ils montrent. */
.illustration {
  display: block;
  width: min(100%, 540px);
  height: auto;
  margin: clamp(1.75rem, 5vw, 2.75rem) auto;
  border-radius: var(--arrondi-doux);
  box-shadow: var(--ombre-douce);
}

/* --------------------------------------------------------------------------
   9 bis. La teinte propre à chaque prestation
   -------------------------------------------------------------------------- */

/* Chacune des quatre séances porte sa couleur. Elles sont prises dans le
   dégradé de l'ange et dans son ordre, qui est aussi celui des prestations :
   pêche en haut pour Guidance, puis rose, magenta, et violet en bas pour
   Passage de vie.

   Le principe : le texte ne s'écrit jamais sur la teinte. Teinter le papier
   sous les lettres aurait fait baisser le contraste — c'est l'inverse qui met
   un texte en valeur. Le corps du texte est donc posé sur un panneau blanc,
   où il garde ses 11:1, et c'est la page autour qui prend la couleur. */

.teinte { background: var(--teinte); }

/* Le bleu de Guidance est pris dans son image : le ciel y tourne autour de
   200°, celui-ci est à 205°, mais quatre fois moins saturé. Assez proche pour
   que l'un prolonge l'autre, assez pâle pour que l'image reste le point le
   plus vif de la page. */
/* ⚠️ Assombri le 24 août 2026 : #cfe2f0 (88 % de clarté, 1,33 contre le blanc)
   est devenu #b1d0e7 (80 %, 1,61). La teinte, elle, n'a pas bougé — 205°, celle
   relevée dans l'image de la page.

   ⚠️ LA DISTANCE AVEC ÉCOUTE BIENVEILLANTE EST LE VRAI SUJET. Cette page-là est
   à 225° et pèse 1,78. Guidance était à 1,33, elle est maintenant à 1,61 : les
   deux pages bleues se sont RAPPROCHÉES, et il ne reste entre elles que 1,11 de
   rapport, plus vingt degrés de teinte.

   C'est la limite. À 76 % de clarté, Guidance pèserait 1,78 — exactement le
   poids d'Écoute bienveillante — et les deux ne se distingueraient plus que par
   leur teinte. Pour aller plus loin, il faudrait d'abord écarter les deux
   teintes l'une de l'autre.

   Trois choses s'écrivent À NU sur ce bleu, sans panneau : le titre, le chapô
   (tous deux en encre pleine, 6,9:1) et le surtitre, qui a dû être assombri —
   voir juste en dessous. */
.teinte--guidance  { --teinte: #b1d0e7; }   /* bleu ciel, assombri */

/* Le magenta commun aux pages teintées (#894289) rendait 5,4:1 sur l'ancien
   bleu ; sur le bleu assombri il tombait à 4,07:1.

   ⚠️ Assombri DEUX FOIS le 24 août 2026 : #763776 quand la page a foncé, puis
   #4b204b quand la photographie de nuages est passée en fond. Sur le composite
   de la photo et de son voile, #763776 ne rendait plus que 4,05:1 — et aucun
   réglage du voile ne le sauvait, le voile étant de la teinte de la page.
   #4b204b rend 6,5:1 sur les zones sombres de la photo, 9,0:1 sur les claires.

   La leçon, la même que sur Contact : quand le fond devient une image, ce n'est
   plus le fond qu'on règle, c'est l'encre. */
.teinte--guidance .surtitre { color: #4b204b; }
/* La largeur commune du chapô et du visuel de Guidance. Une seule valeur, lue
   par les deux — voir le chapô sur une ligne, plus haut, et
   .tete-page__visuel--large. */
/* ⚠️ Réduit deux fois le 23 août 2026 : 960 → 820, puis 820 → 700 px.

   Ce nombre commande DEUX choses, et c'est voulu : la largeur du visuel et
   celle du chapô, qui doit rester exactement aussi large que lui. Le chapô
   rétrécit donc avec l'image, et son corps avec lui — il vaut la largeur
   divisée par 47, soit 14,9 px contre 20,4 au départ.

   ⚠️ ON APPROCHE DE LA BUTÉE. Le chapô est à 14,9 px, c'est-à-dire tout juste
   au seuil de confort en lecture. Si l'image doit encore rétrécir, il faudra
   choisir entre deux renoncements :

     · découpler les deux — l'image seule rapetisse, et le chapô, resté large,
       devient plus long que la photo, ce qui défait l'alignement demandé ;
     · rendre au chapô un corps confortable et le laisser passer sur deux
       lignes — il garderait la largeur de l'image, mais plus la ligne unique.

   Les deux se valent, c'est à Maryline de trancher.

   L'espace qui suit l'image est repris juste en dessous. */
.teinte--guidance .tete-page { --visuel-large: 700px; }

/* Le blanc entre l'image et le texte, resserré à sa demande le même jour.

   Comme ailleurs, il ne venait pas du visuel mais de ses deux voisins : le
   bandeau de titre posait jusqu'à 4 rem sous lui, et la section suivante
   jusqu'à 6 rem au-dessus de son panneau blanc — dix rem cumulés. Les deux sont
   réduits ensemble ; n'en toucher qu'un n'aurait presque rien donné. */
.teinte--guidance .tete-page            { padding-bottom: clamp(.5rem, 1.5vw, 1rem); }
.teinte--guidance .tete-page + .section { padding-top: clamp(1rem, 3vw, 1.75rem); }

/* Le ciel de Guidance : la photographie de nuages irisés.

   ⚠️ Elle remplace un DESSIN, retiré le 24 août 2026 — « je n'aime pas ». Ce
   dessin avait lui-même remplacé quatre chaînes de collines le matin même, et
   il avait demandé deux constructions successives : des nuages plats d'abord,
   puis dix-sept cumulus en trois couronnes de cercles, 748 cercles et 44 Ko.
   Tout est dans l'historique du dépôt.

   La photographie est celle du dossier `Tarifs/`, déjà employée un temps en
   fond de cette page-là. Elle est partagée entre les deux : le chemin remonte
   d'un cran (`../Tarifs/`). ⚠️ La déplacer ou la renommer casserait les deux
   pages, pas une seule.

   Le montage est celui des pages Tarifs et Contact : la photographie tout au
   fond, fixée sur la fenêtre plutôt que sur la hauteur du document, et un voile
   par-dessus. Ici le voile est de la TEINTE DE LA PAGE et non du blanc : c'est
   lui qui garde la page bleue, la photographie ne faisant que la texturer.

   ⚠️ 78 % EST UN PLANCHER, pas un choix esthétique. Le titre, le chapô et le
   surtitre de cette page s'écrivent à même le fond, sans panneau. La
   photographie descend à 0,011 de luminance dans ses ombres — mesuré sur ses
   28 800 pixels réduits. À 62 % de voile, le titre tombe à 4,50:1, à la limite ;
   en dessous, il passe.

   Mesuré à 78 % : sur les zones sombres de la photo, le titre rend 5,5:1 et le
   surtitre 4,9:1 ; sur les zones claires, 7,6:1 et 9,0:1.

   ⚠️ LE SURTITRE A DÛ ÊTRE ASSOMBRI UNE SECONDE FOIS — voir plus haut. Il ne
   passait à AUCUN niveau de voile avec sa valeur précédente : le voile étant de
   la teinte de la page, l'éclaircir revient à effacer la photographie, et
   l'assombrir ne fait qu'empirer. Il fallait agir sur l'encre, pas sur le fond. */
.teinte--guidance main {
  background-image:
    linear-gradient(rgba(177, 208, 231, .78), rgba(177, 208, 231, .78)),
    url("../Tarifs/d5ed42aae85cf04b2c77efe3cf856aee.jpg");
  background-repeat: no-repeat, no-repeat;
  background-position: 0 0, center;
  background-size: 100% 100%, cover;
  /* ⚠️ `fixed` sur la seule photographie : elle se dimensionne ainsi sur la
     fenêtre et non sur la hauteur du document. Sans cela, une page longue
     l'étirerait sur plusieurs milliers de pixels. */
  background-attachment: scroll, fixed;
}
/* L'ambre de Nettoyage énergétique est pris dans son image, et il n'y avait
   pas d'autre choix honnête : le bois de la pièce occupe 62 % de ses pixels
   colorés, à 26° de teinte. Le vert amande qui l'a précédé ne venait de rien —
   l'image n'a que 4 % de vert, et à 91°, loin de lui.

   ⚠️ Un réchauffement en #f3d4ba a été posé puis retiré le 21 août 2026 : il
   répondait à une demande qui visait en réalité le sous-bois du bas de
   l'accueil, pas cette page. Elle garde donc son ambre d'origine. */
.teinte--nettoyage { --teinte: #efd9c6; }   /* ambre bois */
.teinte--defunt    { --teinte: #3a5670; }   /* bleu nuit — voir plus bas */

/* Le fond de Contact défunt : une forêt de nuit, sous un voile dégressif.

   Elle a déposé le 24 août 2026 une photographie de sous-bois bleu nuit, semé
   de lucioles, en demandant « un fond de page féérique ». Cette fois elle a dit
   « te servir de cette image » et non « t'en inspirer » : c'est donc la
   photographie elle-même qui est au fond, comme sur Guidance et sur les Tarifs,
   et non un dessin qui la copie.

   ⚠️ TOUS LES MOTIFS DESSINÉS AVAIENT ÉTÉ RETIRÉS quelques minutes plus tôt, à
   sa demande — le ciel étoilé, le relief, les fleurs, les plumes, la matière au
   couteau, les papillons. La photographie remplace tout cela. Les deux voiles
   en dégradé qui restaient alors sont partis avec : ils n'avaient de sens que
   pour animer un aplat, et ils auraient troublé l'image. Le décor dessiné est
   dans l'historique, au commit « Le fond prend la matière et les papillons ».

   ⚠️ LE VOILE EST DÉGRESSIF, ET C'EST TOUT LE RÉGLAGE. Mesuré sur la
   photographie composée avec le voile :

     · à 82 %, du blanc tient 5,8:1 sur le centile le plus clair et encore
       4,8:1 sur le PIXEL le plus clair de toute l'image — une luciole. Le haut
       de la page est donc sûr partout, sans exception ;
     · à 50 %, il tomberait à 3,6:1 — sous le seuil de 4,5.

   Or les textes clairs posés à nu — le surtitre et la phrase en cursive — sont
   tous en HAUT de la page, et le reste du texte vit dans un panneau blanc
   opaque qui ne dépend pas du fond. Le voile est donc épais sur les 300
   premiers pixels, puis s'allège jusqu'à 58 % à 760 px : protection là où il y
   a du texte à nu, forêt visible partout ailleurs.

   Vérifié en listant ce qui vit sous 780 px : rien de clair. Tout le corps du
   texte est dans un panneau blanc opaque, y compris la mention de séance et
   l'encart d'avertissement. Le voile peut donc s'y effacer sans risque, et
   c'est là que la forêt se voit le mieux.

   ⚠️ Un premier réglage montait à 88 % en haut. Le tiers supérieur devenait un
   aplat et les lucioles n'apparaissaient qu'à mi-page. 82 % suffit — la mesure
   le dit — et laisse la forêt se deviner dès le titre.

   ⚠️ LA PHOTOGRAPHIE NE FAIT QUE 736 × 1308 px. C'est confortable sur un
   téléphone, où elle s'affiche presque à sa taille. Sur un grand écran, `cover`
   l'agrandit de deux fois environ et l'image s'adoucit. Rien n'est cassé — une
   forêt brumeuse supporte le flou mieux qu'autre chose — mais si une version
   plus large existe un jour, elle vaut la peine d'être reprise. */
.teinte--defunt main {
  background-image:
    linear-gradient(rgba(58, 86, 112, .82) 0px,
                    rgba(58, 86, 112, .82) 300px,
                    rgba(58, 86, 112, .50) 780px),
    /* ⚠️ Le chemin est PERCENT-ENCODÉ, comme celui de la bannière de
       l'accueil plus haut. Écrit en clair, il porterait un « é » et une
       espace : en HTTP le serveur annonce l'UTF-8 et cela passerait, mais
       ouvert en `file://` la feuille n'a pas de charset déclaré et
       l'accent peut être mal lu. Le site doit tourner dans les deux. */
    url("../Contact%20d%C3%A9funt/contact-defunt-fond-foret.jpg");
  background-repeat: no-repeat, no-repeat;
  background-position: 0 0, center;
  background-size: 100% 100%, cover;
  /* ⚠️ `fixed` sur la seule photographie, comme sur Guidance : elle se
     dimensionne ainsi sur la fenêtre et non sur la hauteur du document. Sans
     cela, une page longue l'étirerait sur plusieurs milliers de pixels. Le
     voile, lui, reste en `scroll` — c'est ce qui permet à ses arrêts en pixels
     de compter depuis le HAUT du contenu. */
  background-attachment: scroll, fixed;
}



/* Le rose de Passage de vie vient du cercle de roses de son image, à 10° de
   teinte. Ce n'est pas sa couleur dominante : la pierre dorée occupe 86 % de
   ses pixels colorés, à 32°. Mais 32°, c'est l'ambre de Nettoyage énergétique
   à quatre degrés près — les deux pages auraient été jumelles. Les roses sont
   la seconde couleur de l'image, et la plus reconnaissable. */
.teinte--passage   { --teinte: #f6d7d1; }   /* rose des roses */

/* Le BLEU d'Écoute bienveillante — la page était violette jusqu'au 24 août 2026.

   Il vient du fond d'une peinture de glycines déposée le matin même dans
   `Bibliothèque/` : des grappes violettes sur un bleu roi. Le fond a été relevé
   pixel par pixel, en écartant les fleurs par leur teinte — 33 562 pixels de
   bleu retenus, de médiane 225°, 92 % de saturation, 41 % de clarté, soit
   #0838ca. C'est cette teinte de 225° qui est reprise ici, remontée en clarté
   pour porter du texte.

   ⚠️ Deux valeurs le même jour : #d4ddf7 (90 % de clarté, 1,36 contre le blanc),
   puis #b1c1f1 (82 %, 1,78) — « un bleu encore plus foncé ». La page est donc
   nettement plus dense que les autres pages de prestation, qui sont toutes
   autour de 1,35. C'est voulu, et c'est ce qui la distingue enfin de Guidance.

   ⚠️ `Bibliothèque/` est en principe un dépôt d'artefacts écartés, dont la règle
   est de ne rien tirer. Maryline l'a demandé deux fois puis confirmé en montrant
   l'image : la règle est levée pour ce cas précis, elle ne l'est pas en général.

   ⚠️ DEUX PAGES SONT BLEUES, et elles ne se confondent plus. Guidance est à 205°
   et pèse 1,33 contre le blanc ; celle-ci est à 225° et pèse 1,78. Vingt degrés
   d'écart en teinte, et surtout un tiers de densité en plus : la seconde
   différence fait davantage que la première.

   L'ancien violet, pour mémoire : #dedbf5, tiré du jeton `--violet` de la
   palette dont il gardait la teinte à un degré près.

   Il est calé sur le poids des autres pages de prestation : 1,35:1 contre le
   blanc, quand le bleu de Guidance est à 1,33, l'ambre à 1,36 et le rose des
   roses à 1,35. Aucune de ces pages ne se fait donc plus remarquer qu'une
   autre — c'est ce qui les tient ensemble.

   ⚠️ À revoir le jour où une image sera déposée dans le dossier : la règle du
   site est que la teinte se prend dans l'image de la page, et ce violet-là
   n'est qu'une réponse en attendant.

   Mesuré : l'encre du site rend 8,2:1 sur ce fond, le surtitre assombri
   4,9:1 — les deux au-dessus du seuil. */
.teinte--ecoute    { --teinte: #b1c1f1; }   /* bleu de la glycine */

/* ⚠️ Le surtitre « Séance individuelle » de cette page s'écrit À NU sur la
   teinte : le voile ne couvre que le texte et le chapô, pas le bandeau de
   titre. Le magenta commun aux pages teintées (#894289) rendait 4,9:1 sur le
   bleu clair du 24 août au matin ; sur celui-ci, plus dense, il tombe à 3,7:1.
   Il est donc assombri pour cette page seulement — 4,6:1.

   ⚠️ C'EST LUI QUI FIXE LA LIMITE, et non le fond. À une clarté de plus, il
   passerait sous le seuil quoi qu'on fasse d'autre. Pour un bleu encore plus
   profond, il faudra d'abord l'assombrir encore, ou lui donner un voile comme
   au texte. */
.teinte--ecoute .surtitre { color: #763776; }

/* Sur cette page, l'illustration touche ce qui la suit.

   Comme pour le décor de la page des tarifs, l'espace ne venait pas du visuel
   mais de ses voisins : le bandeau de titre pose jusqu'à 4 rem sous son
   contenu, et la section qui suit jusqu'à 6 rem au-dessus du panneau blanc.
   Les deux sont annulés, pour cette page seulement.

   Le texte ne se retrouve pas collé à l'image pour autant : le panneau blanc
   garde ses propres marges intérieures, qui vont jusqu'à 3 rem. C'est son bord
   supérieur qui vient au contact du bas de l'illustration, pas les lettres. */
/* La largeur commune du chapô et du visuel de cette page. Une seule valeur,
   lue par les deux — voir .chapo--long et .tete-page__visuel--large. */
/* ⚠️ Écoute bienveillante renonce au panneau blanc que les pages de prestation
   posent sous leur texte — demandé le 23 août 2026 : « toute la page dans le
   même ton de violet, enlever la démarcation entre le titre et après le titre ».
   Cette démarcation, c'était le bord du panneau.

   La page rejoint donc Tarifs : ce sont les deux seules où le texte s'écrit à
   même la teinte. Conséquence directe, c'est la couleur de fond qui décide
   désormais de la lisibilité, et non plus le blanc.

   Mesuré sur #dedbf5 : l'encre du site rend 8,2:1, le surtitre assombri des
   pages teintées 4,9:1. Les deux passent. ⚠️ L'encre douce, elle, tomberait à
   3,9:1 — elle ne sert nulle part sur cette page, mais toute règle qui l'y
   amènerait serait sous le seuil.

   ⚠️ RETOUR PARTIEL le 23 août 2026 : Maryline a redemandé un encart autour du
   texte. Ce n'est pas le panneau blanc OPAQUE des autres pages colorées, celui
   qui traçait la démarcation qu'elle avait fait retirer — c'est un voile
   translucide, qui laisse passer 40 % du violet. La page reste donc d'un seul
   ton, mais le texte est posé sur une surface au lieu de flotter.

   Le voile peut être généreux ici sans rien risquer : le violet est clair, et
   l'éclaircir ne fait que gagner du contraste. Mesuré sur le composite —
   l'encre du site rend 9,9:1 contre 8,2 sans voile, et la ligne « Séance à
   distance par Zoom » 6,9:1 contre 5,7.

   C'est l'inverse exact de la page Contact, où chaque point de transparence
   gagné coûtait du contraste : là-bas le fond est une photographie sombre, ici
   une teinte pâle. La même décision n'a pas le même prix selon ce qu'il y a
   dessous.

   ⚠️ LE SÉLECTEUR COMMENCE PAR `body`, ET CE N'EST PAS DÉCORATIF. La règle
   commune `.teinte .section > .etroit`, qui pose le panneau blanc, compte trois
   classes — exactement comme `.teinte--xxx .section > .etroit`. À spécificité
   égale, c'est la dernière écrite dans le fichier qui l'emporte, et la commune
   est plus bas. Sans le `body`, cette règle-ci ne s'appliquait donc PAS : le
   panneau restait en place et rien ne changeait à l'écran. Le symptôme est
   trompeur — le code paraît juste, et pourtant il ne fait rien. */
/* Le chapô de cette page reçoit le même voile que le texte, demandé juste
   après lui.

   ⚠️ Il garde sa largeur — celle du visuel, 860 px — et le rembourrage se prend
   à l'intérieur (`box-sizing: border-box`). C'est le voile qui s'aligne sur
   l'image, donc, et non plus la phrase elle-même : à l'œil c'est mieux, deux
   surfaces alignées valent mieux qu'un texte aligné sur une image. Mais si l'on
   remesure un jour l'alignement, c'est le bord du voile qu'il faut regarder.

   Le voile est un peu plus léger que celui du texte, à 52 % : le chapô est en
   encre pleine et sur peu de lignes, il n'a pas besoin d'autant de fond. */
body.teinte--ecoute .chapo--long {
  box-sizing: border-box;
  background: rgba(255, 255, 255, .52);
  border-radius: var(--arrondi);
  padding: clamp(.9rem, 2.6vw, 1.4rem) clamp(1rem, 3vw, 1.7rem);
}

body.teinte--ecoute .section > .etroit {
  width: min(760px, 100% - 2.5rem);
  background: rgba(255, 255, 255, .60);
  border-radius: var(--arrondi);
  padding: clamp(1.4rem, 4vw, 2.4rem) clamp(1.3rem, 3.8vw, 2.1rem);
  box-shadow: none;
}

.teinte--ecoute .tete-page            { --visuel-large: 860px; padding-bottom: 0; }

/* Le semis de fleurs blanches d'Écoute bienveillante, posé le 24 août 2026 à la
   place de la mer.

   Trente fleurs à cinq pétales et quarante-quatre boutons, semés au hasard dans
   une tuile de 560 px. C'est la même forme que le semis rose de l'accueil — le
   site n'a qu'une façon de dessiner une fleur.

   ⚠️ Elles sont TOUTES BLANCHES, sans autre couleur, et c'est ce qui change tout
   par rapport au semis de l'accueil. Là-bas, deux tons — l'un plus dense que le
   fond, l'autre plus clair — étaient nécessaires pour qu'un relief se lise sur
   un rose pâle. Ici le bleu est assez soutenu (1,78 contre le blanc) pour que le
   blanc seul se détache. Un second ton n'aurait rien ajouté.

   Les opacités restent basses — de 26 à 52 % pour les fleurs, moins pour les
   boutons. Le cœur de chaque fleur est une fois et demie plus dense que ses
   pétales : c'est ce petit écart qui fait qu'on lit une fleur et non une tache.

   ⚠️ Aucune fleur n'approche à moins de 34 px du bord de la tuile, pour que la
   répétition n'en coupe aucune — une fleur tranchée dessinerait une couture
   verticale sur toute la hauteur de la page.

   ⚠️ Le semis passe sous les deux voiles du texte, qui sont opaques à 60 % et
   52 % : on le devine sous les mots, on le voit franchement dans les marges.
   Aucun contraste n'en souffre — un blanc posé sur le fond ne fait que
   l'éclaircir, donc toutes les mesures de la page restent valables au pire cas,
   qui est le fond nu.

   ⚠️ LA MER A ÉTÉ RETIRÉE le 24 août 2026, à la demande de Maryline. Elle
   occupait le bas de la page : une ligne d'horizon, un dégradé d'eau, trente-
   quatre lignes de crête réparties en perspective, et cent trente-deux éclats
   de soleil sur une traînée floutée. 43 Ko encodés dans cette feuille, la plus
   lourde chose qu'elle ait portée.

   Elle avait demandé trois versions : quatre grands trains de vagues (« ça ne
   ressemble pas à la mer »), puis une vraie surface d'eau avec horizon et
   perspective (« c'est grossier »), puis la même affinée avec les reflets du
   soleil. Elle a suivi le passage de la page au bleu, puis son
   assombrissement — avant d'être retirée entièrement.

   Tout est dans l'historique du dépôt. */
.teinte--ecoute main {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20560%20560%22%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.41%22%3E%3Cellipse%20cx=%22221%22%20cy=%22140.3%22%20rx=%223.9%22%20ry=%227.2%22%20transform=%22rotate(66%20221%20148)%22/%3E%3Cellipse%20cx=%22221%22%20cy=%22140.3%22%20rx=%223.9%22%20ry=%227.2%22%20transform=%22rotate(138%20221%20148)%22/%3E%3Cellipse%20cx=%22221%22%20cy=%22140.3%22%20rx=%223.9%22%20ry=%227.2%22%20transform=%22rotate(210%20221%20148)%22/%3E%3Cellipse%20cx=%22221%22%20cy=%22140.3%22%20rx=%223.9%22%20ry=%227.2%22%20transform=%22rotate(282%20221%20148)%22/%3E%3Cellipse%20cx=%22221%22%20cy=%22140.3%22%20rx=%223.9%22%20ry=%227.2%22%20transform=%22rotate(354%20221%20148)%22/%3E%3C/g%3E%3Ccircle%20cx=%22221%22%20cy=%22148%22%20r=%222.2%22%20fill=%22%23ffffff%22%20opacity=%220.62%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.41%22%3E%3Cellipse%20cx=%22374%22%20cy=%22297.3%22%20rx=%224.8%22%20ry=%228.8%22%20transform=%22rotate(53%20374%20306)%22/%3E%3Cellipse%20cx=%22374%22%20cy=%22297.3%22%20rx=%224.8%22%20ry=%228.8%22%20transform=%22rotate(125%20374%20306)%22/%3E%3Cellipse%20cx=%22374%22%20cy=%22297.3%22%20rx=%224.8%22%20ry=%228.8%22%20transform=%22rotate(197%20374%20306)%22/%3E%3Cellipse%20cx=%22374%22%20cy=%22297.3%22%20rx=%224.8%22%20ry=%228.8%22%20transform=%22rotate(269%20374%20306)%22/%3E%3Cellipse%20cx=%22374%22%20cy=%22297.3%22%20rx=%224.8%22%20ry=%228.8%22%20transform=%22rotate(341%20374%20306)%22/%3E%3C/g%3E%3Ccircle%20cx=%22374%22%20cy=%22306%22%20r=%222.7%22%20fill=%22%23ffffff%22%20opacity=%220.61%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.30%22%3E%3Cellipse%20cx=%22418%22%20cy=%22347.4%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(32%20418%20359)%22/%3E%3Cellipse%20cx=%22418%22%20cy=%22347.4%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(104%20418%20359)%22/%3E%3Cellipse%20cx=%22418%22%20cy=%22347.4%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(176%20418%20359)%22/%3E%3Cellipse%20cx=%22418%22%20cy=%22347.4%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(248%20418%20359)%22/%3E%3Cellipse%20cx=%22418%22%20cy=%22347.4%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(320%20418%20359)%22/%3E%3C/g%3E%3Ccircle%20cx=%22418%22%20cy=%22359%22%20r=%223.7%22%20fill=%22%23ffffff%22%20opacity=%220.45%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.42%22%3E%3Cellipse%20cx=%22108%22%20cy=%22382.6%22%20rx=%224.0%22%20ry=%227.2%22%20transform=%22rotate(47%20108%20390)%22/%3E%3Cellipse%20cx=%22108%22%20cy=%22382.6%22%20rx=%224.0%22%20ry=%227.2%22%20transform=%22rotate(119%20108%20390)%22/%3E%3Cellipse%20cx=%22108%22%20cy=%22382.6%22%20rx=%224.0%22%20ry=%227.2%22%20transform=%22rotate(191%20108%20390)%22/%3E%3Cellipse%20cx=%22108%22%20cy=%22382.6%22%20rx=%224.0%22%20ry=%227.2%22%20transform=%22rotate(263%20108%20390)%22/%3E%3Cellipse%20cx=%22108%22%20cy=%22382.6%22%20rx=%224.0%22%20ry=%227.2%22%20transform=%22rotate(335%20108%20390)%22/%3E%3C/g%3E%3Ccircle%20cx=%22108%22%20cy=%22390%22%20r=%222.2%22%20fill=%22%23ffffff%22%20opacity=%220.63%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.48%22%3E%3Cellipse%20cx=%2263%22%20cy=%22413.6%22%20rx=%223.4%22%20ry=%226.3%22%20transform=%22rotate(62%2063%20420)%22/%3E%3Cellipse%20cx=%2263%22%20cy=%22413.6%22%20rx=%223.4%22%20ry=%226.3%22%20transform=%22rotate(134%2063%20420)%22/%3E%3Cellipse%20cx=%2263%22%20cy=%22413.6%22%20rx=%223.4%22%20ry=%226.3%22%20transform=%22rotate(206%2063%20420)%22/%3E%3Cellipse%20cx=%2263%22%20cy=%22413.6%22%20rx=%223.4%22%20ry=%226.3%22%20transform=%22rotate(278%2063%20420)%22/%3E%3Cellipse%20cx=%2263%22%20cy=%22413.6%22%20rx=%223.4%22%20ry=%226.3%22%20transform=%22rotate(350%2063%20420)%22/%3E%3C/g%3E%3Ccircle%20cx=%2263%22%20cy=%22420%22%20r=%221.9%22%20fill=%22%23ffffff%22%20opacity=%220.72%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.43%22%3E%3Cellipse%20cx=%22140%22%20cy=%22380.0%22%20rx=%226.2%22%20ry=%2211.3%22%20transform=%22rotate(9%20140%20391)%22/%3E%3Cellipse%20cx=%22140%22%20cy=%22380.0%22%20rx=%226.2%22%20ry=%2211.3%22%20transform=%22rotate(81%20140%20391)%22/%3E%3Cellipse%20cx=%22140%22%20cy=%22380.0%22%20rx=%226.2%22%20ry=%2211.3%22%20transform=%22rotate(153%20140%20391)%22/%3E%3Cellipse%20cx=%22140%22%20cy=%22380.0%22%20rx=%226.2%22%20ry=%2211.3%22%20transform=%22rotate(225%20140%20391)%22/%3E%3Cellipse%20cx=%22140%22%20cy=%22380.0%22%20rx=%226.2%22%20ry=%2211.3%22%20transform=%22rotate(297%20140%20391)%22/%3E%3C/g%3E%3Ccircle%20cx=%22140%22%20cy=%22391%22%20r=%223.5%22%20fill=%22%23ffffff%22%20opacity=%220.65%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.27%22%3E%3Cellipse%20cx=%2295%22%20cy=%22472.3%22%20rx=%226.0%22%20ry=%2211.0%22%20transform=%22rotate(71%2095%20483)%22/%3E%3Cellipse%20cx=%2295%22%20cy=%22472.3%22%20rx=%226.0%22%20ry=%2211.0%22%20transform=%22rotate(143%2095%20483)%22/%3E%3Cellipse%20cx=%2295%22%20cy=%22472.3%22%20rx=%226.0%22%20ry=%2211.0%22%20transform=%22rotate(215%2095%20483)%22/%3E%3Cellipse%20cx=%2295%22%20cy=%22472.3%22%20rx=%226.0%22%20ry=%2211.0%22%20transform=%22rotate(287%2095%20483)%22/%3E%3Cellipse%20cx=%2295%22%20cy=%22472.3%22%20rx=%226.0%22%20ry=%2211.0%22%20transform=%22rotate(359%2095%20483)%22/%3E%3C/g%3E%3Ccircle%20cx=%2295%22%20cy=%22483%22%20r=%223.4%22%20fill=%22%23ffffff%22%20opacity=%220.41%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.49%22%3E%3Cellipse%20cx=%22190%22%20cy=%22328.6%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(13%20190%20339)%22/%3E%3Cellipse%20cx=%22190%22%20cy=%22328.6%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(85%20190%20339)%22/%3E%3Cellipse%20cx=%22190%22%20cy=%22328.6%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(157%20190%20339)%22/%3E%3Cellipse%20cx=%22190%22%20cy=%22328.6%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(229%20190%20339)%22/%3E%3Cellipse%20cx=%22190%22%20cy=%22328.6%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(301%20190%20339)%22/%3E%3C/g%3E%3Ccircle%20cx=%22190%22%20cy=%22339%22%20r=%223.2%22%20fill=%22%23ffffff%22%20opacity=%220.74%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.37%22%3E%3Cellipse%20cx=%22450%22%20cy=%22175.2%22%20rx=%223.9%22%20ry=%227.1%22%20transform=%22rotate(48%20450%20182)%22/%3E%3Cellipse%20cx=%22450%22%20cy=%22175.2%22%20rx=%223.9%22%20ry=%227.1%22%20transform=%22rotate(120%20450%20182)%22/%3E%3Cellipse%20cx=%22450%22%20cy=%22175.2%22%20rx=%223.9%22%20ry=%227.1%22%20transform=%22rotate(192%20450%20182)%22/%3E%3Cellipse%20cx=%22450%22%20cy=%22175.2%22%20rx=%223.9%22%20ry=%227.1%22%20transform=%22rotate(264%20450%20182)%22/%3E%3Cellipse%20cx=%22450%22%20cy=%22175.2%22%20rx=%223.9%22%20ry=%227.1%22%20transform=%22rotate(336%20450%20182)%22/%3E%3C/g%3E%3Ccircle%20cx=%22450%22%20cy=%22182%22%20r=%222.2%22%20fill=%22%23ffffff%22%20opacity=%220.55%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.30%22%3E%3Cellipse%20cx=%22360%22%20cy=%22267.8%22%20rx=%224.8%22%20ry=%228.9%22%20transform=%22rotate(2%20360%20277)%22/%3E%3Cellipse%20cx=%22360%22%20cy=%22267.8%22%20rx=%224.8%22%20ry=%228.9%22%20transform=%22rotate(74%20360%20277)%22/%3E%3Cellipse%20cx=%22360%22%20cy=%22267.8%22%20rx=%224.8%22%20ry=%228.9%22%20transform=%22rotate(146%20360%20277)%22/%3E%3Cellipse%20cx=%22360%22%20cy=%22267.8%22%20rx=%224.8%22%20ry=%228.9%22%20transform=%22rotate(218%20360%20277)%22/%3E%3Cellipse%20cx=%22360%22%20cy=%22267.8%22%20rx=%224.8%22%20ry=%228.9%22%20transform=%22rotate(290%20360%20277)%22/%3E%3C/g%3E%3Ccircle%20cx=%22360%22%20cy=%22277%22%20r=%222.7%22%20fill=%22%23ffffff%22%20opacity=%220.44%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.40%22%3E%3Cellipse%20cx=%22260%22%20cy=%22383.2%22%20rx=%225.0%22%20ry=%229.1%22%20transform=%22rotate(54%20260%20392)%22/%3E%3Cellipse%20cx=%22260%22%20cy=%22383.2%22%20rx=%225.0%22%20ry=%229.1%22%20transform=%22rotate(126%20260%20392)%22/%3E%3Cellipse%20cx=%22260%22%20cy=%22383.2%22%20rx=%225.0%22%20ry=%229.1%22%20transform=%22rotate(198%20260%20392)%22/%3E%3Cellipse%20cx=%22260%22%20cy=%22383.2%22%20rx=%225.0%22%20ry=%229.1%22%20transform=%22rotate(270%20260%20392)%22/%3E%3Cellipse%20cx=%22260%22%20cy=%22383.2%22%20rx=%225.0%22%20ry=%229.1%22%20transform=%22rotate(342%20260%20392)%22/%3E%3C/g%3E%3Ccircle%20cx=%22260%22%20cy=%22392%22%20r=%222.8%22%20fill=%22%23ffffff%22%20opacity=%220.60%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.28%22%3E%3Cellipse%20cx=%22467%22%20cy=%22348.0%22%20rx=%224.6%22%20ry=%228.4%22%20transform=%22rotate(10%20467%20356)%22/%3E%3Cellipse%20cx=%22467%22%20cy=%22348.0%22%20rx=%224.6%22%20ry=%228.4%22%20transform=%22rotate(82%20467%20356)%22/%3E%3Cellipse%20cx=%22467%22%20cy=%22348.0%22%20rx=%224.6%22%20ry=%228.4%22%20transform=%22rotate(154%20467%20356)%22/%3E%3Cellipse%20cx=%22467%22%20cy=%22348.0%22%20rx=%224.6%22%20ry=%228.4%22%20transform=%22rotate(226%20467%20356)%22/%3E%3Cellipse%20cx=%22467%22%20cy=%22348.0%22%20rx=%224.6%22%20ry=%228.4%22%20transform=%22rotate(298%20467%20356)%22/%3E%3C/g%3E%3Ccircle%20cx=%22467%22%20cy=%22356%22%20r=%222.6%22%20fill=%22%23ffffff%22%20opacity=%220.42%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.29%22%3E%3Cellipse%20cx=%2253%22%20cy=%22446.0%22%20rx=%226.7%22%20ry=%2212.3%22%20transform=%22rotate(54%2053%20458)%22/%3E%3Cellipse%20cx=%2253%22%20cy=%22446.0%22%20rx=%226.7%22%20ry=%2212.3%22%20transform=%22rotate(126%2053%20458)%22/%3E%3Cellipse%20cx=%2253%22%20cy=%22446.0%22%20rx=%226.7%22%20ry=%2212.3%22%20transform=%22rotate(198%2053%20458)%22/%3E%3Cellipse%20cx=%2253%22%20cy=%22446.0%22%20rx=%226.7%22%20ry=%2212.3%22%20transform=%22rotate(270%2053%20458)%22/%3E%3Cellipse%20cx=%2253%22%20cy=%22446.0%22%20rx=%226.7%22%20ry=%2212.3%22%20transform=%22rotate(342%2053%20458)%22/%3E%3C/g%3E%3Ccircle%20cx=%2253%22%20cy=%22458%22%20r=%223.8%22%20fill=%22%23ffffff%22%20opacity=%220.43%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.45%22%3E%3Cellipse%20cx=%22359%22%20cy=%2284.4%22%20rx=%226.8%22%20ry=%2212.4%22%20transform=%22rotate(47%20359%2097)%22/%3E%3Cellipse%20cx=%22359%22%20cy=%2284.4%22%20rx=%226.8%22%20ry=%2212.4%22%20transform=%22rotate(119%20359%2097)%22/%3E%3Cellipse%20cx=%22359%22%20cy=%2284.4%22%20rx=%226.8%22%20ry=%2212.4%22%20transform=%22rotate(191%20359%2097)%22/%3E%3Cellipse%20cx=%22359%22%20cy=%2284.4%22%20rx=%226.8%22%20ry=%2212.4%22%20transform=%22rotate(263%20359%2097)%22/%3E%3Cellipse%20cx=%22359%22%20cy=%2284.4%22%20rx=%226.8%22%20ry=%2212.4%22%20transform=%22rotate(335%20359%2097)%22/%3E%3C/g%3E%3Ccircle%20cx=%22359%22%20cy=%2297%22%20r=%223.8%22%20fill=%22%23ffffff%22%20opacity=%220.68%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.32%22%3E%3Cellipse%20cx=%22334%22%20cy=%22227.7%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(69%20334%20240)%22/%3E%3Cellipse%20cx=%22334%22%20cy=%22227.7%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(141%20334%20240)%22/%3E%3Cellipse%20cx=%22334%22%20cy=%22227.7%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(213%20334%20240)%22/%3E%3Cellipse%20cx=%22334%22%20cy=%22227.7%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(285%20334%20240)%22/%3E%3Cellipse%20cx=%22334%22%20cy=%22227.7%22%20rx=%226.6%22%20ry=%2212.1%22%20transform=%22rotate(357%20334%20240)%22/%3E%3C/g%3E%3Ccircle%20cx=%22334%22%20cy=%22240%22%20r=%223.7%22%20fill=%22%23ffffff%22%20opacity=%220.48%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.38%22%3E%3Cellipse%20cx=%22249%22%20cy=%22383.9%22%20rx=%226.0%22%20ry=%2210.9%22%20transform=%22rotate(30%20249%20395)%22/%3E%3Cellipse%20cx=%22249%22%20cy=%22383.9%22%20rx=%226.0%22%20ry=%2210.9%22%20transform=%22rotate(102%20249%20395)%22/%3E%3Cellipse%20cx=%22249%22%20cy=%22383.9%22%20rx=%226.0%22%20ry=%2210.9%22%20transform=%22rotate(174%20249%20395)%22/%3E%3Cellipse%20cx=%22249%22%20cy=%22383.9%22%20rx=%226.0%22%20ry=%2210.9%22%20transform=%22rotate(246%20249%20395)%22/%3E%3Cellipse%20cx=%22249%22%20cy=%22383.9%22%20rx=%226.0%22%20ry=%2210.9%22%20transform=%22rotate(318%20249%20395)%22/%3E%3C/g%3E%3Ccircle%20cx=%22249%22%20cy=%22395%22%20r=%223.4%22%20fill=%22%23ffffff%22%20opacity=%220.57%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.33%22%3E%3Cellipse%20cx=%22510%22%20cy=%22162.2%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(49%20510%20170)%22/%3E%3Cellipse%20cx=%22510%22%20cy=%22162.2%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(121%20510%20170)%22/%3E%3Cellipse%20cx=%22510%22%20cy=%22162.2%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(193%20510%20170)%22/%3E%3Cellipse%20cx=%22510%22%20cy=%22162.2%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(265%20510%20170)%22/%3E%3Cellipse%20cx=%22510%22%20cy=%22162.2%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(337%20510%20170)%22/%3E%3C/g%3E%3Ccircle%20cx=%22510%22%20cy=%22170%22%20r=%222.3%22%20fill=%22%23ffffff%22%20opacity=%220.50%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.49%22%3E%3Cellipse%20cx=%22476%22%20cy=%22181.6%22%20rx=%226.9%22%20ry=%2212.7%22%20transform=%22rotate(27%20476%20194)%22/%3E%3Cellipse%20cx=%22476%22%20cy=%22181.6%22%20rx=%226.9%22%20ry=%2212.7%22%20transform=%22rotate(99%20476%20194)%22/%3E%3Cellipse%20cx=%22476%22%20cy=%22181.6%22%20rx=%226.9%22%20ry=%2212.7%22%20transform=%22rotate(171%20476%20194)%22/%3E%3Cellipse%20cx=%22476%22%20cy=%22181.6%22%20rx=%226.9%22%20ry=%2212.7%22%20transform=%22rotate(243%20476%20194)%22/%3E%3Cellipse%20cx=%22476%22%20cy=%22181.6%22%20rx=%226.9%22%20ry=%2212.7%22%20transform=%22rotate(315%20476%20194)%22/%3E%3C/g%3E%3Ccircle%20cx=%22476%22%20cy=%22194%22%20r=%223.9%22%20fill=%22%23ffffff%22%20opacity=%220.74%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.27%22%3E%3Cellipse%20cx=%22404%22%20cy=%22386.6%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(12%20404%20394)%22/%3E%3Cellipse%20cx=%22404%22%20cy=%22386.6%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(84%20404%20394)%22/%3E%3Cellipse%20cx=%22404%22%20cy=%22386.6%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(156%20404%20394)%22/%3E%3Cellipse%20cx=%22404%22%20cy=%22386.6%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(228%20404%20394)%22/%3E%3Cellipse%20cx=%22404%22%20cy=%22386.6%22%20rx=%224.1%22%20ry=%227.6%22%20transform=%22rotate(300%20404%20394)%22/%3E%3C/g%3E%3Ccircle%20cx=%22404%22%20cy=%22394%22%20r=%222.3%22%20fill=%22%23ffffff%22%20opacity=%220.40%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.41%22%3E%3Cellipse%20cx=%22123%22%20cy=%22355.4%22%20rx=%223.6%22%20ry=%226.5%22%20transform=%22rotate(17%20123%20362)%22/%3E%3Cellipse%20cx=%22123%22%20cy=%22355.4%22%20rx=%223.6%22%20ry=%226.5%22%20transform=%22rotate(89%20123%20362)%22/%3E%3Cellipse%20cx=%22123%22%20cy=%22355.4%22%20rx=%223.6%22%20ry=%226.5%22%20transform=%22rotate(161%20123%20362)%22/%3E%3Cellipse%20cx=%22123%22%20cy=%22355.4%22%20rx=%223.6%22%20ry=%226.5%22%20transform=%22rotate(233%20123%20362)%22/%3E%3Cellipse%20cx=%22123%22%20cy=%22355.4%22%20rx=%223.6%22%20ry=%226.5%22%20transform=%22rotate(305%20123%20362)%22/%3E%3C/g%3E%3Ccircle%20cx=%22123%22%20cy=%22362%22%20r=%222.0%22%20fill=%22%23ffffff%22%20opacity=%220.61%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.29%22%3E%3Cellipse%20cx=%22110%22%20cy=%22188.2%22%20rx=%224.2%22%20ry=%227.7%22%20transform=%22rotate(49%20110%20196)%22/%3E%3Cellipse%20cx=%22110%22%20cy=%22188.2%22%20rx=%224.2%22%20ry=%227.7%22%20transform=%22rotate(121%20110%20196)%22/%3E%3Cellipse%20cx=%22110%22%20cy=%22188.2%22%20rx=%224.2%22%20ry=%227.7%22%20transform=%22rotate(193%20110%20196)%22/%3E%3Cellipse%20cx=%22110%22%20cy=%22188.2%22%20rx=%224.2%22%20ry=%227.7%22%20transform=%22rotate(265%20110%20196)%22/%3E%3Cellipse%20cx=%22110%22%20cy=%22188.2%22%20rx=%224.2%22%20ry=%227.7%22%20transform=%22rotate(337%20110%20196)%22/%3E%3C/g%3E%3Ccircle%20cx=%22110%22%20cy=%22196%22%20r=%222.4%22%20fill=%22%23ffffff%22%20opacity=%220.44%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.39%22%3E%3Cellipse%20cx=%22525%22%20cy=%22317.4%22%20rx=%226.1%22%20ry=%2211.1%22%20transform=%22rotate(40%20525%20329)%22/%3E%3Cellipse%20cx=%22525%22%20cy=%22317.4%22%20rx=%226.1%22%20ry=%2211.1%22%20transform=%22rotate(112%20525%20329)%22/%3E%3Cellipse%20cx=%22525%22%20cy=%22317.4%22%20rx=%226.1%22%20ry=%2211.1%22%20transform=%22rotate(184%20525%20329)%22/%3E%3Cellipse%20cx=%22525%22%20cy=%22317.4%22%20rx=%226.1%22%20ry=%2211.1%22%20transform=%22rotate(256%20525%20329)%22/%3E%3Cellipse%20cx=%22525%22%20cy=%22317.4%22%20rx=%226.1%22%20ry=%2211.1%22%20transform=%22rotate(328%20525%20329)%22/%3E%3C/g%3E%3Ccircle%20cx=%22525%22%20cy=%22329%22%20r=%223.4%22%20fill=%22%23ffffff%22%20opacity=%220.58%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.41%22%3E%3Cellipse%20cx=%22512%22%20cy=%22461.8%22%20rx=%226.5%22%20ry=%2211.9%22%20transform=%22rotate(2%20512%20474)%22/%3E%3Cellipse%20cx=%22512%22%20cy=%22461.8%22%20rx=%226.5%22%20ry=%2211.9%22%20transform=%22rotate(74%20512%20474)%22/%3E%3Cellipse%20cx=%22512%22%20cy=%22461.8%22%20rx=%226.5%22%20ry=%2211.9%22%20transform=%22rotate(146%20512%20474)%22/%3E%3Cellipse%20cx=%22512%22%20cy=%22461.8%22%20rx=%226.5%22%20ry=%2211.9%22%20transform=%22rotate(218%20512%20474)%22/%3E%3Cellipse%20cx=%22512%22%20cy=%22461.8%22%20rx=%226.5%22%20ry=%2211.9%22%20transform=%22rotate(290%20512%20474)%22/%3E%3C/g%3E%3Ccircle%20cx=%22512%22%20cy=%22474%22%20r=%223.7%22%20fill=%22%23ffffff%22%20opacity=%220.62%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.31%22%3E%3Cellipse%20cx=%22497%22%20cy=%22338.3%22%20rx=%225.3%22%20ry=%229.7%22%20transform=%22rotate(47%20497%20348)%22/%3E%3Cellipse%20cx=%22497%22%20cy=%22338.3%22%20rx=%225.3%22%20ry=%229.7%22%20transform=%22rotate(119%20497%20348)%22/%3E%3Cellipse%20cx=%22497%22%20cy=%22338.3%22%20rx=%225.3%22%20ry=%229.7%22%20transform=%22rotate(191%20497%20348)%22/%3E%3Cellipse%20cx=%22497%22%20cy=%22338.3%22%20rx=%225.3%22%20ry=%229.7%22%20transform=%22rotate(263%20497%20348)%22/%3E%3Cellipse%20cx=%22497%22%20cy=%22338.3%22%20rx=%225.3%22%20ry=%229.7%22%20transform=%22rotate(335%20497%20348)%22/%3E%3C/g%3E%3Ccircle%20cx=%22497%22%20cy=%22348%22%20r=%223.0%22%20fill=%22%23ffffff%22%20opacity=%220.46%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.41%22%3E%3Cellipse%20cx=%22392%22%20cy=%22413.0%22%20rx=%223.6%22%20ry=%226.6%22%20transform=%22rotate(37%20392%20420)%22/%3E%3Cellipse%20cx=%22392%22%20cy=%22413.0%22%20rx=%223.6%22%20ry=%226.6%22%20transform=%22rotate(109%20392%20420)%22/%3E%3Cellipse%20cx=%22392%22%20cy=%22413.0%22%20rx=%223.6%22%20ry=%226.6%22%20transform=%22rotate(181%20392%20420)%22/%3E%3Cellipse%20cx=%22392%22%20cy=%22413.0%22%20rx=%223.6%22%20ry=%226.6%22%20transform=%22rotate(253%20392%20420)%22/%3E%3Cellipse%20cx=%22392%22%20cy=%22413.0%22%20rx=%223.6%22%20ry=%226.6%22%20transform=%22rotate(325%20392%20420)%22/%3E%3C/g%3E%3Ccircle%20cx=%22392%22%20cy=%22420%22%20r=%222.0%22%20fill=%22%23ffffff%22%20opacity=%220.62%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.34%22%3E%3Cellipse%20cx=%22207%22%20cy=%22356.8%22%20rx=%226.9%22%20ry=%2212.6%22%20transform=%22rotate(65%20207%20369)%22/%3E%3Cellipse%20cx=%22207%22%20cy=%22356.8%22%20rx=%226.9%22%20ry=%2212.6%22%20transform=%22rotate(137%20207%20369)%22/%3E%3Cellipse%20cx=%22207%22%20cy=%22356.8%22%20rx=%226.9%22%20ry=%2212.6%22%20transform=%22rotate(209%20207%20369)%22/%3E%3Cellipse%20cx=%22207%22%20cy=%22356.8%22%20rx=%226.9%22%20ry=%2212.6%22%20transform=%22rotate(281%20207%20369)%22/%3E%3Cellipse%20cx=%22207%22%20cy=%22356.8%22%20rx=%226.9%22%20ry=%2212.6%22%20transform=%22rotate(353%20207%20369)%22/%3E%3C/g%3E%3Ccircle%20cx=%22207%22%20cy=%22369%22%20r=%223.9%22%20fill=%22%23ffffff%22%20opacity=%220.51%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.49%22%3E%3Cellipse%20cx=%22109%22%20cy=%22443.7%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(60%20109%20454)%22/%3E%3Cellipse%20cx=%22109%22%20cy=%22443.7%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(132%20109%20454)%22/%3E%3Cellipse%20cx=%22109%22%20cy=%22443.7%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(204%20109%20454)%22/%3E%3Cellipse%20cx=%22109%22%20cy=%22443.7%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(276%20109%20454)%22/%3E%3Cellipse%20cx=%22109%22%20cy=%22443.7%22%20rx=%225.7%22%20ry=%2210.4%22%20transform=%22rotate(348%20109%20454)%22/%3E%3C/g%3E%3Ccircle%20cx=%22109%22%20cy=%22454%22%20r=%223.2%22%20fill=%22%23ffffff%22%20opacity=%220.73%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.44%22%3E%3Cellipse%20cx=%22171%22%20cy=%22314.8%22%20rx=%224.5%22%20ry=%228.2%22%20transform=%22rotate(57%20171%20323)%22/%3E%3Cellipse%20cx=%22171%22%20cy=%22314.8%22%20rx=%224.5%22%20ry=%228.2%22%20transform=%22rotate(129%20171%20323)%22/%3E%3Cellipse%20cx=%22171%22%20cy=%22314.8%22%20rx=%224.5%22%20ry=%228.2%22%20transform=%22rotate(201%20171%20323)%22/%3E%3Cellipse%20cx=%22171%22%20cy=%22314.8%22%20rx=%224.5%22%20ry=%228.2%22%20transform=%22rotate(273%20171%20323)%22/%3E%3Cellipse%20cx=%22171%22%20cy=%22314.8%22%20rx=%224.5%22%20ry=%228.2%22%20transform=%22rotate(345%20171%20323)%22/%3E%3C/g%3E%3Ccircle%20cx=%22171%22%20cy=%22323%22%20r=%222.5%22%20fill=%22%23ffffff%22%20opacity=%220.66%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.31%22%3E%3Cellipse%20cx=%22152%22%20cy=%22269.8%22%20rx=%225.6%22%20ry=%2210.3%22%20transform=%22rotate(17%20152%20280)%22/%3E%3Cellipse%20cx=%22152%22%20cy=%22269.8%22%20rx=%225.6%22%20ry=%2210.3%22%20transform=%22rotate(89%20152%20280)%22/%3E%3Cellipse%20cx=%22152%22%20cy=%22269.8%22%20rx=%225.6%22%20ry=%2210.3%22%20transform=%22rotate(161%20152%20280)%22/%3E%3Cellipse%20cx=%22152%22%20cy=%22269.8%22%20rx=%225.6%22%20ry=%2210.3%22%20transform=%22rotate(233%20152%20280)%22/%3E%3Cellipse%20cx=%22152%22%20cy=%22269.8%22%20rx=%225.6%22%20ry=%2210.3%22%20transform=%22rotate(305%20152%20280)%22/%3E%3C/g%3E%3Ccircle%20cx=%22152%22%20cy=%22280%22%20r=%223.2%22%20fill=%22%23ffffff%22%20opacity=%220.46%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.47%22%3E%3Cellipse%20cx=%22267%22%20cy=%2259.9%22%20rx=%225.2%22%20ry=%229.6%22%20transform=%22rotate(68%20267%2069)%22/%3E%3Cellipse%20cx=%22267%22%20cy=%2259.9%22%20rx=%225.2%22%20ry=%229.6%22%20transform=%22rotate(140%20267%2069)%22/%3E%3Cellipse%20cx=%22267%22%20cy=%2259.9%22%20rx=%225.2%22%20ry=%229.6%22%20transform=%22rotate(212%20267%2069)%22/%3E%3Cellipse%20cx=%22267%22%20cy=%2259.9%22%20rx=%225.2%22%20ry=%229.6%22%20transform=%22rotate(284%20267%2069)%22/%3E%3Cellipse%20cx=%22267%22%20cy=%2259.9%22%20rx=%225.2%22%20ry=%229.6%22%20transform=%22rotate(356%20267%2069)%22/%3E%3C/g%3E%3Ccircle%20cx=%22267%22%20cy=%2269%22%20r=%223.0%22%20fill=%22%23ffffff%22%20opacity=%220.71%22/%3E%3Ccircle%20cx=%2243%22%20cy=%22454%22%20r=%222.3%22%20fill=%22%23ffffff%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%2228%22%20cy=%22418%22%20r=%221.4%22%20fill=%22%23ffffff%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22185%22%20cy=%22209%22%20r=%221.4%22%20fill=%22%23ffffff%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22132%22%20cy=%22479%22%20r=%222.0%22%20fill=%22%23ffffff%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22363%22%20cy=%22296%22%20r=%221.1%22%20fill=%22%23ffffff%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22158%22%20cy=%2226%22%20r=%222.4%22%20fill=%22%23ffffff%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22219%22%20cy=%22113%22%20r=%222.0%22%20fill=%22%23ffffff%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22381%22%20cy=%22274%22%20r=%222.1%22%20fill=%22%23ffffff%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22115%22%20cy=%22110%22%20r=%221.9%22%20fill=%22%23ffffff%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22441%22%20cy=%22468%22%20r=%221.8%22%20fill=%22%23ffffff%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%2270%22%20cy=%22221%22%20r=%221.2%22%20fill=%22%23ffffff%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22546%22%20cy=%22370%22%20r=%222.4%22%20fill=%22%23ffffff%22%20opacity=%220.27%22/%3E%3Ccircle%20cx=%22437%22%20cy=%2259%22%20r=%221.7%22%20fill=%22%23ffffff%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22474%22%20cy=%22106%22%20r=%221.4%22%20fill=%22%23ffffff%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22463%22%20cy=%22182%22%20r=%222.6%22%20fill=%22%23ffffff%22%20opacity=%220.26%22/%3E%3Ccircle%20cx=%22459%22%20cy=%22117%22%20r=%222.6%22%20fill=%22%23ffffff%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22482%22%20cy=%22382%22%20r=%222.6%22%20fill=%22%23ffffff%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22527%22%20cy=%22160%22%20r=%222.5%22%20fill=%22%23ffffff%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22198%22%20cy=%22103%22%20r=%222.6%22%20fill=%22%23ffffff%22%20opacity=%220.29%22/%3E%3Ccircle%20cx=%22296%22%20cy=%22486%22%20r=%221.9%22%20fill=%22%23ffffff%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%22379%22%20cy=%22297%22%20r=%221.6%22%20fill=%22%23ffffff%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22495%22%20cy=%22145%22%20r=%222.5%22%20fill=%22%23ffffff%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22292%22%20cy=%22117%22%20r=%222.2%22%20fill=%22%23ffffff%22%20opacity=%220.25%22/%3E%3Ccircle%20cx=%22147%22%20cy=%22468%22%20r=%221.6%22%20fill=%22%23ffffff%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22464%22%20cy=%22544%22%20r=%221.6%22%20fill=%22%23ffffff%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22304%22%20cy=%22415%22%20r=%221.1%22%20fill=%22%23ffffff%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22138%22%20cy=%22509%22%20r=%221.8%22%20fill=%22%23ffffff%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22253%22%20cy=%22363%22%20r=%221.2%22%20fill=%22%23ffffff%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22171%22%20cy=%22210%22%20r=%221.4%22%20fill=%22%23ffffff%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%2261%22%20cy=%22315%22%20r=%222.7%22%20fill=%22%23ffffff%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22345%22%20cy=%22537%22%20r=%222.3%22%20fill=%22%23ffffff%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22257%22%20cy=%2257%22%20r=%222.6%22%20fill=%22%23ffffff%22%20opacity=%220.40%22/%3E%3Ccircle%20cx=%22442%22%20cy=%22381%22%20r=%222.5%22%20fill=%22%23ffffff%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22531%22%20cy=%22424%22%20r=%221.1%22%20fill=%22%23ffffff%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22316%22%20cy=%22254%22%20r=%221.8%22%20fill=%22%23ffffff%22%20opacity=%220.24%22/%3E%3Ccircle%20cx=%2232%22%20cy=%22343%22%20r=%222.1%22%20fill=%22%23ffffff%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22505%22%20cy=%22495%22%20r=%222.6%22%20fill=%22%23ffffff%22%20opacity=%220.31%22/%3E%3Ccircle%20cx=%22219%22%20cy=%22264%22%20r=%221.7%22%20fill=%22%23ffffff%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22503%22%20cy=%22492%22%20r=%222.0%22%20fill=%22%23ffffff%22%20opacity=%220.30%22/%3E%3Ccircle%20cx=%22380%22%20cy=%22168%22%20r=%221.4%22%20fill=%22%23ffffff%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22157%22%20cy=%22158%22%20r=%221.9%22%20fill=%22%23ffffff%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22293%22%20cy=%2299%22%20r=%222.5%22%20fill=%22%23ffffff%22%20opacity=%220.20%22/%3E%3Ccircle%20cx=%22441%22%20cy=%22157%22%20r=%222.4%22%20fill=%22%23ffffff%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22523%22%20cy=%22107%22%20r=%222.8%22%20fill=%22%23ffffff%22%20opacity=%220.22%22/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 560px 560px;
}

.teinte--ecoute .tete-page + .section { padding-top: 0; }

/* La teinte de « Tarifs et réservation ». C'est la seule teinte du site qui ne
   soit pas tirée d'une image — cette page n'en a pas.

   ⚠️ Passée au VIOLET CLAIR le 23 août 2026 : #dcd0f1, soit 262° de teinte,
   55 % de saturation, 88 % de clarté. Elle pèse 1,46 contre le blanc, là où le
   rose qu'elle remplace pesait 1,65 — la page est donc un peu plus claire
   qu'avant, et les cartes de tarifs s'y détachent un peu moins (1,46 au lieu de
   1,65). Elles tiennent par leur filet et leur ombre.

   Ce violet est proche de celui d'Écoute bienveillante (#dedbf5) sans lui être
   identique : il est un cran plus dense, pour que les deux pages ne se
   confondent pas.

   ⚠️ Sur cette page, le texte est posé À MÊME LA TEINTE — le panneau blanc des
   autres pages colorées y a été retiré. C'est donc la seule où la couleur de
   fond décide directement de la lisibilité. Mesuré : l'encre du site rend
   7,5:1 dessus, et c'est la seule encre qui y serve. ⚠️ L'encre douce, elle, n'y
   tiendrait pas (3,6:1) : ne pas l'y employer sans l'assombrir.

   Historique des couleurs de cette page, le 20 août 2026 :
     #efe0b9  blé            44°  62 % 83 %, luminance 0,752 — pas assez lumineux ;
     #fbeec1  paille claire  47°  88 % 87 %, luminance 0,855 — puis jaune écarté ;
     #fadfe9  rose pâle     338°  73 % 93 %, luminance 0,790 — jugé trop clair ;
     #f1bbcf  rose soutenu  338°  66 % 84 %, luminance 0,587 — retenu.

   Le rose retenu garde la teinte exacte de `--rose-pale` (338°) et n'en change
   que la clarté : c'est le même rose, plus foncé, pas une autre couleur.

   Il est nettement plus soutenu que les teintes des pages de prestation —
   1,65:1 contre le blanc, quand les autres sont entre 1,33 et 1,36. La page
   des tarifs est donc la plus marquée du site, à sa demande. En échange, les
   cartes blanches s'y détachent beaucoup mieux qu'auparavant : 1,65 au lieu
   de 1,16 du temps du jaune.

   ⚠️ Ne pas confondre avec `--teinte` de Passage de vie (#f6d7d1, 10°), qui est
   un rose saumoné venant de son image. Celui-ci est à 338°, un vrai rose. Si
   Passage de vie réapparaît, vérifier que les deux pages ne se ressemblent pas.

   ⚠️ C'est le surtitre qui a fixé la limite du fonçage, pas le goût. Le magenta
   assombri commun aux pages teintées (#894289) tombe à 3,98:1 sur ce rose,
   sous le seuil de 4,5:1. Il est donc assombri une seconde fois pour cette
   page seulement — voir la règle qui suit. Sans cette retouche, il aurait
   fallu s'arrêter à #f6cbdb, deux crans plus clair.

   Mesuré sur ce fond : l'encre du site rend 6,7:1, le surtitre re-assombri
   4,6:1 — les deux au-dessus du seuil. */
.teinte--tarifs    { --teinte: #c5b4e4; }   /* violet soutenu */

/* Le surtitre de cette page seulement, assombri une seconde fois. `.teinte`
   passe déjà le magenta du site à #894289 pour les pages colorées ; sur ce
   rose-là, il faut aller plus loin. 4,60:1, tout juste au-dessus du seuil.

   ⚠️ Plus aucun surtitre sur cette page depuis le retrait d'« En toute clarté »
   (20 août 2026) : la règle ne s'applique donc à rien aujourd'hui. Elle est
   conservée parce que c'est ce contraste-là qui a fixé jusqu'où le rose de la
   page pouvait foncer. Corollaire : cette limite n'existe plus. Si Maryline
   veut un rose plus soutenu encore, seule l'encre du texte commande désormais,
   et elle laisse beaucoup plus de marge. */
.teinte--tarifs .surtitre { color: #7c3b7c; }

/* Le titre de cette page seulement : « Tarifs, réservation et paiement » sur
   une seule ligne, quelle que soit la largeur de l'écran.

   Ce n'est pas une taille choisie à l'œil, c'est une division. La chaîne a été
   rendue dans les quatre polices de la pile de titre et son étendue d'encre
   mesurée : 13,30 em en Iowan Old Style, 13,17 en Palatino, 13,19 en Georgia,
   11,87 en Times New Roman — l'interlettrage de -.01em des titres déduit. La
   plus large commande, soit 13,30 em, majorée de 6 % pour absorber la barre de
   défilement et une éventuelle substitution de police : 14,1.

   La taille est donc la largeur de la colonne divisée par 14,1, et non une
   valeur en rem. C'est volontaire : un `rem` suit la taille de police par
   défaut du navigateur, qui n'est pas 16 px chez tout le monde, et le titre
   repasserait sur deux lignes chez qui l'a réglée plus haut. Ici la taille
   suit la colonne, donc le rapport ne bouge jamais.

   Au maximum — colonne à 680 px — cela donne 48 px, soit 3,0 rem : moins que
   les 4,2 rem d'avant, et moins aussi que les 3,4 rem des autres pages. Le
   titre est plus long, il est donc plus petit ; c'est le prix de la ligne
   unique.

   ⚠️ Sur un téléphone, la colonne ne fait que 320 px : le titre y descend à
   23 px, à peine au-dessus du texte courant. C'est la conséquence directe de
   la ligne unique sur une chaîne de 31 signes, et non un défaut de réglage.
   Si cela ne convient pas, la seule issue est d'autoriser deux lignes en
   dessous d'une certaine largeur.

   Réglé ici et non sur `--taille-titre`, la variable commune : celle-ci règle
   aussi le titre de la bannière d'accueil et la remontée de son sous-titre
   (`--remontee-soustitre` en dépend), et l'accueil n'a pas à bouger parce que
   la page des tarifs a changé de nom. */
.teinte--tarifs .tete-page h1 {
  font-size: calc(min(680px, 100vw - 2.5rem) / 14.1);
}

/* La matière de la page des tarifs : la couleur vue à travers une glace.

   Posée du temps où le fond était jaune, conservée telle quelle sur le rose.
   ⚠️ La couche 4, blanc bleuté, avait été choisie parce que le bleu est ce qui
   fait lire « glace » plutôt que « papier ». Sur du rose, un bleu pâle peut
   tirer vers le gris là où les deux se recouvrent. À regarder : si c'est le
   cas, la remplacer par un lilas pâle plutôt que de la retirer, sinon la
   matière perd son signal de verre.

   ⚠️ Le fond ayant foncé, tous les clairs de cette matière ressortent davantage
   qu'au moment où ils ont été réglés : ce sont des blancs, et l'écart entre eux
   et le fond a doublé. Si la glace paraît maintenant trop marquée, ce sont les
   opacités des couches 2, 3, 4 et 6 qu'il faut baisser, pas les couleurs.

   Six couches empilées dans une seule déclaration, de la plus proche de l'œil
   à la plus lointaine. Aucune n'est un fichier — ce sont deux SVG écrits dans
   la feuille de style et quatre dégradés. Rien n'est téléchargé, rien à
   versionner, et la page ne pèse pas un octet de plus.

   1. le grain fin. `feTurbulence` fabrique un bruit, `feColorMatrix` lui retire
      sa couleur, posé à 6 % : c'est le dépoli, ce qui donne à la surface son
      toucher plutôt que son relief ;
   2. les stries. Des filets blancs très espacés, presque à la verticale,
      inclinés de 12° — les traînées d'un givre qui a coulé ;
   3. et 4. les clairs. Deux séries de taches, l'une blanche et l'autre d'un
      blanc bleuté, de tailles et d'espacements différents pour qu'aucune
      répétition ne se remarque. C'est la lumière qui passe au travers, et le
      bleu est ce qui fait dire « glace » plutôt que « papier » ;
   5. la nappe. Une seconde turbulence, celle-là très basse en fréquence : de
      grandes plages irrégulières, plus claires et plus sombres, sur près d'un
      mètre de tuile. C'est elle qui donne la profondeur — sans elle, les cinq
      autres couches restent à plat sur la page ;
   6. le voile du haut, qui éclaire le premier écran comme une lumière rasante.

   ⚠️ Toutes les opacités sont basses à dessein. La contrainte n'est pas
   esthétique : les cartes de tarifs sont blanches et n'ont que 1,16:1 d'écart
   avec ce fond. Chaque tache claire ajoutée grignote cet écart là où elle
   tombe. Monter ces valeurs finirait par dissoudre les cartes dans le fond.

   ⚠️ Les deux tuiles se raccordent d'elles-mêmes (`stitchTiles`), donc aucune
   couture ne se voit d'une répétition à l'autre. Les tailles de tuile — 200,
   380, 620 et 940 px — sont volontairement sans rapport simple entre elles :
   des multiples auraient fait apparaître une grille. */
.teinte--tarifs {
  /* Le fond de la page : la peinture, à nu.

     ⚠️ Le 23 août 2026, Maryline : « on ne voit pas le dessin, il faut supprimer
     la couche de violet ». Le voile de 82 % est donc parti, et avec lui les
     trois couches de la matière de glace qui l'accompagnaient — deux grandes
     taches claires et une lumière rasante. Elles étaient faites pour un aplat
     de couleur ; sur une peinture, elles la délavaient autant que le voile.

     Il ne reste que le grain fin, à 4 %, qui ne cache rien, et la peinture.

     ⚠️ CONSÉQUENCE À CONNAÎTRE : rien ne protège plus le texte. Cette page est
     l'une des deux où l'on écrit à même le fond, et la peinture descend jusqu'à
     une luminance de 0,005 dans ses ombres — presque le noir. Un texte sombre
     y serait illisible. C'est pourquoi la colonne de lecture reçoit désormais un
     panneau translucide, juste en dessous : il rend le texte lisible sans
     masquer l'image, qui reste entièrement visible dans les marges. Retirer ce
     panneau rendrait la page inutilisable. */
  background-color: var(--teinte);
  background-image:
    /* 1 — le grain fin */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='.04'/%3E%3C/svg%3E"),
    /* 2 — la peinture */
    url("../Tarifs/0595b723193f7208304df12121ea62ac.jpg");
  background-repeat: repeat, no-repeat;
  background-position: 0 0, center;
  background-size: 200px 200px, cover;
  background-attachment: scroll, fixed;
}

/* La page des tarifs renonce au panneau blanc que les pages de prestation
   posent sous leur texte, et c'est le seul endroit du site où la règle est
   défaite.

   La raison est que son contenu est déjà fait de panneaux : chaque prestation
   est une carte blanche. Les poser sur un grand panneau blanc les aurait
   effacées — blanc sur blanc, il ne serait resté qu'un liseré. Sur la couleur,
   au contraire, elles se détachent d'elles-mêmes, et la page se lit comme ce
   qu'elle est : une liste de cartes.

   ⚠️ Le sélecteur commence par `body`, et ce n'est pas décoratif : voir
   l'explication à la règle jumelle d'Écoute bienveillante, plus haut. Sans lui,
   la règle commune l'emporte et le panneau blanc reste en place. Cette page a
   vécu plusieurs jours avec un panneau qu'on croyait retiré. */
/* ⚠️ Le panneau translucide de la colonne de lecture, posé le 23 août 2026 quand
   le voile violet a été retiré du fond.

   Il n'est PAS le panneau blanc opaque des autres pages colorées : il laisse
   passer un peu moins d'un tiers de la peinture, si bien qu'on la devine sous
   le texte au lieu de la perdre. Elle reste entièrement visible dans les marges,
   à gauche et à droite de la colonne.

   Le calcul : là où la peinture est la plus sombre — luminance 0,005 mesurée
   sur ses 18 480 pixels — un panneau blanc à 72 % donne un fond composite à
   0,72 de luminance, ce qui laisse 7,2:1 à l'encre du site. Sans panneau, le
   même texte tomberait sous 1,5:1, c'est-à-dire invisible.

   ⚠️ 72 % laisse aussi les cartes de tarifs se détacher : elles sont blanches,
   et le panneau est plus sombre qu'elles de 1,26:1. Monter le panneau vers le
   blanc pur les ferait disparaître ; le descendre rendrait le texte moins sûr.
   C'est un équilibre, pas une valeur libre. */
body.teinte--tarifs .section > .etroit {
  width: min(760px, 100% - 2.5rem);
  background: rgba(255, 255, 255, .72);
  border-radius: var(--arrondi);
  padding: clamp(1.4rem, 4vw, 2.4rem);
  box-shadow: none;
}
body.teinte--tarifs .tete-page > .etroit {
  background: rgba(255, 255, 255, .72);
  border-radius: var(--arrondi);
  padding: clamp(1.2rem, 3.5vw, 2rem) clamp(1.2rem, 4vw, 2.2rem);
}

/* Le bandeau de tête abandonne son rose très pâle, qui serait plus clair que
   la page et donnerait un rectangle blanchâtre posé sur la couleur. Il se
   fond dans la teinte, et le trait de séparation n'a plus lieu d'être. */
.teinte .tete-page {
  background: transparent;
  border-bottom: 0;
}

/* Deux encres ne tiennent pas le contraste une fois posées sur la teinte :
   le chapô, en encre douce, tombe à 4,2:1 et le surtitre magenta à 2,6:1,
   sous le seuil de 4,5:1. Sur ces pages seulement, le chapô passe donc à
   l'encre pleine — 8:1 au minimum — et le magenta est assombri de 30 %,
   ce qui lui rend 4,7:1 sur la plus soutenue des quatre teintes. */
.teinte .chapo    { color: var(--encre); }
.teinte .surtitre { color: #894289; }

/* Le panneau blanc qui porte le texte. Il est plus large que la colonne
   habituelle (760 px au lieu de 680) précisément de ce que lui coûtent ses
   marges intérieures : la longueur de ligne reste donc celle des autres
   pages, seul le fond change. */
.teinte .section > .etroit {
  width: min(760px, 100% - 2.5rem);
  background: var(--blanc);
  border-radius: var(--arrondi);
  padding: clamp(1.5rem, 5vw, 3rem);
  box-shadow: var(--ombre-douce);
}

/* Contact défunt tranche avec les trois autres : sa page est sombre et non
   pastel. Le panneau blanc du texte s'y détache très franchement — mais tout
   ce qui reste posé à même la couleur doit passer en clair, sinon il
   disparaît : l'encre du site est sombre, et sombre sur sombre ne se lit pas.
   Ces trois lignes ne sont donc pas décoratives, elles sont la condition pour
   que le bandeau de tête reste lisible.

   La teinte est prise dans l'image de la page, comme sur Guidance et sur
   Nettoyage énergétique. Le bandeau paraît en noir et blanc, mais il ne l'est
   pas : il porte une dominante froide très régulière, mesurée à 210° de teinte
   (208° au premier quartile, 213° au troisième). C'est sa seule couleur, donc
   la seule qu'on pouvait lui emprunter.

   Elle a été posée à la luminance exacte du violet qui la précédait — 0,0498
   contre 0,0489 — pour ne rien changer à la profondeur que Maryline avait
   réglée. Ce violet, lui, ne venait pas de l'image : il était relevé sur une
   photo de drap qu'elle avait envoyée (médiane du tissu #713a81, assombrie de
   22 % à sa demande), et il est conservé ici au cas où elle voudrait y revenir.

   ⚠️ Éclairci le 21 août 2026 à la demande de Maryline : #2b4157 → #3a5670,
   même teinte (210° → 209°), luminance portée de 0,050 à 0,087. Le bleu nuit
   d'origine est gardé ici pour pouvoir y revenir.

   Mesuré sur ce bleu éclairci : le blanc du titre rend 7,7:1, le violet pâle
   du chapô 5,9:1, la pêche du surtitre 4,9:1 — contre 10,5, 8,1 et 6,7 avant.
   Les trois restent largement au-dessus de leur seuil, mais c'est cette pêche
   qui fixe la limite si la page devait être éclaircie davantage. Si la teinte
   est reprise, ces trois valeurs sont à recalculer, tout est lié. */
/* Le chapô en cursive vient au contact du panneau de texte — demandé le
   24 août 2026.

   ⚠️ L'espace ne venait pas du chapô mais de ses deux voisins, comme partout
   ailleurs sur ce site : le bandeau de titre posait jusqu'à 4 rem sous son
   contenu, et la section suivante jusqu'à 6 rem au-dessus de son panneau blanc.
   Dix rem cumulés. Réduire un seul des deux n'aurait donné que la moitié du
   résultat.

   Il en reste un peu plus de deux : le panneau blanc ne doit pas toucher la
   phrase, il doit la suivre. Zéro les collerait. */
.teinte--defunt .tete-page            { padding-bottom: clamp(.6rem, 2vw, 1.1rem); }
.teinte--defunt .tete-page + .section { padding-top: clamp(.7rem, 2.2vw, 1.2rem); }

/* Les cinq titres de section de Contact défunt : même taille, et le bleu de la
   page — demandé le 24 août 2026.

   ⚠️ LA TAILLE RETENUE EST LA PLUS PETITE, celle du titre long. L'inverse était
   impossible : ce titre-là fait 113 signes, et à la taille commune des titres
   (2,3 rem) il occupait trois lignes pleines — ce que Maryline venait de faire
   corriger. Uniformiser vers le haut aurait défait la demande précédente. La
   règle `.titre--long` devient donc sans objet sur cette page ; elle est
   conservée, elle resservira ailleurs.

   ⚠️ LA COULEUR EST CELLE DU SOUS-TITRE DE L'EN-TÊTE — « Empathie, bienveillance
   et médiumnité », sous son nom. Un bleu avait été posé d'abord, celui du fond
   de la page ; elle a préféré ce rose. C'est aussi ce qui rattache la page au
   reste du site plutôt qu'à sa seule teinte.

   ⚠️ La valeur est écrite en dur et NON reprise de `.marque__role`. Les deux
   doivent rester égales : si le rose de l'en-tête change, celui-ci est à changer
   aussi. Une variable de palette serait plus sûre, mais ce rose n'en fait pas
   partie — il a été construit sur mesure pour tenir sur les deux fonds
   d'en-tête, crème et vert.

   Les titres sont sur le panneau BLANC du texte, pas sur le fond : mesuré,
   5,68:1. */
/* Deux mentions pratiques au bas de Contact défunt : la durée d'une séance, et
   l'engagement de ne pas faire payer sans connexion.

   ⚠️ Elles ne sont plus de la même couleur ni de la même police depuis le
   24 août 2026. La durée est passée au BLEU VIF et au serif des titres, à la
   demande de Maryline ; l'engagement garde le rouge et la police du texte.

   C'est heureux : les deux disaient la même chose visuellement alors qu'elles ne
   sont pas de même nature. La durée informe, l'engagement promet. Le rouge —
   #c62828, le seul du site, celui de « via Zoom » sur l'accueil — convient au
   second et pas au premier.

   Mesuré sur le panneau blanc : le bleu rend 5,3:1, le rouge 5,6:1. */
.mention-duree {
  margin-top: 1.6rem;
  font-family: var(--titre);
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  color: #1668d4;
}
.mention-duree + .mention-duree { margin-top: .5rem; }

/* L'engagement, qui garde le rouge et reprend la police du texte courant : les
   capitales d'un serif sont plus lourdes que celles d'un sans, et cinq mots en
   capitales serif feraient une inscription lapidaire.

   ⚠️ Les capitales sont réservées aux textes TRÈS COURTS. Celui-ci fait cinq
   mots. Au-delà, elles deviennent pénibles : l'œil lit la forme des mots, et les
   capitales la lui retirent. */
/* ⚠️ Réduit le 24 août 2026 : de 1,2 à 0,95 rem, soit plus petit que le texte
   courant. L'engagement était la ligne la plus grosse de la page ; il est
   maintenant la plus discrète, et c'est ce qui a été demandé.

   Les capitales le sauvent : à cette taille, en bas de casse, il passerait
   inaperçu. L'interlettrage est ouvert d'un cran de plus pour la même raison —
   des capitales serrées et petites deviennent illisibles. */
.mention-duree--forte {
  font-family: var(--texte);
  font-size: .95rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #c62828;
}

.teinte--defunt .section h2 {
  font-size: clamp(1.1rem, 2.6vw, 1.25rem);
  line-height: 1.35;
  color: #c11f70;
}

.teinte--defunt .tete-page h1 { color: var(--blanc); }

/* ⚠️ Une ombre portée sur les textes clairs de cette page, depuis le 24 août
   2026. Ce n'est pas un effet : c'est ce qui rend le nouveau décor sûr.

   Les fleurs sont blanches, et environ 2 % de la surface du fond est désormais
   assez claire pour avaler du texte blanc — mesuré sur la tuile rendue. Deux
   pour cent, c'est peu, mais le titre et le chapô occupent une large bande et
   la tuile se répète : une fleur finira par tomber derrière une lettre. Là où
   elle tombe, le contraste vaut 1:1.

   L'ombre est la piste retenue par le projet pour ce genre de cas — c'est déjà
   elle qui protège le titre de la bannière d'accueil sur la vidéo, plutôt qu'un
   voile posé sur toute la surface. Elle ne se voit pas sur le bleu et ne coûte
   rien à la lecture.

   ⚠️ Ne PAS remplacer par un voile derrière le texte SUR TOUTE LA PAGE : le
   décor disparaîtrait justement là où on le regarde. Une exception, une seule,
   pour le chapô cursif — voir plus bas, elle l'a demandée. */
.teinte--defunt .tete-page h1,
.teinte--defunt .chapo,
.teinte--defunt .chapo--large,
.teinte--defunt .surtitre {
  text-shadow: 0 1px 6px rgba(9, 24, 40, .55), 0 0 2px rgba(9, 24, 40, .45);
}
.teinte--defunt .chapo        { color: var(--violet-pale); }
/* La phrase en cursive passe au blanc franc : le violet pâle convient à une
   ligne de texte courant, il est trop discret pour une écriture manuscrite dont
   les déliés sont fins. Mesuré : 7,6:1 sur le gris de la page en attente, 7,7:1
   sur le bleu nuit qu'elle retrouvera. */
.teinte--defunt .chapo--large { color: var(--blanc); }

/* ⚠️ LE VOILE SOUS LE CHAPÔ A ÉTÉ RETIRÉ le 24 août 2026, à sa demande, le
   lendemain du jour où elle l'avait demandé. Il avait été posé pour une raison
   qui n'existe plus : la cursive blanche se lisait mal sur le décor. Le décor
   étant parti, elle se pose maintenant sur un aplat, où elle donne 7,7:1 —
   largement au-dessus des 4,5 exigés, et 4,8:1 même sous le plus fort des deux
   voiles de lumière. Rien ne la protège plus, rien n'a plus à la protéger.

   ⚠️ Si un décor revient un jour sur cette page, cette question revient avec
   lui : c'est la seule écriture du site posée à nu, en cursive fine et en
   blanc. Le voile valait `rgba(23, 58, 88, .42)`, avec un rembourrage de
   `clamp(.9rem, 2.6vw, 1.4rem)` et l'arrondi du site.

   L'OMBRE PORTÉE, elle, reste — mais elle est portée par la règle commune aux
   textes clairs de la page, plus haut, et non par celle-ci. */
/* Le surtitre grossit fortement sur cette page — de 12,5 à 21,6 px, soit
   sept dixièmes de plus. Il n'y est plus une mention discrète au-dessus d'un
   grand titre : le titre est passé dans l'image, et « Séance individuelle »
   est devenu le premier texte que l'œil rencontre en dessous.

   À 21,6 px et en graisse 600, il franchit le seuil du « grand texte » : le
   contraste exigé tombe de 4,5:1 à 3:1, et la pêche en donne 5,1 sur le
   violet. La marge est donc large, y compris si la teinte est reprise. */
/* Le surtitre de Contact défunt : violet et à la taille commune du site, à sa
   demande. Il était en pêche et grossi à 1,35 rem — soit près du double des
   0,78 rem des autres pages — parce qu'il venait SOUS l'image et devait tenir
   tout seul. Il est maintenant au-dessus d'elle, à sa place ordinaire, et n'a
   plus besoin de crier.

   Le violet est éclairci jusqu'à porter sur le bleu nuit : mesuré à 5,0:1. Les
   violets de la palette n'y suffisent pas — `--violet` rend 1,65:1 sur ce
   fond, et `--violet-pale` tire trop vers le blanc pour se lire comme violet. */
.teinte--defunt .surtitre { color: #d3cdf0; }

/* --------------------------------------------------------------------------
   10. Section « qui suis-je »
   -------------------------------------------------------------------------- */

.presentation {
  display: grid;
  gap: 2.2rem;
  align-items: center;
}

@media (min-width: 860px) {
  .presentation { grid-template-columns: 5fr 7fr; gap: 3.5rem; }
}

/* Le portrait est un détourage : le fichier PNG ne contient que Maryline,
   près d'un tiers de sa surface est transparent. Il lui faut donc un fond,
   sans quoi elle flotte sur la teinte de la section et l'ombre portée dessine
   un rectangle autour de rien.

   Ce fond est un dégradé orangé, pris dans la famille de l'abricot du logo :
   clair en haut, plus soutenu en bas pour asseoir la silhouette.

   ⚠️ Accentué le 23 août 2026, à la demande de Maryline. Les trois arrêts ont
   perdu entre cinq et onze points de clarté et gagné en saturation, à teinte
   presque égale :

     #fdeadb → #fde0c4   (93 % → 88 % de clarté)
     --peche → #f5b47e   (80 % → 73 %)
     #e9a578 → #e08a4a   (69 % → 58 %)

   ⚠️ L'arrêt du milieu n'est PLUS `var(--peche)`. Il était le seul lien entre ce
   dégradé et la palette de l'ange ; il est maintenant une valeur en dur, comme
   les deux autres. Si la palette change un jour, ce dégradé ne suivra plus tout
   seul — c'est le prix de l'accentuation, la pêche du jeton étant trop douce
   pour l'effet demandé.

   Rien n'est écrit sur ce dégradé : c'est un fond de photographie détourée,
   donc aucun contraste à respecter. Le vert sombre de la robe s'y détache très
   franchement, ce qui est d'ailleurs ce que l'accentuation renforce.

   `contain` et non `cover` : sur un détourage, recadrer revient à couper la
   personne. Cadrée par la hauteur et calée en bas, la silhouette est entière
   et repose sur le bord du panneau ; le rembourrage du haut lui évite de
   toucher l'arrondi. */
.presentation__portrait {
  border-radius: var(--arrondi);
  box-shadow: var(--ombre-levee);
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  object-position: center bottom;
  padding-top: 7%;
  background: linear-gradient(168deg,
              #fde0c4 0%,
              #f5b47e 58%,
              #e08a4a 100%);
}

/* --------------------------------------------------------------------------
   11. Listes d'engagements et de repères
   -------------------------------------------------------------------------- */

.reperes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.reperes li {
  position: relative;
  padding-left: 1.9rem;
  color: var(--encre-doux);
}
.reperes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .62em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--degrade);
}

/* Une liste à repères sans ses puces.

   ⚠️ Le retrait du disque et celui du retrait de gauche vont ENSEMBLE. Garder
   `padding-left: 1.9rem` sans la puce décalerait le texte de deux centimètres
   sans raison visible — on verrait une liste mal alignée, pas une liste sans
   puces. */
/* ⚠️ SANS AUCUN USAGE depuis le 24 août 2026 : la seule liste qui la portait,
   sur Contact défunt, est devenue un paragraphe (`.repere-seul`). Les deux
   règles restent parce que la demande d'origine — une liste de repères sans
   puces — peut revenir, et qu'elles ne coûtent rien tant que personne ne pose
   la classe. À retirer si le besoin ne réapparaît pas. */
.reperes--sans-puce li { padding-left: 0; }
.reperes--sans-puce li::before { content: none; }
.reperes strong { color: var(--encre); font-weight: 600; }

/* Le repère devenu seul, sur Contact défunt : son titre centré, sa phrase en
   dessous. Demandé le 24 août 2026.

   Le `<strong>` passe en `display: block` — c'est ce qui met la phrase à la
   ligne, sans ajouter de balise. Il prend la police des titres et 1,15 rem,
   assez pour se lire comme un titre, pas assez pour concurrencer les vrais h2
   de la page, qui plafonnent à 1,25 rem.

   ⚠️ Il garde l'encre du texte (`--encre`) et NON le rose des h2 (#c11f70).
   S'il prenait cette couleur, il deviendrait indiscernable d'un titre de
   section — or il n'en est pas un, et le plan du document ne le compte pas. */
/* L'encart des engagements, en bas de Contact défunt : ce qu'elle ne promet
   pas, réuni en une boîte. Demandé le 24 août 2026.

   ⚠️ LE ROSE N'EST PAS UN CAPRICE. L'encart d'avertissement le suit à trois
   lignes d'écart et il est bleu-gris ; deux boîtes de même teinte si proches se
   liraient comme une seule chose coupée en deux. #fdf4f1 est le `--fond-creux`
   du site, donc rien de nouveau dans la palette — mais il est écrit en clair et
   non pris dans la variable, parce que plusieurs pages redéfinissent
   `--fond-creux` pour leur propre teinte et que celle-ci pourrait suivre un
   jour sans qu'on l'ait voulu.

   Contrastes mesurés sur ce rose : l'encre des titres 10,2:1, l'encre douce
   4,9:1, le rouge de l'engagement 5,2:1. Tous au-dessus de 4,5.

   ⚠️ Les deux paragraphes ne sont plus enfants directs d'`.etroit` : la règle
   de justification qui les visait ne les atteint plus, et leur centrage tient
   désormais tout seul. C'est un effet de bord heureux du regroupement, pas un
   réglage — ne pas s'y fier si la structure change. */
.encart-engagement {
  margin-top: clamp(1.6rem, 4vw, 2.2rem);
  padding: clamp(1.1rem, 3.2vw, 1.7rem) clamp(1.1rem, 3vw, 1.6rem);
  border: 1px solid rgba(198, 40, 40, .18);
  border-radius: var(--arrondi-doux);
  background: #fdf4f1;
}

/* Le premier et le dernier enfant collent aux bords de la boîte si on leur
   laisse leurs marges : elles étaient calculées pour des paragraphes libres. */
.encart-engagement > :first-child { margin-top: 0; }
.encart-engagement > :last-child  { margin-bottom: 0; }

.repere-seul {
  margin-top: 1.6rem;
  text-align: center;
  color: var(--encre-doux);
}

.repere-seul strong {
  display: block;
  margin-bottom: .3rem;
  font-family: var(--titre);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--encre);
}

/* L'avertissement de fin de page, sur Contact défunt. Remis le 24 août 2026 à
   sa demande — voir le commentaire du HTML, qui dit pourquoi il compte.

   ⚠️ ENCART depuis le 24 août 2026, à sa demande — « pour détacher du reste ».
   C'était un simple paragraphe sous un filet ; c'est maintenant une boîte, avec
   son fond, son contour et son propre rembourrage.

   Le fond (#f2f5f8) est le bleu nuit de la page ramené tout en haut de l'échelle
   des clartés : le même bleu que la teinte, à 96 % de blanc. La boîte se
   distingue donc du panneau blanc sans introduire de couleur nouvelle. Le
   contour reprend cette teinte, à peine plus dense.

   ⚠️ L'encre est passée de `--encre-doux` (#6f6885) à #5a5370 EN MÊME TEMPS que
   le fond. C'est obligatoire, pas cosmétique : #6f6885 valait 5,26:1 sur le
   blanc, mais seulement 4,80:1 sur ce fond-là, à 0,9 rem. #5a5370 remonte à
   6,60:1. Toute retouche du fond doit refaire ce calcul.

   ⚠️ Ne pas descendre sous 0,9 rem — en dessous, c'est une mention qu'on écrit
   pour ne pas être lue. Et ne pas donner d'ombre à cette boîte : les encarts qui
   portent une ombre sur ce site sont ceux sur lesquels on clique. */
.avertissement-sante {
  max-width: 52ch;
  margin: clamp(2rem, 4.5vw, 2.75rem) auto 0;
  padding: clamp(1rem, 3vw, 1.35rem) clamp(1.1rem, 3.5vw, 1.6rem);
  border: 1px solid rgba(58, 86, 112, .22);
  border-radius: var(--arrondi-doux);
  background: #f2f5f8;
  text-align: center;
  font-size: .9rem;
  line-height: 1.6;
  color: #5a5370;
}

/* --------------------------------------------------------------------------
   12. Tableau des tarifs
   -------------------------------------------------------------------------- */

.tarifs {
  display: grid;
  gap: 1.2rem;
}

.tarif {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem 1rem;
  padding: 1.4rem 1.6rem;
  background: var(--blanc);
  border: 1px solid var(--trait);
  border-radius: var(--arrondi-doux);
  box-shadow: var(--ombre-douce);
}
/* Tout l'écrit de la page Tarifs a été grossi le 20 août 2026, à la demande de
   Maryline : le nom, le prix, la durée, l'engagement, et les panneaux de
   formules plus bas. Les six tailles ont bougé du même cinquième environ, pour
   que le rapport entre elles reste celui d'avant. */
/* Le nom de la prestation devait ressortir davantage. Trois choses s'ajoutent
   à sa taille, sans lui donner de couleur :

   1. la graisse. Il était en romain ordinaire, comme le texte courant ;
   2. un filet dégradé posé sous le mot, exactement à la largeur du mot — c'est
      un fond, pas une bordure, ce qui lui évite de s'étendre à toute la ligne ;
   3. de l'air en dessous, pour que le filet ne colle pas aux lettres.

   Pourquoi pas de couleur : le prix porte déjà le dégradé en plein, et deux
   objets colorés sur la même ligne se seraient disputé le regard. Le nom garde
   donc l'encre du site, et c'est le filet qui le signale. */
.tarif__nom {
  font-family: var(--titre);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.25;
  flex: 1 1 auto;
  padding-bottom: .45rem;
  background-image: var(--degrade);
  background-size: 100% 3px;
  background-repeat: no-repeat;
  background-position: 0 100%;
}

/* La ligne d'engagement, sous le prix. Une seule prestation en porte une à ce
   jour — « si je ne capte rien, je ne fais pas payer », sur le contact défunt.

   Elle est mise à part plutôt qu'ajoutée à la durée : ce n'est pas une
   précision sur la séance, c'est une promesse sur le paiement, et elle doit se
   lire comme telle. D'où le fond creux, le filet dégradé qui l'ouvre, et la
   ligne à elle seule.

   Sobre à dessein : ni couleur vive ni pictogramme. La phrase se suffit, et
   l'entourer de signes la ferait passer pour un argument de vente. */
.tarif__note {
  flex: 1 0 100%;
  margin: .3rem 0 0;
  padding: .8rem 1rem;
  /* Le rose est un repli : si `border-image` n'est pas appliqué, le filet reste
     visible au lieu de disparaître — ce qu'un `transparent` aurait donné. */
  border-left: 3px solid var(--rose);
  border-image: var(--degrade) 1;
  background: var(--fond-creux);
  font-size: 1.08rem;
  color: var(--encre);
}
.tarif__duree { font-size: 1.02rem; color: var(--encre-tres-doux); flex: 1 0 100%; }
.tarif__prix {
  font-size: 1.65rem;
  font-weight: 600;
  background: var(--degrade);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Une prestation qui se décline en plusieurs formules.

   « Écoute bienveillante » a trois durées, donc trois prix. Les poser en trois
   lignes ordinaires les aurait fait passer pour trois prestations différentes ;
   elles sont donc rassemblées sous un seul nom, en trois panneaux côte à côte.

   Deux prestations en ont, et chacune sa série de trois couleurs — c'est ce qui
   les distingue au premier coup d'œil quand on descend la page :

     Écoute bienveillante  pêche → rose → violet   (le dégradé de l'ange)
     Guidance/Voyance      ciel → eau → magenta    (le bleu de sa propre page)

   La première série suit les arrêts du dégradé de l'ange, dans leur ordre. La
   seconde part du bleu ciel qui sert déjà de fond à la page Guidance, et rejoint
   le magenta de la palette. Dans les deux cas le prix monte pendant que la série
   avance : la couleur dit la durée avant même qu'on lise le chiffre.

   ⚠️ Le vert d'eau du milieu est la seule teinte de tout le site qui ne vienne
   ni de la palette ni d'une image. Il a été ajouté faute de troisième couleur
   disponible entre le bleu et le magenta — les parmes et les roses étaient déjà
   pris par la première série. C'est le premier candidat à changer si l'ensemble
   paraît trop bariolé.

   Contrastes mesurés, chacun sur son propre fond pâle : les prix vont de 4,8:1
   à 5,6:1, les durées dépassent 8:1 partout. Tous au-dessus du seuil de 4,5:1,
   y compris pour le petit texte — donc lisibles sans compter sur la couleur
   seule, ce qui compte : six panneaux pastel de luminosité voisine ne se
   distinguent que par la teinte, et tout le monde ne la voit pas.

   ⚠️ Les teintes de prix sont des valeurs assombries, écrites en dur : les
   variables de la palette (`--peche`, `--rose`) sont trop claires pour porter
   du texte, mesurées à 1,3:1 et 1,9:1. Ne pas les remplacer par les variables.

   En dessous de 520 px, les trois panneaux s'empilent : côte à côte, chacun
   n'aurait qu'un tiers d'un écran de téléphone. */
.formules {
  flex: 1 0 100%;
  display: grid;
  gap: .8rem;
  grid-template-columns: 1fr;
  margin-top: .4rem;
}
@media (min-width: 520px) {
  .formules { grid-template-columns: repeat(3, 1fr); }

  /* Une prestation qui n'a plus qu'une formule — l'écoute bienveillante depuis
     le 30 août 2026. Sans cette règle, le panneau hériterait de la grille à
     trois colonnes : il en occuperait une, et laisserait deux vides à sa droite.

     La colonne est donc bornée en largeur plutôt qu'en fraction : le panneau
     garde la taille d'un panneau, aligné à gauche sous le nom de la prestation,
     au lieu de s'étirer en bandeau sur toute la ligne.

     ⚠️ Élargi deux fois le 30 août 2026, à sa demande : 13 rem, puis 20, puis
     28. C'est la seule valeur à toucher si l'équilibre avec les trois panneaux
     de la guidance, juste en dessous, doit être repris.

     ⚠️ La borne reste, et il faut qu'elle reste : la colonne de lecture fait
     680 px, soit environ 42 rem. Sans limite, le panneau s'étirerait sur toute
     cette largeur et ne ressemblerait plus à un tarif mais à un bandeau. À 28
     rem il en occupe les deux tiers. */
  .formules--une { grid-template-columns: minmax(0, 28rem); }
}

.formule {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  padding: 1.15rem .9rem 1rem;
  border-radius: var(--arrondi-doux);
  text-align: center;
}

/* Le filet de couleur qui barre le haut de chaque panneau, comme le cartouche
   de titre de l'accueil est barré du dégradé complet. */
.formule::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
}

.formule__duree {
  font-size: 1.06rem;
  letter-spacing: .04em;
  color: var(--encre);
}
.formule__prix {
  font-family: var(--titre);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

/* Série 1 — Écoute bienveillante. Les modificateurs portent le nom de la
   couleur et non celui de la durée : deux prestations ont désormais trois
   formules chacune, « courte » ne désignerait plus rien d'unique. */
.formule--peche  { background: var(--peche-pale); }
.formule--peche::before { background: var(--peche); }
.formule--peche .formule__prix { color: #944a12; }   /* 5,3:1 */

.formule--rose   { background: var(--rose-pale); }
.formule--rose::before { background: var(--rose); }
.formule--rose .formule__prix { color: #ab3a67; }    /* 4,8:1 */

.formule--violet { background: var(--violet-pale); }
.formule--violet::before { background: var(--violet); }
.formule--violet .formule__prix { color: #5b4fbe; }  /* 4,9:1 */

/* Série 2 — Guidance/Voyance. */
.formule--ciel   { background: #dbe9f5; }
.formule--ciel::before { background: #8fbcdd; }
.formule--ciel .formule__prix { color: #1f5f8c; }    /* 5,5:1 */

.formule--eau    { background: #dcece6; }
.formule--eau::before { background: #79bfa8; }
.formule--eau .formule__prix { color: #1a6e54; }     /* 5,1:1 */

.formule--magenta { background: #f3ddf3; }
.formule--magenta::before { background: var(--magenta); }
.formule--magenta .formule__prix { color: #8d2f8d; } /* 5,6:1 */

/* ⚠️ Le bandeau de titre portait un décor — un bouquet de pissenlits — retiré
   le 23 août 2026. Trois règles existaient pour lui et sont parties avec :
   `.pissenlits`, `.pissenlits__dessin`, et l'`overflow: hidden` avec le
   `z-index` qui maintenaient le titre au-dessus du dessin. Le bandeau n'a donc
   plus rien de particulier sur cette page, sinon la taille de son titre.

   ⚠️ Une hauteur minimale y avait été essayée puis retirée, du temps du décor :
   elle donnait une bande bien plus haute que le texte. Ne pas la remettre. */

/* La section des tarifs reprend un peu d'air sous le bandeau, mais pas les
   6 rem d'origine : la page doit rester compacte. */
.teinte--tarifs .tete-page + .section { padding-top: clamp(1.75rem, 4.5vw, 2.75rem); }


/* Une phrase qu'on veut voir avant les autres, sans en faire un titre.

   Demandée sur Guidance pour dire ce qu'on peut aborder selon la durée. Elle
   n'est ni un titre — elle ne structure pas la page, un lecteur d'écran ne doit
   pas l'annoncer comme tel — ni un encadré d'appel au contact. C'est un
   paragraphe qui parle plus fort.

   Trois choses le distinguent du texte courant : le corps, plus grand d'un
   tiers ; la couleur, un rose soutenu ; et un fond rose très pâle barré à
   gauche du dégradé de l'ange, qui le détache du panneau blanc.

   ⚠️ Le rose est #ad3363 et non `--rose` ni `--magenta`. Ces deux-là sont des
   couleurs d'aplat, pas d'écriture : mesurés sur blanc, ils rendent 2,35:1 et
   3,63:1, tous deux sous le seuil de 4,5:1. Celui-ci rend 6,1:1 sur le blanc et
   5,4:1 sur son propre fond rose. Ne pas les remplacer par les variables. */
.attention {
  --attention-fond: #fce7ee;
  --attention-encre: #ad3363;
  /* ⚠️ Réduit le 23 août 2026, à la demande de Maryline, comme l'a été le bloc
     violet juste avant : de 1,45 à 1,2 rem au maximum. Les deux mises en avant
     de la page gardent ainsi le même rapport entre elles — celle des durées
     reste d'un cheveu plus discrète que celle des conseils, ce qui est l'ordre
     dans lequel on les lit. */
  --attention-corps: clamp(1rem, 2.1vw, 1.2rem);
  margin-block: clamp(1.75rem, 4vw, 2.5rem);
  padding: clamp(1.1rem, 3vw, 1.6rem) clamp(1.1rem, 3vw, 1.75rem);
  border-left: 3px solid var(--rose);
  border-image: var(--degrade) 1;
  border-radius: 0 var(--arrondi-doux) var(--arrondi-doux) 0;
  background: var(--attention-fond);
  color: var(--attention-encre);
  /* Le serif des titres, alors que tout le texte courant du site est en sans.
     C'est le changement de police qui sépare ces phrases du reste, autant que
     leur taille et leur couleur — l'œil voit le dessin des lettres avant de
     lire ce qu'elles disent.

     Le site n'a que deux voix : ce serif, et la cursive Dancing Script réservée
     au sous-titre de la bannière et à la citation. La cursive ressortirait
     davantage, mais elle ne tient pas sur plusieurs phrases d'instructions
     pratiques : elle est faite pour trois mots, pas pour un paragraphe.

     ⚠️ Un serif paraît un peu plus gros qu'un sans à taille égale. Si ces blocs
     semblent avoir grandi, c'est cela, et non un changement de corps. */
  font-family: var(--titre);
  font-size: var(--attention-corps);
  line-height: 1.55;
}

/* Une seconde mise en avant, sur la même page que la première. Elle doit s'en
   distinguer sans la contredire : même forme, autre couleur, un cran plus
   grosse. D'où les trois variables ci-dessus, qui sont tout ce qu'une variante
   a besoin de redéfinir.

   Le violet est #6255c6 et non `--violet` (#7166d2). Le jeton de la palette
   passe tout juste sur le blanc — 4,63:1 — mais tombe à 3,88:1 sur ce fond
   violet pâle, sous le seuil. Celui-ci rend 5,8:1 sur blanc et 4,8:1 sur son
   propre fond.

   ⚠️ Deux blocs de ce genre sur une page est un maximum. Au troisième, plus
   rien ne ressort : tout est mis en avant, donc rien ne l'est.

   ⚠️ `.attention` s'emploie sur un `<p>` quand la mise en avant tient en un
   bloc, sur un `<div>` contenant des `<p>` quand elle est coupée en plusieurs.
   Les deux marchent : aucune de ses règles ne dépend de la balise. */
/* Le titre d'une mise en avant. Un vrai `<h3>` : il coiffe une liste, il
   structure la page, et un lecteur d'écran doit pouvoir s'y rendre. Ce qui ne
   contredit pas ce qui est dit plus haut — c'est le PARAGRAPHE mis en avant qui
   ne doit pas devenir un titre ; celui-ci en est un pour de bon.

   Taille en `em` et non en rem : elle se règle sur le corps du bloc, qui n'est
   pas le même en rose et en violet. Il reste un peu plus grand que les phrases
   qu'il annonce, et il prend la couleur du bloc par héritage.

   ⚠️ CETTE RÈGLE A ÉTÉ PERDUE PUIS REMISE le 23 août 2026. En retirant les
   puces de la liste, la suppression a emporté le bloc voisin sans qu'on s'en
   aperçoive : le titre s'est retrouvé sans soulignement ni taille propre, et
   c'est Maryline qui l'a vu. Leçon : supprimer un bloc de style par sa borne
   de fin, c'est risquer d'emporter ce qui s'est glissé entre-temps. */
.attention__titre {
  margin: 0 0 .7em;
  font-size: 1.05em;
  font-weight: 600;
  line-height: 1.3;
  color: inherit;

  /* Souligné. Un vrai soulignement de texte, et non un filet posé sous le bloc :
     il suit les mots, donc il s'arrête où le titre s'arrête, et il se replie
     avec lui quand la place manque. Un `border-bottom` aurait tracé une ligne
     d'un bord à l'autre de l'encadré, ce qui aurait fait séparateur et non
     soulignement.

     Épaisseur et écart sont en `em` pour suivre le corps du titre, qui n'est
     pas le même dans les deux couleurs de bloc. L'écart évite que le trait ne
     coupe les jambages des p, des j et des q. */
  text-decoration: underline;
  text-decoration-thickness: .05em;
  text-underline-offset: .22em;
}

/* Les phrases d'une mise en avant, une par ligne.

   ⚠️ Elles ont porté une PUCE — un disque plein en `currentColor` — retirée le
   23 août 2026 à la demande de Maryline. Le retrait n'est pas seulement
   cosmétique : le retrait de gauche (`padding-left`) et le disque en `::before`
   allaient ensemble, et laisser l'un sans l'autre aurait décalé le texte sans
   raison visible.

   La liste reste une VRAIE liste dans le HTML, sans marqueur affiché : un
   lecteur d'écran continue d'annoncer « deux éléments », ce qui est exact. */
.attention__liste {
  list-style: none;
  margin: 0;
  padding: 0;
}
.attention__liste li {
  margin-bottom: 1.15em;
}
.attention__liste li:last-child { margin-bottom: 0; }

/* ⚠️ Le corps a été réduit le 23 août 2026 — « diminuer la taille de la police
   pour que le bloc prenne moins de place ». Il passe de 1,7 à 1,25 rem au
   maximum, soit un quart de moins. Avec la phrase supprimée et les puces
   retirées, le bloc occupe environ deux fois moins de hauteur qu'avant.

   Il reste plus grand que le texte courant, ce qui est le but : c'est une mise
   en avant. Le titre suit, puisqu'il est dimensionné en `em` sur ce corps. */
.attention--violet {
  --attention-fond: #ece9f9;
  --attention-encre: #6255c6;
  --attention-corps: clamp(1.05rem, 2.2vw, 1.25rem);
}

/* Une précision qu'on veut voir d'un coup d'œil, centrée sur la page.

   Employée sur Guidance pour dire la forme de la séance. Elle n'entre pas dans
   la famille `.attention` juste au-dessus, et volontairement : celle-ci pose un
   panneau coloré, aligné à gauche, pour du texte suivi. Ici il s'agit d'une
   ligne seule, sans fond ni encadrement, posée au milieu de la colonne — ce
   n'est pas le même objet, et deux blocs `.attention` sur cette page suffisent
   déjà.

   Le bleu est celui de la page : #1f5f8c est le bleu ciel de Guidance
   (`--teinte: #cfe2f0`) descendu jusqu'à porter du texte. Mesuré à 6,8:1 sur
   le panneau blanc et 5,1:1 sur la teinte de la page, donc lisible aux deux
   endroits si elle devait servir hors du panneau.

   Serif comme les autres mises en avant : sur cette page, tout ce qui doit
   ressortir change de police, pas seulement de couleur. */
.precision {
  margin-block: clamp(1.75rem, 4vw, 2.5rem);
  text-align: center;
  font-family: var(--titre);
  font-size: clamp(1.25rem, 2.8vw, 1.55rem);
  line-height: 1.4;
  color: var(--precision-encre, #1f5f8c);
}

/* La même précision sur Écoute bienveillante, dans le violet de sa page.
   Le principe est le même que pour le bleu de Guidance : la teinte du fond
   (#dedbf5) descendue jusqu'à porter du texte.

   ⚠️ Elle a suivi deux fois. Assombrie le 23 août quand le panneau blanc a été
   retiré — elle valait #6255c6, mesurée sur du blanc, et tombait à 4,28:1 posée
   à même la teinte. Puis retournée au bleu le 24, avec la page, et conservée
   telle quelle quand celle-ci a foncé : #2d4090 rend 8,1:1 sur le voile du texte
   et 5,2:1 à nu sur la teinte — plus juste qu'avant, mais au-dessus du seuil.

   ⚠️ La classe s'appelle encore `--violet` et ne l'est plus. Elle n'a pas été
   renommée pour ne pas disperser la modification dans le HTML. C'est exactement
   le genre de règle qu'un changement de fond casse en silence. */
.precision--violet { --precision-encre: #2d4090; }

/* La même précision sur Contact défunt. Sa page est la seule sombre du site
   (`--teinte: #2b4157`), et sa teinte pourrait donc porter du texte telle
   quelle — 10,5:1 sur le panneau blanc. Mais à cette profondeur elle se lit
   comme de l'encre et non comme une couleur, là où le bleu de Guidance et le
   violet d'Écoute bienveillante se voient d'emblée. Celle-ci est donc éclaircie
   à teinte égale — 210° dans les deux cas — jusqu'à 6,6:1, ce qui la laisse
   franchement bleue et largement lisible. */
.precision--defunt { --precision-encre: #376182; }

/* --------------------------------------------------------------------------
   13. Encart d'appel au contact
   -------------------------------------------------------------------------- */

.appel {
  position: relative;
  overflow: hidden;
  border-radius: var(--arrondi);

  /* Largeur et rembourrage réduits sur les sept pages qui portent un encart.
     Il vivait dans deux colonnes différentes selon la page — 1120 px sur
     l'accueil, 760 px partout ailleurs — donc à taille de police égale il ne
     faisait pas du tout le même effet. Il a maintenant sa propre largeur, la
     même partout, et ne dépend plus de ce qui l'entoure. */
  width: min(720px, 100%);
  margin-inline: auto;
  padding: clamp(1.8rem, 5vw, 2.6rem) clamp(1.3rem, 4vw, 2.4rem);

  background: var(--degrade);
  color: var(--blanc);
  text-align: center;
  box-shadow: var(--ombre-levee);
}
.appel h2 { color: var(--blanc); }
.appel p { color: rgba(255, 255, 255, .92); }
.appel .bouton--trait {
  background: var(--blanc);
  border-color: transparent;
  color: var(--magenta);
}


/* --------------------------------------------------------------------------
   14. Pied de page
   -------------------------------------------------------------------------- */

.pied {
  background: var(--fond-creux);
  border-top: 1px solid var(--trait);
  padding-block: 3rem 2rem;
  font-size: .92rem;
  color: var(--encre-doux);
}

.pied__grille {
  display: grid;
  gap: 2rem;
}
@media (min-width: 760px) {
  .pied__grille { grid-template-columns: 1.4fr 1fr 1fr; gap: 3rem; }
}

.pied h3 {
  font-family: var(--texte);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--encre);
  margin-bottom: 1rem;
}

.pied__liens { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.pied__liens a { color: var(--encre-doux); text-decoration: none; }
.pied__liens a:hover { color: var(--magenta); }

.pied__bas {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--trait);
  font-size: .84rem;
  color: var(--encre-tres-doux);
  text-align: center;
}

/* --------------------------------------------------------------------------
   15. Marqueur de contenu provisoire
   --------------------------------------------------------------------------
   Tout bloc .provisoire est un texte d'attente, à remplacer par le vrai
   contenu de Maryline. Pour les retrouver tous :  grep -rn "provisoire" .
   Quand le site sera prêt, il ne doit plus rester une seule occurrence.
   -------------------------------------------------------------------------- */

.provisoire {
  position: relative;
  border-left: 3px dashed var(--rose);
  background: rgba(250, 223, 233, .3);
  border-radius: 0 var(--arrondi-doux) var(--arrondi-doux) 0;
  padding: 2.4rem 1.3rem 1.3rem;
  margin-block: 1.5rem;
}
.provisoire::before {
  content: "Texte provisoire — à remplacer";
  position: absolute;
  top: .7rem;
  left: 1.3rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--magenta);
}
.provisoire > :last-child { margin-bottom: 0; }

/* Bandeau global signalant que le site n'est pas prêt à être mis en ligne.
   À supprimer (dans les 8 pages) le jour de la mise en production. */
.bandeau-chantier {
  background: var(--encre);
  color: var(--blanc);
  text-align: center;
  font-size: .82rem;
  padding: .6rem 1.25rem;
  line-height: 1.5;
}
.bandeau-chantier strong { color: var(--peche); }

/* Rubriques masquées.

   « Nettoyage énergétique » et « Passage de vie » ont été retirés de
   l'affichage le 20 août 2026 sans que rien ne soit supprimé : les deux pages
   existent toujours, avec leurs textes, leurs visuels et leurs tarifs ; tous
   les endroits qui les nomment portent simplement cette classe. Retirer le mot
   `masque` de l'attribut `class` les fait réapparaître tels quels, et remettre
   `--colonnes:4` sur la grille des cartes de l'accueil rétablit la ligne de
   quatre. Rien d'autre n'est à défaire.

   `!important` parce que les éléments masqués ont chacun leur propre règle
   d'affichage (`.carte` est en `display: flex`), qui l'emporterait sinon. */
.masque { display: none !important; }

/* --------------------------------------------------------------------------
   16. Agenda de réservation (page Tarifs)
   --------------------------------------------------------------------------
   Le seul bloc du site qui parle au serveur. Il est entièrement construit par
   le JavaScript — voir la section 5 de assets/site.js — et n'existe donc que
   sur la page Tarifs.

   Le principe de mise en forme : **des pastilles qu'on choisit**, jamais de
   liste déroulante. Sur un téléphone, une liste déroulante ouvre un panneau
   qui cache la page, et il faut deux gestes pour voir ce qu'on peut prendre.
   Ici tout est visible d'un coup d'œil, et un doigt suffit.

   ⚠️ Les étapes 2 à 5 sont `hidden` au départ et le script les révèle une à
   une. C'est volontaire : cinq questions posées ensemble découragent, la même
   suite posée pas à pas se remplit. `[hidden]` est forcé plus bas parce que
   `fieldset` a son propre `display`, qui l'emporterait.
   -------------------------------------------------------------------------- */

.reservation[hidden],
.reservation__etape[hidden],
.reservation__repli[hidden] { display: none !important; }

.reservation {
  margin-top: 1.8rem;
}

/* Chaque étape est une carte posée sur le fond de la page. Le `fieldset` perd
   la bordure et les marges que les navigateurs lui donnent d'office. */
.reservation__etape {
  margin: 0 0 1rem;
  padding: clamp(1.1rem, 3.4vw, 1.6rem);
  border: 1px solid var(--trait);
  border-radius: var(--arrondi);
  background: rgba(255, 255, 255, .78);
  box-shadow: var(--ombre-douce);
}

.reservation__legende {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: 0;
  margin-bottom: 1rem;
  font-family: var(--titre);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--encre);
}

/* Le numéro de l'étape, dans une pastille au dégradé du site. */
.reservation__numero {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  background: var(--degrade);
  color: var(--blanc);
  font-family: var(--texte);
  font-size: .85rem;
  font-weight: 700;
}

.reservation__choix {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

/* Une pastille de choix — prestation, durée, heure. Un `button` et non un
   `input[type=radio]` : le clavier les parcourt aussi bien, et on garde la
   liberté d'y écrire deux lignes (le nom de la séance et son prix). */
.pastille {
  flex: 0 1 auto;
  padding: .7rem 1.15rem;
  border: 1px solid #d9cfd6;
  border-radius: 999px;
  background: var(--blanc);
  color: var(--encre);
  font: inherit;
  font-size: .95rem;
  line-height: 1.35;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.pastille:hover { border-color: var(--magenta); transform: translateY(-1px); }
.pastille:focus-visible { outline: 2px solid var(--magenta); outline-offset: 2px; }

/* Le choix retenu. ⚠️ Le dégradé est posé en `background-image` et la couleur
   de repli en `background-color` : si le dégradé n'était pas compris, le texte
   blanc resterait lisible sur le violet plutôt que de disparaître sur du blanc. */
.pastille[aria-pressed="true"] {
  border-color: transparent;
  background-color: var(--violet);
  background-image: var(--degrade);
  color: var(--blanc);
  box-shadow: 0 4px 14px rgba(196, 95, 196, .3);
}

.pastille__prix {
  display: block;
  margin-top: .15rem;
  font-size: .82rem;
  opacity: .78;
}

/* Les heures : une grille régulière plutôt qu'un flot, parce qu'elles font
   toutes la même largeur et qu'un flot les laisserait en escalier. */
.reservation__heures {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.2rem, 1fr));
  gap: .5rem;
}
.reservation__heures .pastille { padding: .6rem .4rem; }

/* -------------------------------- calendrier ---------------------------- */

.calendrier {
  max-width: 26rem;
  margin: 0 auto;
}

.calendrier__barre {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .9rem;
}

.calendrier__mois {
  flex: 1 1 auto;
  text-align: center;
  font-family: var(--titre);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--encre);
}

.calendrier__fleche {
  flex: 0 0 auto;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #d9cfd6;
  border-radius: 50%;
  background: var(--blanc);
  color: var(--encre);
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
}
.calendrier__fleche:hover:not(:disabled) { border-color: var(--magenta); }
.calendrier__fleche:focus-visible { outline: 2px solid var(--magenta); outline-offset: 2px; }
.calendrier__fleche:disabled { opacity: .3; cursor: default; }

.calendrier__jours,
.calendrier__grille {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: .3rem;
}

.calendrier__jours {
  margin-bottom: .35rem;
  font-size: .75rem;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
  color: var(--encre-tres-doux);
}

/* Une case du calendrier. Les cases vides du début de mois sont des `<span>`
   sans classe : elles occupent la place sans rien afficher. */
.calendrier__case {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--arrondi-doux);
  background: var(--blanc);
  color: var(--encre);
  font: inherit;
  font-size: .95rem;
  cursor: pointer;
  transition: border-color .15s ease, transform .15s ease;
}
.calendrier__case:hover { border-color: var(--magenta); transform: translateY(-1px); }
.calendrier__case:focus-visible { outline: 2px solid var(--magenta); outline-offset: 1px; }

/* Une journée sans place. Éteinte, pas retirée : une case absente déplacerait
   toutes les suivantes et le mois deviendrait illisible. */
.calendrier__case--pleine {
  background: transparent;
  color: var(--encre-tres-doux);
  cursor: default;
  opacity: .45;
}
.calendrier__case--pleine:hover { border-color: transparent; transform: none; }

.calendrier__case[aria-pressed="true"] {
  background-color: var(--violet);
  background-image: var(--degrade);
  color: var(--blanc);
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(196, 95, 196, .3);
}

/* ------------------------------ récapitulatif --------------------------- */

.reservation__recapitulatif {
  margin: 0 0 1.2rem;
  padding: .85rem 1.1rem;
  border-left: 3px solid var(--magenta);
  border-radius: var(--arrondi-doux);
  background: var(--fond-creux);
  font-size: .98rem;
  line-height: 1.55;
  color: var(--encre);
}
.reservation__recapitulatif strong { font-weight: 600; }

.reservation__champs { max-width: 26rem; }

.reservation__note {
  margin: 1rem 0 0;
  font-size: .85rem;
  line-height: 1.55;
  color: var(--encre-doux);
}

/* --------------------------------- messages ------------------------------ */

/* La zone reste dans la page même vide : un élément `aria-live` ajouté après
   coup n'est pas annoncé par tous les lecteurs d'écran. Même raison que pour
   `.formulaire__reponse` de la page Contact. */
.reservation__message {
  margin: 1.2rem 0 0;
  padding: 0;
  font-size: .95rem;
  line-height: 1.6;
}
.reservation__message:empty { display: none; }

.reservation__message--erreur,
.reservation__message--succes {
  padding: .9rem 1.15rem;
  border-radius: var(--arrondi-doux);
}
.reservation__message--erreur {
  border: 1px solid rgba(198, 40, 40, .25);
  background: #fdf1ef;
  color: #a03024;
}
.reservation__message--succes {
  border: 1px solid rgba(113, 102, 210, .25);
  background: var(--violet-pale);
  color: var(--encre);
}

.reservation__attente {
  margin: 1rem 0 0;
  font-size: .92rem;
  color: var(--encre-doux);
}

/* ---------------------------------- repli -------------------------------- */

/* Affiché tant que le script n'a pas pris la main : en `file://`, sans
   JavaScript, ou si le serveur ne répond pas. Il est dans la page dès le
   départ et c'est le script qui le retire — il n'y a donc aucun instant où la
   personne ne voit rien. */
.reservation__repli {
  margin-top: 1.8rem;
  padding: clamp(1.1rem, 3.4vw, 1.6rem);
  border: 1px dashed #d9cfd6;
  border-radius: var(--arrondi);
  background: rgba(255, 255, 255, .7);
  color: var(--encre-doux);
}
.reservation__repli p { margin: 0; }

/* L'avis de paiement de la page Tarifs, dans la rubrique du titre.

   ⚠️ Pas de dégradé en fond avec du texte blanc dessus, alors que c'est le
   réflexe sur ce site : mesuré, le blanc ne tient pas sur les deux premières
   couleurs du dégradé — 1,58:1 sur le pêche et 2,35:1 sur le rose, quand il en
   faut 4,5. La phrase commencerait lisible et s'effacerait en son milieu.

   Le dégradé est donc réduit à un filet, sur le bord gauche, où il ne porte
   aucun texte ; la phrase, elle, est en encre du site sur un fond très clair —
   10,2:1. La signature visuelle est gardée, la lisibilité aussi.

   Le fond est légèrement translucide parce que la tête de cette page est une
   photographie de nuages : un blanc plein y ferait une étiquette collée. */
.avis-paiement {
  position: relative;
  max-width: 34rem;
  margin: 1.6rem auto 0;
  padding: .9rem 1.15rem .9rem 1.5rem;
  border: 1px solid rgba(113, 102, 210, .22);
  border-radius: var(--arrondi-doux);
  background: rgba(255, 251, 248, .9);
  box-shadow: var(--ombre-douce);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--encre);
}

/* Le filet dégradé du bord gauche. En `::before` plutôt qu'en `border-left` :
   une bordure ne peut pas porter de dégradé, et `border-image` perdrait
   l'arrondi du coin. */
.avis-paiement::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  border-radius: var(--arrondi-doux) 0 0 var(--arrondi-doux);
  background: var(--degrade);
}

/* L'avis de règlement de l'étape 5, sous les champs.

   Deux tons volontairement distincts : quand il y a quelque chose à payer, le
   fond est légèrement teinté et le texte plus appuyé ; quand il n'y a rien à
   payer — le contact défunt, seul cas — la phrase reste une note ordinaire.
   L'écart de traitement est le message : la personne doit voir tout de suite
   dans lequel des deux cas elle est. */
.reservation__paiement {
  margin: 1rem 0 0;
  padding: .8rem 1rem;
  border-radius: var(--arrondi-doux);
  background: var(--fond-creux);
  font-size: .92rem;
  line-height: 1.55;
  color: var(--encre-doux);
}

.reservation__paiement--du {
  border: 1px solid rgba(113, 102, 210, .25);
  background: var(--violet-pale);
  font-weight: 600;
  color: var(--encre);          /* 8,47:1 sur ce fond — mesuré */
}

/* La zone des boutons PayPal.

   ⚠️ Les boutons eux-mêmes sont dessinés par PayPal, dans une iframe, et leur
   apparence ne se retouche pas depuis cette feuille : elle se règle par les
   options `style` passées à `paypal.Buttons()` dans assets/site.js. Ici on ne
   fait que leur ménager la place et poser la mention qui les accompagne. */
.reservation__paypal {
  max-width: 26rem;
  margin-top: 1.6rem;
}
.reservation__paypal[hidden] { display: none !important; }

/* La mention sous les boutons. Écrite en CSS et non dans le HTML : elle ne doit
   apparaître que lorsque les boutons sont là, et disparaître avec eux — un
   paragraphe écrit dans la page resterait visible pour le contact défunt, qui
   ne paie rien d'avance. */
.reservation__paypal:not(:empty)::after {
  content: "Paiement sécurisé par PayPal. Votre rendez-vous est enregistré "
           "dès le règlement reçu, et vous recevez la confirmation par "
           "courriel.";
  display: block;
  margin-top: .9rem;
  font-size: .85rem;
  line-height: 1.55;
  color: var(--encre-doux);
}

/* La fiche du rendez-vous, sur la page d'annulation.

   Même traitement que le récapitulatif de l'étape 5 de la réservation : c'est
   la même information, à l'autre bout du parcours, et il n'y a aucune raison
   qu'elle ne se présente pas de la même façon. */
.annulation__fiche {
  max-width: 34rem;
  margin: 1.6rem 0 0;
  padding: 1.1rem 1.35rem;
  border-left: 3px solid var(--magenta);
  border-radius: var(--arrondi-doux);
  background: var(--fond-creux);
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--encre);
}
.annulation__fiche[hidden] { display: none !important; }

/* Le chapitre « Règlement et annulation », au bas de l'accueil.

   ⚠️ Il vit dans `.section--rose`, dont TOUTE la taille a été réduite le 23 août
   2026 à la demande de Maryline (« diminuer la taille de toute cette partie »).
   Des paragraphes à la taille ordinaire y seraient plus gros que la liste des
   repères juste au-dessus, réglée à .95rem — d'où le calage ci-dessous.

   ⚠️ Les paragraphes ne sont pas justifiés ici, alors qu'ils le sont sur la page
   Tarifs : la règle de justification ne regarde que les enfants DIRECTS de
   `.etroit`, et ceux-ci sont dans ce bloc. C'est un effet de bord, mais il tombe
   juste — trois paragraphes courts et justifiés ouvriraient des blancs. */
.reglement {
  margin-top: clamp(2rem, 5vw, 2.8rem);
}
.reglement h2 { margin-bottom: .8rem; }
.reglement p {
  font-size: .95rem;
  line-height: 1.65;
}
.reglement .repere-seul { margin-top: 1.2rem; }

/* Une prestation pas encore ouverte, dans le choix de l'agenda — « Contact
   défunt » depuis le 30 août 2026. Le pendant, en petit, de `.carte--bientot`
   sur l'accueil et de `.en-attente` sur la page de la prestation.

   ⚠️ MÊME PRINCIPE QUE LA CARTE : le fond se grise, mais le TEXTE reste
   lisible. Le réflexe serait une `opacity` sur toute la pastille ; mesuré, le
   nom tomberait à 2,4:1. Ici le gris est le fond, et l'encre est seulement
   adoucie — 5,9:1 pour le nom, 4,9:1 pour la mention.

   ⚠️ Pas de `pointer-events: none` : le bouton porte `disabled`, ce qui suffit
   à l'écarter du clic ET du parcours au clavier, et l'annonce aux lecteurs
   d'écran. `pointer-events` ne dirait rien à personne. */
.pastille--bientot {
  background: #e9ebf0;
  border-color: #d5d8e0;
  color: #5a5470;
  cursor: default;
}
.pastille--bientot:hover {
  border-color: #d5d8e0;
  transform: none;
}
.pastille__mention {
  display: block;
  margin-top: .15rem;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #6b6480;
}

/* Une ligne de tarif dont la séance n'est pas encore ouverte — « Contact
   défunt » depuis le 30 août 2026. Le troisième et dernier endroit qui porte
   cette convention, après `.carte--bientot` (accueil) et `.en-attente` (la page
   de la prestation).

   ⚠️ LE TARIF RESTE LISIBLE. C'est bien le prix qu'aura la séance quand elle
   ouvrira, et le masquer laisserait croire qu'il n'est pas fixé. Seul le fond
   se grise. Mesuré sur #eef0f4 : le nom rend 7,2:1, le prix 6,3:1, la durée
   5,1:1 — tous au-dessus du seuil.

   ⚠️ Pas d'`opacity` sur la ligne entière : le prix tomberait à 2,3:1, et une
   ligne de tarif illisible ne vaut pas mieux qu'une ligne absente. */
.tarif--bientot {
  background: #eef0f4;
  border-color: #dcdfe7;
  box-shadow: none;
}
.tarif--bientot .tarif__nom   { color: #4e4864; }
.tarif--bientot .tarif__prix  { color: #57506d; }
.tarif--bientot .tarif__duree,
.tarif--bientot .tarif__note  { color: #605a76; }

/* La mention elle-même, à côté du nom. Elle ne prend pas le dégradé du site :
   ce n'est pas une bonne nouvelle à célébrer, c'est une information. */
.tarif__bientot {
  padding: .15rem .6rem;
  border: 1px solid #c9ccd6;
  border-radius: 999px;
  background: var(--blanc);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #5f5975;
}

/* « (facultatif) », à côté du seul champ qui l'est — le téléphone de la page
   Contact.

   ⚠️ On marque le champ FACULTATIF, et non les obligatoires. Quatre astérisques
   sur cinq champs feraient un formulaire hérissé pour dire une exception ; une
   mention sur le seul champ concerné dit la même chose sans bruit. */
.champ__option {
  font-weight: 400;
  font-size: .82rem;
  color: var(--encre-tres-doux);
}

/* La phrase sur les arrangements, sous la règle d'annulation — sa demande du
   30 août 2026 : « une autre phrase en rouge ».

   ⚠️ PAS le rouge du site. `#c62828`, celui de « Pas de connexion = pas de
   paiement », rend 5,62:1 sur le panneau blanc de la page Tarifs mais tombe à
   **4,32:1** sur le rose de l'accueil — sous le seuil de 4,5. La phrase vit aux
   deux endroits, il lui faut donc un rouge qui tienne sur les deux : `#b3261e`
   donne 6,54:1 et 5,02:1. C'est toujours un rouge franc, un cran plus sombre.

   ⚠️ Pas de fond, pas d'encadré, pas de gras. La règle juste au-dessus est déjà
   en gras et centrée ; une seconde ligne aussi appuyée ferait deux avertissements
   côte à côte, alors que celle-ci ouvre une porte au lieu d'en fermer une. Le
   rouge suffit à la faire voir. */
.arrangement {
  max-width: 46ch;
  margin: 1.1rem auto 0;
  text-align: center;
  /* ⚠️ Grossie le 30 août 2026, de .95rem à 1.1rem. Elle passe ainsi au-dessus
     du texte courant, sans atteindre la taille de la règle d'annulation
     juste au-dessus — celle-ci reste la ligne dominante. */
  font-size: 1.1rem;
  line-height: 1.55;
  color: #b3261e;
}

/* --------------------------------------------------------------------------
   17. Préférences d'accessibilité
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
