  /* ============================================================================
     Tokens du DESIGN.md v9, chapitre 4. Aucune autre teinte.
     Contrastes mesures le 27/09/2026 : brun sur lin 12,86:1, brun-doux sur lin 5,64:1,
     terracotta sur lin 7,25:1, creme sur terracotta 7,95:1, creme sur terre-fonce 11,45:1,
     brun sur caramel 4,85:1, brun sur poudre 10,85:1, brun sur sauge 11,68:1,
     creme sur vert 7,23:1.
     ============================================================================ */
  :root{
    --lin:#f4ede4;
    --creme:#fbf8f3;
    --brun:#2f2520;
    --brun-doux:#6b5a50;
    --terracotta:#863310;
    --terre-fonce:#5f230b;
    --caramel:#be875e;
    --caramel-fonce:#8d5c30;
    --poudre:#f3d6c8;
    --sauge:#dfe6d6;
    --sauge-fonce:#4f6247;
    --vert:#1f5e44;
    --nuit:#120c09;

    --f-titre:"Playfair Display",Georgia,"Times New Roman",serif;
    --f-texte:"Montserrat","Segoe UI",Arial,sans-serif;
    --ease-out:cubic-bezier(.23,1,.32,1);
    --entete:68px;
    --rail-h:3px;
    --gouttiere:clamp(18px,5vw,72px);
    --rayon:20px;
    /* Arche raccourcie le 27/09 : elle mangeait a elle seule un tiers d'ecran par saison,
       et empechait une saison fermee de tenir dans une fenetre. */
    --arche:clamp(40px,6.4vw,104px);
    /* Grain papier, chapitre 6.4 : tuile repetee, alpha plafonne a 0,06. Il se pose sur les
       fonds de section, jamais sur les cartes creme : la lecture reste nette dans les cartes. */
    --grain:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .18 0 0 0 0 .14 0 0 0 0 .12 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  }
  *,*::before,*::after{box-sizing:border-box}
  html{background:var(--lin);color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{margin:0;background:var(--lin);color:var(--brun);font-family:var(--f-texte);font-size:18px;line-height:1.75;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
  img{display:block;max-width:100%}
  h1,h2,h3,h4,p,ul,ol,figure,fieldset,address{margin:0}
  a{color:inherit}
  :focus-visible{outline:2px solid var(--terracotta);outline-offset:2px;border-radius:6px}
  /* Lien d'evitement : invisible jusqu'a ce que le clavier l'atteigne en premier */
  .evitement{position:fixed;left:12px;top:-120px;z-index:60;display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border-radius:999px;background:var(--terracotta);color:var(--creme);font-weight:600;font-size:15px;text-decoration:none}
  .evitement:focus{top:10px;outline-color:var(--brun)}
  .sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  main section[id],article[id]{scroll-margin-top:calc(var(--entete) + var(--rail-h) + 14px)}

  /* ---------- Typographie, chapitre 5 : Playfair en 400 et 500, jamais 700 ---------- */
  .surtitre{font-family:var(--f-texte);font-weight:600;font-size:12px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta)}
  .titre-heros{font-family:var(--f-titre);font-weight:400;font-size:clamp(2.9rem,6.2vw,5.6rem);line-height:1.06;letter-spacing:-.015em;color:var(--brun);text-wrap:balance}
  .titre-section{font-family:var(--f-titre);font-weight:400;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.12;color:var(--brun);text-wrap:balance}
  .titre-section em,.titre-heros em{font-style:italic;font-weight:400;color:var(--terracotta)}
  .chapeau{font-size:18px;line-height:1.75;color:var(--brun-doux);max-width:62ch}
  .titre-sous{margin-top:12px;font-size:15px;font-weight:500;line-height:1.55;color:var(--brun-doux);max-width:54ch;text-wrap:balance}
  .legende{font-family:var(--f-texte);font-weight:500;font-size:14px;line-height:1.5;color:var(--brun-doux)}

  /* ---------- Boutons : un seul appel a l'action sur la page, appeler ---------- */
  .bouton{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-family:var(--f-texte);font-weight:600;font-size:15px;line-height:1.2;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;border:1.5px solid transparent;background:var(--terracotta);color:var(--creme);transition:background-color .2s ease,border-color .2s ease,transform .16s var(--ease-out)}
  .bouton:active{transform:scale(.97);background:var(--terre-fonce)}
  @media (hover:hover) and (pointer:fine){.bouton:hover{background:var(--terre-fonce);border-color:var(--terre-fonce)}}
  .pilule{min-height:44px;padding:0 20px;font-size:14px}

  /* ---------- En-tete fixe + ligne des six segments ---------- */
  .entete{position:fixed;top:0;left:0;right:0;z-index:30;height:var(--entete);display:flex;align-items:center;gap:28px;padding:0 var(--gouttiere);background:var(--lin);border-bottom:1px solid rgba(47,37,32,.1)}
  .marque{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none;color:var(--brun);min-height:48px}
  .marque img{width:42px;height:auto}
  .marque-nom{font-family:var(--f-titre);font-weight:500;font-size:1.15rem;line-height:1.1;white-space:nowrap}
  /* Navigation multi-pages (28/09/2026). Une seule ligne de 980 a 1920 px : mesure par
     verifier.py a 980, 1024, 1100, 1180, 1280, 1366, 1440 et 1600 px. Sous 980 px, le bouton
     Menu prend le relais. La page courante porte aria-current="page" et un filet plein. */
  .nav{flex:0 1 auto;min-width:0}
  .nav-liste{display:flex;align-items:center;gap:clamp(16px,1.9vw,30px);list-style:none;margin:0;padding:0}
  .nav-liste > li{position:relative}
  .nav-lien,.nav-deroulant{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:48px;padding:0;border:0;background:none;font-family:var(--f-texte);font-weight:500;font-size:15px;line-height:1.2;text-decoration:none;color:var(--brun);white-space:nowrap;cursor:pointer}
  .nav-lien::after,.nav-deroulant::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-out)}
  .nav-deroulant::after{right:17px}
  .nav-lien[aria-current=page],.nav-deroulant.courant{color:var(--terracotta)}
  .nav-lien[aria-current=page]::after,.nav-deroulant.courant::after{transform:scaleX(1)}
  @media (hover:hover) and (pointer:fine){.nav-lien:hover::after,.nav-deroulant:hover::after{transform:scaleX(1)}}
  .chevron{flex:0 0 auto;width:8px;height:8px;margin-top:-4px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .22s var(--ease-out)}
  .nav-deroulant[aria-expanded=true] .chevron{transform:translateY(4px) rotate(-135deg)}
  /* Le sous-menu est un simple panneau de liens (motif "disclosure"), pas un role menu :
     il s'ouvre au survol, au clic et au clavier, Echap le referme. */
  .sous-menu{position:absolute;top:calc(100% - 4px);left:-18px;z-index:31;width:320px;list-style:none;margin:0;padding:8px;background:var(--creme);border:1px solid rgba(47,37,32,.14);border-radius:16px;box-shadow:0 18px 40px -22px rgba(47,37,32,.45)} /* ombre voulue : seul moyen de detacher un panneau flottant creme d'un fond lin presque identique */
  .sous-menu[hidden]{display:none}
  .sous-menu a{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 12px;border-radius:10px;text-decoration:none;color:var(--brun);font-weight:500;font-size:15px;line-height:1.3;white-space:nowrap;transition:background-color .2s ease}
  .sous-menu a small{display:block;font-size:12.5px;font-weight:500;color:var(--brun-doux);white-space:normal}
  .sous-menu a[aria-current=page]{background:var(--lin);color:var(--terracotta)}
  @media (hover:hover) and (pointer:fine){.sous-menu a:hover{background:var(--lin)}}
  .point-saison{flex:0 0 36px;display:inline-flex;gap:3px}
  .point-saison i{width:10px;height:10px;border-radius:50%;background:var(--c);border:1px solid rgba(47,37,32,.28)}

  /* Segments de saison, telephone : repere de progression, jamais seul porteur d'information
     (les six saisons sont listees en toutes lettres dans le menu et dans la page). */
  .segments{position:fixed;top:var(--entete);left:0;right:0;z-index:29;display:none;height:var(--rail-h)}
  .segments span{flex:1 1 0;background:rgba(47,37,32,.13);transition:background-color .25s ease}
  .segments span.actif{background:var(--c)}

  /* ---------- Menu telephone ---------- */
  .menu-bouton{display:none;align-items:center;gap:9px;min-height:46px;padding:0 16px 0 14px;border-radius:999px;border:1.5px solid var(--brun);background:transparent;color:var(--brun);font-family:var(--f-texte);font-weight:600;font-size:13px;line-height:1;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
  .menu-traits{position:relative;display:block;width:17px;height:11px;flex:0 0 auto}
  .menu-traits span{position:absolute;left:0;right:0;height:1.8px;background:currentColor;border-radius:2px;transition:transform .28s var(--ease-out),opacity .18s ease}
  .menu-traits span:nth-child(1){top:0}
  .menu-traits span:nth-child(2){top:50%;margin-top:-.9px}
  .menu-traits span:nth-child(3){bottom:0}
  .menu-bouton[aria-expanded=true] .menu-traits span:nth-child(1){transform:translateY(4.6px) rotate(45deg)}
  .menu-bouton[aria-expanded=true] .menu-traits span:nth-child(2){opacity:0}
  .menu-bouton[aria-expanded=true] .menu-traits span:nth-child(3){transform:translateY(-4.6px) rotate(-45deg)}
  .menu-panneau{position:fixed;left:0;right:0;top:var(--entete);bottom:0;z-index:28;display:flex;flex-direction:column;padding:10px var(--gouttiere) calc(22px + env(safe-area-inset-bottom));background:var(--lin);overflow-y:auto;overscroll-behavior:contain}
  .menu-panneau[hidden]{display:none}
  .menu-panneau ul{list-style:none;margin:0 0 18px;padding:0}
  .menu-panneau li + li{border-top:1px solid rgba(47,37,32,.1)}
  .menu-panneau li a{display:flex;align-items:center;gap:12px;min-height:52px;font-family:var(--f-titre);font-weight:400;font-size:1.22rem;line-height:1.2;text-decoration:none;color:var(--brun)}
  .menu-panneau li a .point{flex:0 0 auto;width:11px;height:11px;border-radius:50%;background:var(--c)}
  .menu-panneau li a[aria-current=page]{color:var(--terracotta)}
  .menu-panneau li a{position:relative}
  /* La pastille de la page courante se pose dans la marge : le texte reste aligne sur les autres */
  .menu-panneau li a[aria-current=page]::before{content:"";position:absolute;left:-13px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--terracotta)}
  .menu-accordeon{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:0;border:0;background:none;font-family:var(--f-titre);font-weight:400;font-size:1.22rem;line-height:1.2;color:var(--brun);cursor:pointer;text-align:left}
  .menu-accordeon.courant{color:var(--terracotta)}
  .menu-accordeon .chevron{width:10px;height:10px;margin-right:6px}
  .menu-accordeon[aria-expanded=true] .chevron{transform:translateY(4px) rotate(-135deg)}
  .menu-panneau .menu-sous{margin:0 0 8px;padding:0 0 0 18px;border-left:2px solid rgba(134,51,16,.25)}
  .menu-panneau .menu-sous li + li{border-top:0}
  .menu-panneau .menu-sous a{min-height:48px;font-family:var(--f-texte);font-weight:500;font-size:1rem}
  .menu-titre{margin:4px 0 6px;font-family:var(--f-texte);font-weight:600;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brun-doux)}
  .menu-adresse{margin-top:auto;padding-top:22px;font-size:14px;line-height:1.65;color:var(--brun-doux)}
  .menu-panneau .bouton{width:100%;margin-top:14px}
  .menu-ouvert{overflow:hidden}

  /* ---------- Rail des saisons, ecran large ----------
     Sommaire vivant colle au bord droit : la pastille active grandit et affiche son nom. */
  .rail{position:fixed;right:8px;top:50%;transform:translateY(-50%);z-index:25;display:none}
  .rail ul{list-style:none;margin:0;padding:0}
  .rail a{position:relative;display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;text-decoration:none;color:var(--brun)}
  .rail-nom{position:absolute;right:100%;pointer-events:none;font-family:var(--f-texte);font-weight:600;font-size:12px;line-height:1.2;letter-spacing:.04em;white-space:nowrap;background:var(--creme);border:1px solid var(--brun-doux);border-radius:999px;padding:5px 11px;opacity:0;transform:translateX(8px);transition:opacity .2s ease,transform .2s var(--ease-out)}
  .rail-pastille{flex:0 0 auto;width:11px;height:11px;border-radius:50%;background:var(--c);border:1px solid rgba(47,37,32,.28);transition:width .2s var(--ease-out),height .2s var(--ease-out)}
  .rail a:hover .rail-nom,.rail a:focus-visible .rail-nom,.rail li.actif .rail-nom{opacity:1;transform:none}
  .rail li.actif .rail-pastille{width:18px;height:18px}

  /* ---------- Heros ---------- */
  .site{position:relative}
  .heros{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:center;min-height:100svh;background-image:var(--grain)}
  .heros-texte{max-width:680px;margin-left:auto;padding:calc(var(--entete) + clamp(24px,5vh,56px)) clamp(24px,3.4vw,64px) clamp(28px,5vh,56px) var(--gouttiere)}
  .heros .titre-heros{margin-top:0}
  .titre-heros .surtitre{display:block;margin-bottom:18px}
  .heros-signature{display:flex;align-items:flex-start;gap:16px;margin-top:22px;max-width:60ch}
  .heros-signature img{flex:0 0 auto;width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 34%}
  .heros-signature p{font-size:17px;line-height:1.65;color:var(--brun-doux)}
  .heros-actions{margin-top:clamp(24px,4vh,34px)}
  .heros-mention{margin-top:16px;font-size:14px;line-height:1.55;color:var(--brun-doux)}
  .heros-image{position:relative;align-self:stretch;min-height:clamp(420px,92svh,1000px);overflow:hidden;background:var(--poudre);border-radius:clamp(110px,15vw,280px) 0 0 0}
  .heros-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 40%}

  /* ---------- En bref ---------- */
  .en-bref{position:relative;background:var(--creme);padding:clamp(48px,7vw,96px) var(--gouttiere);background-image:var(--grain)}
  .en-bref-interieur{max-width:940px;margin:0 auto;display:grid;gap:20px}
  .en-bref p{font-size:18px;line-height:1.75;color:var(--brun);max-width:70ch}
  .tableau-pli{margin-top:2px}
  .tableau-resume{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid rgba(47,37,32,.16);border-bottom:1px solid rgba(47,37,32,.16);font-weight:600;font-size:15px;line-height:1.45;color:var(--brun);min-height:48px}
  .tableau-resume::-webkit-details-marker{display:none}
  .tableau-resume::after{content:"";flex:0 0 auto;width:12px;height:12px;margin-top:6px;border-right:2px solid var(--terracotta);border-bottom:2px solid var(--terracotta);transform:rotate(45deg);transition:transform .25s var(--ease-out)}
  .tableau-pli[open] .tableau-resume{border-bottom:0}
  .tableau-pli[open] .tableau-resume::after{transform:rotate(-135deg)}
  @media (min-width:900px){.tableau-resume{display:none}}
  @media (max-width:899.98px){.tableau-prise caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
  .tableau-prise{width:100%;border-collapse:collapse;margin-top:6px;font-size:15.5px}
  .tableau-prise caption{text-align:left;font-family:var(--f-titre);font-weight:500;font-size:1.2rem;color:var(--brun);padding-bottom:12px}
  .tableau-prise th,.tableau-prise td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid rgba(47,37,32,.14);color:var(--brun-doux);line-height:1.55}
  .tableau-prise th{font-family:var(--f-texte);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--brun);white-space:nowrap}
  .tableau-prise td:first-child{color:var(--brun);font-weight:600}
  @media (max-width:640px){
    .tableau-prise,.tableau-prise tbody,.tableau-prise tr,.tableau-prise td{display:block;width:100%}
    .tableau-prise thead{display:none}
    .tableau-prise tr{padding:14px 0;border-bottom:1px solid rgba(47,37,32,.14)}
    .tableau-prise td{border:0;padding:2px 0}
    .tableau-prise td:last-child::before{content:"Comment y accéder : ";font-weight:600;color:var(--brun)}
  }
  .en-bref p a,.question-reponse a,.joindre-infos p a,.tableau-note a{display:inline-block;padding:12px 0;margin:-12px 0;color:var(--terracotta);font-weight:600}

  /* ---------- Les six saisons ---------- */
  .saisons-tete{padding:clamp(56px,8vw,110px) var(--gouttiere) calc(var(--arche) + clamp(24px,3vw,44px));max-width:900px;margin:0 auto;background-image:var(--grain)}
  .saisons-tete .titre-section{margin:14px 0 18px}

  /* Chaque bande porte sa couleur et monte dans la precedente par une grande arche.
     Le fond est porte par la bande elle-meme (aucune section epinglee ici). */
  .saison{position:relative;margin-top:calc(var(--arche) * -1);padding:calc(var(--arche) + clamp(28px,4vw,56px)) var(--gouttiere) calc(var(--arche) + clamp(36px,4.5vw,64px));background:var(--fond);color:var(--encre);border-radius:50% 50% 0 0 / var(--arche) var(--arche) 0 0;background-image:var(--grain)}
  .s1{--fond:var(--terracotta);--encre:var(--creme);--doux:var(--poudre);--c:#863310}
  .s2{--fond:var(--poudre);--encre:var(--brun);--doux:var(--brun-doux);--c:#f3d6c8}
  .s3{--fond:var(--sauge);--encre:var(--brun);--doux:var(--sauge-fonce);--c:#dfe6d6}
  .s4{--fond:var(--caramel);--encre:var(--brun);--doux:var(--brun);--c:#be875e}
  .s5{--fond:var(--terre-fonce);--encre:var(--creme);--doux:var(--poudre);--c:#5f230b}
  .s6{--fond:var(--vert);--encre:var(--creme);--doux:var(--sauge);--c:#1f5e44}
  .s1 :focus-visible,.s5 :focus-visible,.s6 :focus-visible{outline-color:var(--creme)}
  .saison-interieur{position:relative;max-width:1320px;margin:0 auto}
  .saison-chiffre{position:absolute;z-index:0;top:calc(var(--arche) * -.18);left:-.06em;font-family:var(--f-titre);font-weight:400;font-size:clamp(5rem,12vw,11rem);line-height:.8;color:var(--encre);opacity:.12;pointer-events:none;font-variant-numeric:lining-nums}
  /* Echelle resserree le 27/09 : le titre tient sur une ligne, la saison fermee tient dans un
     ecran. Les titres restent au-dessus de 24 px, donc au seuil de contraste de 3:1. */
  .saison-titre{font-family:var(--f-titre);font-weight:500;font-size:clamp(1.7rem,2.9vw,2.6rem);line-height:1.15;color:var(--encre);text-wrap:balance}
  .saison-reconnaissance{font-family:var(--f-titre);font-style:italic;font-weight:400;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.4;margin-top:10px;color:var(--encre)}
  .saison-vignette{overflow:hidden;border-radius:999px 999px var(--rayon) var(--rayon);background:rgba(251,248,243,.25)}
  .saison-vignette img{width:100%;height:100%;object-fit:cover}
  .saison-moi{display:flex;gap:14px;margin-top:24px;max-width:46ch}
  .saison-moi::before{content:"";flex:0 0 auto;width:2px;border-radius:2px;background:var(--encre);opacity:.45}
  .saison-moi p{font-family:var(--f-titre);font-style:italic;font-weight:400;font-size:1.06rem;line-height:1.55;color:var(--encre)}

  /* Cartes creme posees sur le champ de couleur : son procede d'affiche, et le contraste
     sort de la question (regle 4.3.5 du DESIGN). */
  .carte{background:var(--creme);color:var(--brun);border-radius:var(--rayon);padding:clamp(20px,2.4vw,32px)}
  .carte + .carte{margin-top:16px}
  .carte-titre{font-family:var(--f-titre);font-weight:500;font-size:1.4rem;line-height:1.25;color:var(--brun);text-wrap:balance}
  .etiquette{display:inline-flex;align-items:center;min-height:28px;margin-top:12px;padding:3px 13px;border-radius:999px;border:1px solid var(--brun-doux);background:var(--lin);font-size:11.5px;font-weight:600;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;color:var(--brun)}
  .accroche{font-family:var(--f-titre);font-style:italic;font-weight:400;font-size:1.1rem;line-height:1.55;margin-top:16px;color:var(--brun)}
  .liste-titre{font-weight:600;font-size:12px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);margin:20px 0 10px}
  .liste{list-style:none;padding:0;margin:0;font-size:16px;line-height:1.5;color:var(--brun)}
  .liste li{position:relative;padding-left:20px;margin-bottom:7px;break-inside:avoid}
  .liste li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--terracotta)}
  .deux-colonnes{columns:2;column-gap:28px}
  @media (max-width:760px){.deux-colonnes{columns:1}}

  /* Tarifs : une liste alignee dans une carte creme, un tarif par ligne, libelle a gauche et
     prix a droite. Les pastilles rondes du 27/09 au matin compressaient les libelles longs du
     type "Carte de 10 seances individuelles" ; la carte creme applique la regle 4.3.5.
     27/09 au soir : le flex-wrap faisait basculer le prix SOUS le libelle des que celui-ci
     devenait trop long pour la largeur d'un telephone, et la colonne des prix se brisait au
     milieu de la liste. La ligne ne se casse plus (nowrap) : c'est le LIBELLE qui passe sur
     deux lignes, le prix reste cale a droite, aligne sur la premiere ligne du libelle. */
  .carte-tarifs{margin-top:16px}
  .tarifs-liste{list-style:none;margin:10px 0 0;padding:0}
  .tarifs-liste li{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;column-gap:18px;padding:13px 0;border-top:1px solid rgba(47,37,32,.14)}
  .tarifs-liste li:first-child{border-top:0;padding-top:2px}
  .tarifs-liste li:last-child{padding-bottom:2px}
  .tarif-libelle{flex:1 1 auto;min-width:0;font-weight:500;font-size:15.5px;line-height:1.45;color:var(--brun);overflow-wrap:break-word}
  .tarif-prix{flex:0 0 auto;text-align:right;font-family:var(--f-titre);font-weight:500;font-size:1.5rem;line-height:1.1;color:var(--terracotta);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
  .tarif-mention .tarif-libelle{font-family:var(--f-titre);font-style:italic;font-weight:400;font-size:1.02rem;line-height:1.4;color:var(--brun-doux)}
  .mention{margin-top:14px;font-family:var(--f-titre);font-style:italic;font-weight:400;font-size:1.02rem;line-height:1.4;color:var(--brun-doux)}

  /* Accordeon : ferme par defaut sur telephone, ouvert et sans chevron sur ecran large */
  .saison-pli{position:relative;z-index:1;min-width:0}
  /* Le bandeau d'une saison, c'est son resume : numero, titre, phrase de reconnaissance et
     image. Il tient dans une fenetre, sur telephone comme sur ordinateur. Le corps deplie,
     lui, se deroule normalement. */
  .saison-resume{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(24px,3.4vw,64px);align-items:center;cursor:default}
  .saison-resume::-webkit-details-marker{display:none}
  .saison-intro{min-width:0}
  @media (min-width:900px){
    .saison-vignette{width:clamp(180px,19.5vw,250px);aspect-ratio:4/5;justify-self:end}
    .saison-corps{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);column-gap:clamp(28px,4vw,72px);align-items:start}
  }
  .saison-corps{margin-top:clamp(18px,2.4vw,34px)}
  .saison-chevron{display:none}

  /* ---------- Bandeau d'appel ---------- */
  .bandeau-rdv{background:var(--creme);background-image:var(--grain);padding:clamp(38px,6vw,70px) var(--gouttiere);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 28px;text-align:center}
  .bandeau-rdv p{font-family:var(--f-titre);font-weight:400;font-size:clamp(1.4rem,3vw,2rem);line-height:1.25;color:var(--brun);max-width:26ch}

  /* ---------- Bandeau de lin, respiration entre deux temps ---------- */
  .bandeau-lin{height:clamp(90px,14vw,210px);overflow:hidden}
  .bandeau-lin img{width:100%;height:100%;object-fit:cover}

  /* ---------- Mon histoire ---------- */
  .histoire{background:var(--lin);background-image:var(--grain);padding:clamp(56px,8vw,120px) var(--gouttiere)}
  .histoire-grille{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
  /* A propos : le portrait est deja en tete de page, le recit se lit seul, en colonne de lecture */
  .histoire-grille.seule{grid-template-columns:minmax(0,1fr);max-width:760px}
  .histoire-portrait{border-radius:999px 999px var(--rayon) var(--rayon);overflow:hidden;aspect-ratio:3/4;background:var(--poudre)}
  .histoire-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
  .histoire-p{font-family:var(--f-titre);font-weight:400;font-size:clamp(1.15rem,1.7vw,1.6rem);line-height:1.55;color:var(--brun);max-width:34em}
  .histoire-p + .histoire-p{margin-top:1em}
  .histoire-textes .titre-section{margin-bottom:22px}

  /* ---------- Se former, encore ---------- */
  .parcours{max-width:1160px;margin:0 auto;padding:clamp(56px,8vw,120px) var(--gouttiere)}
  .parcours-tete{max-width:44rem;margin-bottom:clamp(36px,6vw,80px)}
  .parcours-tete .titre-section{margin:14px 0 16px}
  .frise-bloc{--col-an:clamp(110px,15vw,200px);position:relative}
  .frise-ligne{position:absolute;top:10px;bottom:0;left:calc(var(--col-an) + 23px);width:2px;background:rgba(134,51,16,.16)}
  .frise-trace{position:absolute;inset:0;background:var(--terracotta);transform-origin:50% 0}
  .frise{list-style:none;margin:0;padding:0}
  .etape{position:relative;z-index:1;display:grid;grid-template-columns:var(--col-an) 48px minmax(0,1fr);align-items:start;padding-bottom:clamp(28px,4vw,54px)}
  .etape:last-child{padding-bottom:0}
  .etape-an{font-family:var(--f-titre);font-weight:400;font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1;color:var(--terracotta);text-align:right;font-variant-numeric:lining-nums}
  .etape-noeud{justify-self:center;width:16px;height:16px;margin-top:calc(clamp(2.2rem,4.2vw,3.6rem) / 2 - 8px);border-radius:50%;border:2px solid var(--terracotta);background:var(--lin);transition:background-color .3s ease}
  .etape.atteinte .etape-noeud,.statique .etape-noeud{background:var(--terracotta)}
  .etape-items{list-style:none;margin:0;padding:0}
  .etape-items li{display:flex;align-items:flex-start;gap:11px;font-size:clamp(1rem,.92rem + .4vw,1.24rem);line-height:1.45;color:var(--brun)}
  .etape-items li + li{margin-top:10px}
  .etape-items li:first-child{padding-top:calc(clamp(2.2rem,4.2vw,3.6rem) / 2 - .72em)}
  /* La couture du chapitre 3.3 : chaque formation porte la couleur de la saison qu'elle sert */
  .pastilles-saison{flex:0 0 auto;display:inline-flex;gap:4px;margin-top:.45em}
  .pastilles-saison i{width:10px;height:10px;border-radius:50%;background:var(--c);border:1px solid rgba(47,37,32,.3)}

  /* ---------- Respirer ---------- */
  .respirer{background:var(--creme);background-image:var(--grain);padding:0 0 clamp(48px,7vw,100px)}
  .respirer-bandeau{height:clamp(120px,18vw,290px);overflow:hidden}
  .respirer-bandeau img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
  .respirer-texte{max-width:44rem;margin:clamp(32px,5vw,64px) auto clamp(24px,4vw,48px);padding:0 var(--gouttiere);text-align:center}
  .respirer-texte .titre-section{margin:14px 0 18px}
  .respirer-texte .chapeau{margin:0 auto;max-width:54ch}
  .souffle{text-align:center;padding:0 var(--gouttiere)}
  .souffle-zone{position:relative;width:min(50vh,400px,80vw);aspect-ratio:1;margin:0 auto}
  .souffle-guide{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(134,51,16,.3)}
  .souffle-disque{position:absolute;inset:0;border-radius:50%;background:var(--poudre);border:1.5px solid rgba(134,51,16,.45);transform:scale(.8)}
  .souffle-logo{position:absolute;inset:0;margin:auto;width:40%;height:38.6%}
  .souffle-consigne{font-family:var(--f-titre);font-style:italic;font-weight:400;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.3;min-height:1.3em;margin:18px 0 10px;color:var(--terracotta);transition:opacity .2s ease}
  .souffle-commandes{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:18px;min-height:52px}
  .souffle-bouton{grid-column:2}
  .souffle-compteur{grid-column:3;justify-self:start;font-size:13px;font-weight:500;letter-spacing:.06em;color:var(--brun-doux);font-variant-numeric:tabular-nums}
  .statique .souffle-consigne,.statique .souffle-commandes{display:none}

  /* ---------- Me joindre ---------- */
  .joindre{background:var(--lin);background-image:var(--grain);padding-bottom:clamp(56px,8vw,120px)}
  .joindre-photo{height:clamp(150px,30vw,420px);overflow:hidden;border-radius:0 0 50% 50% / 0 0 clamp(30px,5vw,80px) clamp(30px,5vw,80px)}
  .joindre-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}
  .joindre-etapes{padding-top:clamp(8px,6vw,96px)}
  .joindre-etapes .etapes{margin-top:0}
  .joindre-grille{max-width:1200px;margin:0 auto;padding:clamp(34px,5vw,64px) var(--gouttiere) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(28px,5vw,72px);align-items:start}
  .joindre-infos > p{margin-top:16px;max-width:46ch;color:var(--brun-doux)}
  .numero{display:inline-block;margin:22px 0 18px;font-family:var(--f-titre);font-weight:400;font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1.05;letter-spacing:-.01em;color:var(--terracotta);text-decoration:none;white-space:nowrap;font-variant-numeric:lining-nums;text-underline-offset:8px}
  @media (hover:hover) and (pointer:fine){.numero:hover{text-decoration-line:underline}}
  .joindre address{font-style:normal;line-height:1.7}
  .etapes{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:13px;counter-reset:etape}
  .etapes li{min-height:34px;min-height:34px;position:relative;padding-left:46px;font-size:15.5px;line-height:1.6;color:var(--brun-doux)}
  .etapes li::before{counter-increment:etape;content:counter(etape);position:absolute;left:0;top:-2px;width:32px;height:32px;border-radius:50%;background:var(--terracotta);color:var(--creme);font-family:var(--f-titre);font-weight:500;font-size:16px;display:flex;align-items:center;justify-content:center}
  .etapes strong{color:var(--brun);font-weight:600}

  /* ---------- Questions frequentes ---------- */
  .questions{background:var(--creme);background-image:var(--grain);padding:clamp(48px,7vw,110px) var(--gouttiere)}
  .questions-interieur{max-width:940px;margin:0 auto}
  .questions-liste{margin-top:28px;border-top:1px solid rgba(47,37,32,.14)}
  .question{border-bottom:1px solid rgba(47,37,32,.14)}
  .question h3{margin:0;font-family:var(--f-titre);font-weight:500;font-size:clamp(1.1rem,2.2vw,1.42rem);line-height:1.3}
  .question summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 0;min-height:48px;color:var(--brun)}
  .question summary::-webkit-details-marker{display:none}
  .question summary::after{content:"";flex:0 0 auto;width:14px;height:14px;margin-top:8px;border-right:2px solid var(--terracotta);border-bottom:2px solid var(--terracotta);transform:rotate(45deg);transition:transform .25s var(--ease-out)}
  .question[open] summary::after{transform:rotate(-135deg)}
  .question-reponse{padding:0 0 20px;max-width:70ch;color:var(--brun-doux);font-size:16px;line-height:1.75}
  .question-reponse p + p{margin-top:12px}

  /* ---------- Recapitulatif des saisons ----------
     Six cartes en deux colonnes, chacune un vrai lien d'ancre vers sa saison : ca se suit au
     clavier, ca s'ouvre dans un nouvel onglet, et les moteurs suivent le maillage interne.
     Les images sont des vignettes de 480 px, servies en lazy, jamais les images pleines. */
  .recap{background:var(--lin);background-image:var(--grain);padding:clamp(48px,7vw,104px) var(--gouttiere)}
  .recap-interieur{max-width:1080px;margin:0 auto}
  .recap-grille{list-style:none;margin:clamp(22px,3vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(13px,1.8vw,26px)}
  .recap-carte{position:relative;display:flex;flex-direction:column;height:100%;background:var(--creme);border-radius:var(--rayon);border-top:4px solid var(--c);overflow:hidden;text-decoration:none;color:var(--brun);transition:transform .25s var(--ease-out)}
  .recap-image{display:block;height:clamp(112px,13vw,178px);overflow:hidden;background:var(--poudre)}
  .recap-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s var(--ease-out)}
  .recap-corps{position:relative;display:block;padding:clamp(13px,1.6vw,20px) clamp(14px,1.8vw,22px) clamp(15px,1.8vw,22px)}
  /* Le numero ne se superpose plus au texte. Il etait pose en filigrane en bas a droite du
     corps de carte, la ou tombe justement la phrase de reconnaissance : sur la carte 02,
     "Vous venez d'accoucher." passait par-dessus le 02. Il occupe desormais une ligne a lui,
     en haut de carte, a cote de la pastille de couleur : cette ligne ne porte aucun texte,
     la collision est donc impossible quelle que soit la longueur de la phrase ou la largeur
     de l'ecran. Il reste decoratif (aria-hidden, pale, Playfair 400) et ne porte aucune
     information : le titre la porte deja. */
  .recap-rang{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
  /* Numero purement decoratif, rendu en CSS : le titre porte deja l'information */
  .recap-chiffre::after{content:attr(data-n)}
  .recap-chiffre{flex:0 0 auto;font-family:var(--f-titre);font-weight:400;font-size:clamp(1.55rem,2.3vw,2.05rem);line-height:.86;color:var(--brun);opacity:.17;pointer-events:none;font-variant-numeric:lining-nums}
  .recap-point{flex:0 0 auto;display:block;width:11px;height:11px;border-radius:50%;background:var(--c);border:1px solid rgba(47,37,32,.28)}
  .recap-titre{position:relative;z-index:1;display:block;font-family:var(--f-titre);font-weight:500;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.22;color:var(--brun);transition:color .2s ease}
  .recap-phrase{position:relative;z-index:1;display:block;margin-top:7px;font-family:var(--f-titre);font-style:italic;font-weight:400;font-size:clamp(.94rem,1.1vw,1.06rem);line-height:1.45;color:var(--brun-doux)}
  @media (hover:hover) and (pointer:fine){
    .recap-carte:hover{transform:translateY(-3px)}
    .recap-carte:hover .recap-image img{transform:scale(1.03)}
    .recap-carte:hover .recap-titre{color:var(--terracotta)}
  }

  /* ---------- Pied de page ---------- */
  .pied{background:var(--terracotta);color:var(--creme);padding:clamp(44px,7vw,80px) var(--gouttiere) 30px}
  .pied :focus-visible{outline-color:var(--creme)}
  .pied-interieur{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px 56px;align-items:center}
  .pied-marque{display:flex;align-items:center;gap:16px}
  .pied-marque img{width:56px;height:auto;filter:invert(1)}
  .pied-nom{font-family:var(--f-titre);font-weight:500;font-size:1.45rem;line-height:1.2}
  .pied-titre{font-size:14px;color:var(--poudre)}
  .pied-coord{justify-self:end;text-align:right;font-size:15px;line-height:1.7}
  .pied-coord a{display:inline-block;padding:13px 2px;margin:-13px 0;text-underline-offset:4px;white-space:nowrap}
  .pied-maj{grid-column:1 / -1;font-size:12px;line-height:1.5;color:var(--poudre)}
  .pied-credit{grid-column:1 / -1;border-top:1px solid rgba(251,248,243,.22);padding-top:18px;margin-top:6px;font-size:12px;line-height:1.5;color:var(--poudre)}

  /* ---------- Barre d'appel ---------- */
  .barre-appel{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(251,248,243,.96);backdrop-filter:blur(8px);border-top:1px solid rgba(47,37,32,.12);transform:translateY(115%);transition:transform .3s var(--ease-out)}
  .barre-appel.visible{transform:none}
  .barre-appel .bouton{width:100%;min-height:50px;font-size:15px}

  /* Navigation repliee sous 980 px : a 900-979 px la ligne complete ne tient plus avec le nom
     en toutes lettres. La mise en page, elle, reste en deux colonnes jusqu'a 900 px. */
  @media (max-width:979.98px){
    .nav{display:none}
    .menu-bouton{display:inline-flex}
  }
  /* 980 a 1180 px : on resserre sans rien retirer, pour que tout tienne sur une ligne */
  @media (min-width:980px) and (max-width:1180px){
    .entete{gap:18px;padding:0 24px}
    .marque{gap:10px}
    .marque img{width:38px}
    .marque-nom{font-size:1.04rem}
    .nav-lien,.nav-deroulant{font-size:14.5px}
    .entete > .pilule{padding:0 16px}
  }

  /* ============================== Ecran large ============================== */
  @media (min-width:1100px){
    .rail{display:block}
  }

  /* ============================== Telephone et tablette ============================== */
  @media (max-width:899.98px){
    :root{--entete:60px;--arche:11vw}
    body{font-size:17px}
    .entete{gap:12px}
    .entete > .pilule{display:none}
    .marque img{width:34px}
    .marque-nom{font-size:1rem}
    .segments{display:flex}
    .barre-appel{display:block}
    .site{padding-bottom:76px}

    /* Heros : le bandeau reste court pour que le bouton d'appel tienne dans le pli */
    .heros{grid-template-columns:minmax(0,1fr);min-height:0}
    .heros-image{order:-1;min-height:0;height:27svh;border-radius:0 0 50% 50% / 0 0 18vw 18vw}
    .heros-image img{object-position:50% 34%}
    .heros-texte{max-width:none;margin:0;padding:22px var(--gouttiere) 30px}
    .heros .titre-heros{margin-top:0;font-size:clamp(2.1rem,9vw,2.9rem);line-height:1.1}
    .titre-heros .surtitre{margin-bottom:12px}
    .heros-signature{margin-top:16px;gap:12px}
    .heros-signature img{width:52px;height:52px}
    .heros-signature p{font-size:15.5px;line-height:1.55}
    .heros-actions{margin-top:20px}
    .heros-actions .bouton{width:100%}
    .heros-mention{margin-top:12px;font-size:13px}

    .titre-section{font-size:1.95rem;line-height:1.14}
    .chapeau{font-size:16.5px;line-height:1.65}
    .en-bref{padding:34px var(--gouttiere)}
    .en-bref p{font-size:16.5px;line-height:1.65}
    .saisons-tete{padding:38px var(--gouttiere) calc(var(--arche) + 16px)}
    .saisons-tete .titre-section{margin:10px 0 12px}

    /* Chaque saison devient un accordeon ferme : on voit les six couleurs et les six phrases
       d'un coup, on ouvre la sienne. C'est ce qui tient le budget d'ecrans. */
    .saison{padding:calc(var(--arche) + 18px) var(--gouttiere) calc(var(--arche) + 20px)}
    .saison-interieur{grid-template-columns:minmax(0,1fr);gap:0}
    .saison-chiffre{font-size:4.2rem;top:calc(var(--arche) * -.34)}
    .saison-titre{font-size:1.52rem}
    .saison-reconnaissance{font-size:1.12rem;margin-top:8px}
    /* Trois colonnes : le texte, la vignette de la saison, le chevron. Tout se voit sans
       deplier, et la bande fermee tient largement dans un ecran de telephone. */
    .saison-resume{grid-template-columns:minmax(0,1fr) 92px 16px;column-gap:12px;cursor:pointer}
    .saison-vignette{width:92px;aspect-ratio:4/5;border-radius:999px 999px 14px 14px}
    .saison-chevron{display:block;align-self:center;justify-self:end;width:12px;height:12px;margin-top:-6px;border-right:2px solid var(--encre);border-bottom:2px solid var(--encre);transform:rotate(45deg);transition:transform .28s var(--ease-out)}
    .saison-pli[open] > .saison-resume .saison-chevron{transform:rotate(-135deg)}
    .saison-moi{margin-top:18px}
    .saison-moi p{font-size:1rem}
    .carte{padding:18px 18px 20px;margin-top:16px}
    .carte-titre{font-size:1.2rem}
    .liste{font-size:15.5px}
    .tarif-prix{font-size:1.35rem}

    .bandeau-rdv{padding:26px var(--gouttiere)}
    .bandeau-rdv p{font-size:1.25rem}
    .bandeau-rdv .bouton{width:100%;max-width:420px}
    .histoire{padding:36px var(--gouttiere) 40px}
    .histoire-grille{grid-template-columns:minmax(0,1fr);gap:22px}
    .histoire-portrait{aspect-ratio:4/3;border-radius:999px 999px var(--rayon) var(--rayon)}
    .histoire-p{font-size:1.02rem;line-height:1.5}
    .parcours{padding:38px var(--gouttiere) 42px}
    .parcours-tete{margin-bottom:24px}
    .frise-bloc{--col-an:0px}
    .frise-ligne{left:15px;top:12px}
    .etape{grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;padding-bottom:14px}
    .etape-noeud{grid-column:1;grid-row:1;margin-top:7px}
    .etape-an{grid-column:2;grid-row:1;text-align:left;font-size:1.55rem}
    .etape-items{grid-column:2;grid-row:2;margin-top:6px}
    .etape-items li{font-size:1rem;line-height:1.4}
    .etape-items li:first-child{padding-top:0}
    .etape-items li + li{margin-top:7px}
    .respirer{padding-bottom:36px}
    .respirer-texte{margin:24px auto 18px}
    .respirer-texte .titre-section{margin:10px 0 12px}
    .souffle-zone{width:min(56vw,216px)}
    .souffle-consigne{font-size:1.35rem;margin:14px 0 6px}
    .joindre{padding-bottom:40px}
    .joindre-grille{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px}
    .joindre-etapes{padding-top:0}
    .joindre-infos > p{margin-top:12px}
    .numero{margin:14px 0 12px;padding:3px 0}
    .etapes{margin-top:18px;gap:10px}
    .etapes li{min-height:34px;font-size:14.5px;line-height:1.5;padding-left:42px}
    .recap{padding:36px var(--gouttiere) 40px}
    .questions{padding:36px var(--gouttiere) 40px}
    .questions-liste{margin-top:18px}
    .question summary{padding:13px 0;gap:14px}
    .question-reponse{padding-bottom:16px}
    .pied{padding:32px var(--gouttiere) 20px}
    .pied-interieur{grid-template-columns:minmax(0,1fr)}
    .pied-coord{justify-self:start;text-align:left}
  }
  /* ==========================================================================
     Pages de contenu (28/09/2026). Aucune teinte nouvelle : tokens du chapitre 4.
     ========================================================================== */

  /* ---------- Introduction de page : titre, fil d'Ariane, appel, image en arche ---------- */
  .page-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(28px,4vw,72px);max-width:1320px;margin:0 auto;padding:calc(var(--entete) + clamp(26px,4.5vw,60px)) var(--gouttiere) clamp(40px,5vw,72px)}
  .page-intro-fond{background:var(--lin);background-image:var(--grain)}
  .fil ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;list-style:none;margin:0 0 18px;padding:0;font-size:14px;font-weight:500;color:var(--brun-doux)}
  .fil li{display:inline-flex;align-items:center;gap:8px}
  .fil li + li::before{content:"";width:5px;height:5px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(-45deg)}
  .fil a{display:inline-flex;align-items:center;min-height:44px;color:var(--terracotta);text-underline-offset:3px}
  .fil [aria-current=page]{color:var(--brun)}
  .page-intro .titre-heros{margin-top:14px;font-size:clamp(2.5rem,5vw,4.6rem)}
  .page-intro .chapeau{margin-top:20px;color:var(--brun)}
  .page-intro .chapeau + .chapeau{margin-top:14px;color:var(--brun-doux)}
  .page-intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:clamp(22px,3vw,32px)}
  .page-intro-actions p{font-size:14px;line-height:1.55;color:var(--brun-doux);max-width:30ch}
  .page-intro-image{position:relative;overflow:hidden;aspect-ratio:4/5;max-height:620px;border-radius:999px 999px var(--rayon) var(--rayon);background:var(--poudre)}
  .page-intro-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .page-intro-image.rond{aspect-ratio:1;border-radius:50%;max-width:440px;justify-self:center;width:100%}

  /* ---------- Sommaire de page : les sections, avec la couleur de leur saison ---------- */
  .sommaire{margin-top:26px}
  .sommaire p{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brun-doux);margin-bottom:10px}
  .sommaire ul{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin:0;padding:0}
  .sommaire a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 13px;border-radius:999px;border:1px solid var(--brun-doux);background:var(--creme);font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;color:var(--brun);transition:border-color .2s ease,color .2s ease}
  .sommaire a i{flex:0 0 auto;width:11px;height:11px;border-radius:50%;background:var(--c);border:1px solid rgba(47,37,32,.28)}
  @media (hover:hover) and (pointer:fine){.sommaire a:hover{border-color:var(--terracotta);color:var(--terracotta)}}

  /* ---------- Tableau a trois colonnes (Kine) ---------- */
  .tableau-bloc{background:var(--creme);background-image:var(--grain);padding:clamp(40px,6vw,84px) var(--gouttiere) calc(var(--arche) + clamp(40px,5vw,72px))}
  .tableau-bloc-interieur{max-width:1080px;margin:0 auto}
  .tableau-bloc .titre-section{margin:12px 0 10px}
  .tableau-prise .prix{font-family:var(--f-titre);font-weight:500;font-size:1.08rem;color:var(--terracotta);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
  .tableau-prise td small{display:block;font-size:13.5px;color:var(--brun-doux)}
  .tableau-note{margin-top:16px;font-size:14.5px;line-height:1.6;color:var(--brun-doux);max-width:70ch}

  /* Intro suivie directement d'une bande : la place de l'arche qui remonte est reservee */
  .page-intro-fond.avec-arche .page-intro{padding-bottom:calc(var(--arche) + clamp(36px,4.5vw,64px))}
  .liste a{display:inline-block;padding:10px 0;margin:-10px 0;color:var(--terracotta);font-weight:600;text-underline-offset:3px}
  .carte-appel{margin-top:22px}

  /* ---------- Bandes de saison sur les pages de contenu : toujours depliees ---------- */
  .bande .saison-resume{cursor:default;align-items:start}
  /* Le chiffre en filigrane garde sa place AU-DESSUS du sur-titre : sur l'accueil il passe
     derriere le titre (dessin valide), mais ici il croisait les capitales du sur-titre. */
  .bande .saison-intro{padding-top:calc(clamp(5rem,12vw,11rem) * .8 - var(--arche) * .18 + 10px)}
  .bande .saison-surtitre{display:block;margin-bottom:10px;font-family:var(--f-texte);font-weight:600;font-size:12px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--encre)}
  .bande .saison-titre{font-size:clamp(1.8rem,3.2vw,2.8rem)}
  .bande-lien{margin-top:18px;font-size:15.5px;line-height:1.5}
  .bande-lien a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--encre);font-weight:600;text-underline-offset:4px}
  .bande-lien a::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(45deg)}
  .saison-corps .bande-lien{grid-column:1 / -1}

  /* Lien de pied de saison sur l'accueil : vers la page qui detaille */
  .saison-suite{margin-top:18px;font-size:15.5px;line-height:1.5}
  .saison-suite a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--encre);font-weight:600;text-underline-offset:4px}
  .saison-suite a::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(45deg)}

  /* ---------- Maillage interne : "Aller plus loin" en pied de page de contenu ---------- */
  .maillage{background:var(--lin);background-image:var(--grain);padding:clamp(44px,6vw,90px) var(--gouttiere)}
  .maillage-interieur{max-width:1080px;margin:0 auto}
  .maillage .titre-section{margin:12px 0 22px;font-size:clamp(1.9rem,3.4vw,2.8rem)}
  .maillage ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(47,37,32,.16)}
  .maillage li{border-bottom:1px solid rgba(47,37,32,.16)}
  .maillage a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 18px;min-height:64px;padding:16px 4px;text-decoration:none;color:var(--brun)}
  .maillage a > i{width:12px;height:12px;border-radius:50%;background:var(--c);border:1px solid rgba(47,37,32,.28)}
  .maillage-titre{font-family:var(--f-titre);font-weight:500;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.25;transition:color .2s ease}
  .maillage-texte{grid-column:2;font-size:15px;line-height:1.55;color:var(--brun-doux)}
  .maillage a::after{content:"";grid-column:3;grid-row:1 / span 2;width:10px;height:10px;margin-right:6px;border-right:1.8px solid var(--terracotta);border-top:1.8px solid var(--terracotta);transform:rotate(45deg);transition:transform .25s var(--ease-out)}
  @media (hover:hover) and (pointer:fine){
    .maillage a:hover .maillage-titre{color:var(--terracotta)}
    .maillage a:hover::after{transform:translateX(4px) rotate(45deg)}
  }

  /* ---------- Bande de fin, commune a toutes les pages ---------- */
  .bande-fin{background:var(--creme);background-image:var(--grain);padding:clamp(44px,6.5vw,92px) var(--gouttiere);text-align:center}
  .bande-fin .titre-section{margin-top:12px}
  .bande-fin .numero{margin:16px 0 10px}
  .bande-fin address{font-style:normal;font-size:15.5px;line-height:1.65;color:var(--brun-doux)}
  .bande-fin-lien{margin-top:14px;font-size:15.5px}
  .bande-fin-lien a{display:inline-flex;align-items:center;min-height:44px;color:var(--terracotta);font-weight:600;text-underline-offset:4px}

  /* ---------- Accueil : Qui suis-je, en trois lignes ---------- */
  .qui{background:var(--lin);background-image:var(--grain);padding:clamp(48px,7vw,104px) var(--gouttiere)}
  .qui-grille{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4.5vw,64px);align-items:center}
  .qui-portrait{width:clamp(150px,20vw,240px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--poudre)}
  .qui-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
  .qui .titre-section{margin:12px 0 16px}
  .qui-texte p.histoire-p{max-width:40em}
  .qui-lien{margin-top:18px}
  .qui-lien a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--terracotta);font-weight:600;text-underline-offset:4px}
  .qui-lien a::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(45deg)}

  /* ---------- A propos ---------- */
  .apropos-histoire .histoire-grille{align-items:start}
  .apropos-histoire .histoire-portrait{position:sticky;top:calc(var(--entete) + 28px)}
  .valeurs{background:var(--terracotta);color:var(--creme);background-image:var(--grain);padding:clamp(52px,7vw,110px) var(--gouttiere);text-align:center}
  .valeurs :focus-visible{outline-color:var(--creme)}
  .valeurs .surtitre{color:var(--poudre)}
  .valeurs-phrase{max-width:22ch;margin:16px auto 0;font-family:var(--f-titre);font-weight:400;font-size:clamp(2.1rem,5vw,4rem);line-height:1.12;text-wrap:balance}
  .valeurs-phrase em{font-style:italic}
  .valeurs-source{max-width:52ch;margin:22px auto 0;font-family:var(--f-titre);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;color:var(--poudre)}
  .titres{max-width:1160px;margin:0 auto;padding:clamp(44px,6vw,84px) var(--gouttiere) 0}
  .titres ul{display:flex;flex-wrap:wrap;gap:10px 12px;list-style:none;margin:18px 0 0;padding:0}
  .titres li{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--brun-doux);background:var(--creme);font-size:15px;font-weight:500;color:var(--brun)}

  /* ---------- Contact ---------- */
  .contact-tete{background:var(--lin);background-image:var(--grain)}
  /* Sur Contact, le numero doit tenir dans le pli d'un ordinateur 1280 x 800 : la facade est
     donc plus basse ici que dans l'ancienne section de l'accueil. */
  .contact-tete .joindre-photo{margin-top:var(--entete);height:clamp(150px,19vw,280px)}
  .joindre-infos > p.surtitre{margin-top:0;color:var(--terracotta)}
  .joindre-infos > .surtitre + .titre-section{margin-top:12px}
  .contact-tete .fil{max-width:1200px;margin:0 auto;padding:22px var(--gouttiere) 0}
  .contact-tete .fil ol{margin:0}
  .contact-tete .joindre-grille{padding-top:clamp(14px,2vw,28px);padding-bottom:clamp(48px,7vw,100px)}
  .bouton-trait{background:transparent;color:var(--terracotta);border-color:var(--terracotta)}
  @media (hover:hover) and (pointer:fine){.bouton-trait:hover{background:var(--terracotta);color:var(--creme)}}
  .bouton-trait:active{background:var(--terre-fonce);color:var(--creme)}
  .contact-carte{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px}
  .contact-carte p{font-size:14px;line-height:1.5;color:var(--brun-doux);max-width:34ch}

  /* ---------- Pied de page : navigation de secours et maillage ---------- */
  .pied-nav{grid-column:1 / -1;border-top:1px solid rgba(251,248,243,.22);padding-top:14px}
  .pied-nav ul{display:flex;flex-wrap:wrap;gap:0 26px;list-style:none;margin:0;padding:0}
  .pied-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--creme);font-size:15px;font-weight:500;text-underline-offset:4px}
  .pied-nav a[aria-current=page]{text-decoration:none;color:var(--poudre)}

  @media (max-width:899.98px){
    .page-intro{grid-template-columns:minmax(0,1fr);gap:0;padding:var(--entete) var(--gouttiere) 34px}
    .page-intro-image{order:-1;aspect-ratio:auto;height:22svh;min-height:150px;max-height:none;margin:0 calc(var(--gouttiere) * -1) 22px;border-radius:0 0 50% 50% / 0 0 14vw 14vw}
    .page-intro-image.rond{order:-1;width:150px;height:150px;min-height:0;aspect-ratio:1;margin:22px 0 20px;border-radius:50%;justify-self:start}
    .page-intro .fil ol{margin-bottom:10px}
    .page-intro .titre-heros{margin-top:10px;font-size:clamp(2rem,8.6vw,2.7rem);line-height:1.1}
    .page-intro .chapeau{margin-top:14px}
    .page-intro-actions .bouton{width:100%}
    .sommaire{margin-top:20px}
    .tableau-bloc{padding:34px var(--gouttiere) calc(var(--arche) + 30px)}
    .tableau-prise.tableau-trois td::before{content:none}
    .tableau-prise.tableau-trois td[data-label]::before{content:attr(data-label) " : ";font-weight:600;color:var(--brun)}
    .tableau-prise.tableau-trois td .prix{font-size:1.02rem}
    .bande .saison-resume{grid-template-columns:minmax(0,1fr) 92px}
    .bande .saison-intro{padding-top:calc(4.2rem * .8 - var(--arche) * .34 + 10px)}
    .bande .saison-titre{font-size:1.6rem}
    .maillage{padding:36px var(--gouttiere) 40px}
    .maillage a{gap:4px 14px;padding:14px 2px}
    .bande-fin{padding:34px var(--gouttiere) 38px}
    .qui{padding:36px var(--gouttiere) 40px}
    .qui-grille{grid-template-columns:minmax(0,1fr);gap:18px}
    .qui-portrait{width:120px}
    .apropos-histoire .histoire-portrait{position:static}
    .valeurs{padding:40px var(--gouttiere)}
    .titres{padding:36px var(--gouttiere) 0}
    .contact-tete .fil{padding-top:14px}
    .contact-carte .bouton{width:100%}
    .pied-nav ul{gap:0 20px}
  }
  /* Tres petits telephones (iPhone SE, 320 px) : seul le LIBELLE se resserre, a 14,5 px, au-
     dessus du plancher de 14 px des etiquettes du DESIGN.md. Le prix ne bouge pas. */
  @media (max-width:360px){
    /* 320 px : le nom passait sous le bouton Menu (defaut present avant le 28/09, revele par le
       controle d'en-tete de verifier.py). On resserre les espaces, jamais le nom lui-meme. */
    .entete{gap:8px}
    .marque{gap:8px;min-width:0}
    .menu-bouton{gap:7px;padding:0 11px 0 10px;letter-spacing:.06em}
    .marque-nom{font-size:.92rem}
    .tarifs-liste li{column-gap:12px}
    .tarif-libelle{font-size:14.5px}
    .tarif-mention .tarif-libelle{font-size:.98rem}
    .recap-corps{padding:12px 12px 14px}
    .recap-chiffre{font-size:1.4rem}
  }
  @media (min-width:361px) and (max-width:380px){.marque-nom{font-size:.92rem}}

  @media (prefers-reduced-motion:reduce){
    .bouton,.souffle-consigne,.barre-appel,.rail-nom,.rail-pastille{transition:none}
  }

  /* ---------- Mentions legales : colonne de lecture sobre ---------- */
  .texte-legal{padding:clamp(24px,5vw,64px) var(--gouttiere) clamp(56px,8vw,112px)}
  .texte-legal-colonne{max-width:720px;margin:0 auto}
  .texte-legal h2{font-family:var(--f-titre);font-weight:500;font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.25;color:var(--brun);margin:40px 0 12px}
  .texte-legal h2:first-child{margin-top:0}
  .texte-legal p{font-size:16px;line-height:1.7;color:var(--brun-doux);margin:0 0 10px}
  .texte-legal a{color:var(--terracotta);font-weight:600;display:inline-block;padding:10px 0;margin:-10px 0}
