/* Design de Cédric (services.html, livraison du 04/11/2026) — généré par outils/construire-css-theme.py, ne pas éditer. */
:root{
    --rose:#BE185D;
    --rose-deep:#8f1249;
    --rose-pale:#FBEAF0;
    --anthracite:#433243;
    --papier:#F8F4EF;
    --papier-2:#F1EAE1;
    --grey:#6E5D6D;
    --trait:rgba(67,50,67,.14);
    --max:1120px;
    --titre:"Work Sans", sans-serif;
    --corps:"Inter", sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--papier); color:var(--anthracite);
    font-family:var(--corps); font-weight:300; font-size:16px; line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:var(--titre); font-weight:600; margin:0 0 .5em; line-height:1.2; color:var(--anthracite);}
  p{margin:0 0 1em;}
  a{color:inherit;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
  img{max-width:100%; display:block;}
  svg{display:block;}
  .visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

  header.site{
    position:sticky; top:0; z-index:40; background:rgba(248,244,239,.94);
    backdrop-filter:blur(6px); border-bottom:1px solid var(--trait);
  }
  .nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; gap:16px;}
  .brand{display:flex; flex-direction:column; align-items:flex-start; gap:5px; text-decoration:none;}
  .brand-row{display:flex; align-items:center; gap:10px;}
  .logo-icon{width:32px; height:32px; flex-shrink:0;}
  .logo-word{display:block; width:132px; height:auto; flex-shrink:0;}
  .brand .tagline{font-family:var(--corps); font-weight:500; font-size:10px; letter-spacing:.13em; color:var(--rose-deep); text-transform:uppercase; line-height:1; padding-left:44px;}
  nav.main{display:flex; align-items:center; gap:28px;}
  nav.main a{font-size:14px; font-weight:500; text-decoration:none; color:var(--anthracite); opacity:.8;}
  nav.main a:hover{opacity:1; color:var(--rose);}
  nav.main a[aria-current="page"]{opacity:1; color:var(--rose-deep);}
  .btn{
    display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:30px;
    font-family:var(--corps); font-weight:500; font-size:14px; text-decoration:none; border:1px solid transparent;
    cursor:pointer;
  }
  .btn--primary{background:var(--rose); color:#fff;}
  .btn--primary:hover{background:var(--rose-deep);}
  .btn--outline{border-color:var(--anthracite); color:var(--anthracite);}
  .btn--outline:hover{background:var(--anthracite); color:var(--papier);}
  .btn--sm{padding:8px 16px; font-size:13px;}
  .menu-toggle{display:none; background:none; border:0; cursor:pointer; padding:6px;}
  .menu-toggle span{display:block; width:22px; height:2px; background:var(--anthracite); margin:5px 0;}
  /* Logo : fleur juste à droite du mot ; la signature, justifiée, fait exactement la largeur mot + fleur */
  .brand{display:inline-flex; flex-direction:column; align-items:flex-start; gap:6px;}
  .brand-row{justify-content:flex-start; gap:8px;}
  .logo-word{width:140px;}
  .brand .tagline{padding-left:0; min-width:100%; width:0; white-space:nowrap; font-size:8.6px; letter-spacing:.1em; text-align:justify; text-align-last:justify;}
  @media (max-width:480px){
    .nav-inner{gap:10px; padding-left:16px; padding-right:16px;}
    .nav-inner .logo-word{width:108px;}
    .nav-inner .brand-row{gap:6px;}
    .nav-inner .logo-icon{width:26px; height:26px;}
    .nav-inner .brand .tagline{font-size:7.2px; letter-spacing:.05em;}
  }

  /* En-tête foncé, couleur choisie par Carine : #433243 */
  :root{--entete:#433243;}
  header.site{background:var(--entete); border-bottom:1px solid rgba(248,244,239,.10);}
  header.site .brand .tagline{color:#F4B8D0;}
  header.site nav.main a{color:var(--papier); opacity:.82;}
  header.site nav.main a:hover{opacity:1; color:#fff;}
  header.site nav.main a[aria-current="page"]{opacity:1; color:#F4B8D0;}
  header.site .menu-toggle span{background:var(--papier);}

  /* hero */
  .page-hero{padding:56px 0 44px; position:relative; overflow:hidden;}
  .hero-deco{position:absolute; top:-36px; right:-6px; width:190px; opacity:.13; pointer-events:none;}
  .page-hero .inner{position:relative; max-width:74ch;}
  .page-hero h1{font-size:34px; max-width:18ch;}
  .page-hero .lead{font-size:17px; color:var(--grey); max-width:62ch;}

  /* bandeau intro en 3 étapes = image d'intro */
  .intro-visual{margin-top:8px; background:var(--papier-2); border:1px solid var(--trait); border-radius:22px; padding:30px 30px 26px; position:relative;}
  .intro-steps{display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:start; gap:4px;}
  .intro-step{text-align:center; text-decoration:none; color:inherit;}
  .intro-step .icon-badge{width:58px; height:58px; border-radius:50%; background:var(--papier); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; box-shadow:0 8px 18px rgba(67,50,67,.07);}
  .intro-step .icon-badge svg{width:27px; height:27px; stroke:var(--rose-deep); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .intro-step h3{font-size:14.5px; margin-bottom:4px;}
  .intro-step p{font-size:12.5px; color:var(--grey); margin:0;}
  .intro-arrow{display:flex; align-items:center; justify-content:center; color:#D9C9D7; padding-top:18px;}
  .intro-arrow svg{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round;}
  @media (max-width:700px){
    .intro-steps{grid-template-columns:1fr;}
    .intro-arrow{transform:rotate(90deg); padding:2px 0 6px;}
  }

  /* séparateur fleur */
  .flower-divider{display:flex; align-items:center; justify-content:center; gap:16px; margin:0 0 34px;}
  .flower-divider::before, .flower-divider::after{content:""; height:1px; background:var(--trait); flex:1; max-width:140px;}
  .flower-divider img{width:20px; opacity:.55;}

  /* sections de phase */
  .phase-section{padding:66px 0; border-bottom:1px solid var(--trait);}
  #comprendre.phase-section{background:var(--papier-2);}
  #adopter.phase-section{background:var(--papier);}
  #piloter.phase-section{background:var(--rose-pale); border-bottom:none;}

  .phase-title{display:flex; align-items:center; gap:16px; margin-bottom:8px;}
  .phase-num{
    font-family:var(--titre); font-weight:700; font-size:19px; color:#fff; background:var(--rose);
    width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .phase-title h2{font-size:32px; margin:0;}
  .phase-tagline{font-family:var(--titre); font-weight:600; font-size:17px; color:var(--rose-deep); margin-bottom:12px;}
  .section-head{max-width:680px; margin:0 0 40px;}
  .section-head > p{color:var(--grey); font-size:16px; margin:0;}
  .eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--rose-deep); background:var(--rose-pale); padding:6px 14px; border-radius:20px; margin-bottom:14px;}

  /* comparatif diagnostic vs processus */
  .ref-phrase{
    font-family:var(--titre); font-weight:600; font-size:20px; text-align:center; color:var(--anthracite);
    max-width:56ch; margin:0 auto 30px; line-height:1.55;
  }
  .ref-phrase span{color:var(--rose-deep);}
  .compare{background:var(--papier); border:1px solid var(--trait); border-radius:20px; padding:8px; margin-bottom:8px; box-shadow:0 10px 24px rgba(67,50,67,.05);}
  .compare-grid{display:grid; grid-template-columns:120px 1fr 1fr; gap:1px; background:var(--trait); border-radius:14px; overflow:hidden;}
  .compare-grid > div{background:var(--papier); padding:14px 16px; font-size:13.5px;}
  .compare-grid .hcell{background:var(--anthracite); color:var(--papier); font-family:var(--titre); font-weight:600; font-size:14px;}
  .compare-grid .row-label{background:var(--papier-2); color:var(--grey); font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:.04em; display:flex; align-items:center;}
  @media (max-width:760px){
    .compare-grid{grid-template-columns:1fr; }
    .compare-grid .row-label{padding-bottom:0;}
  }

  /* cartes de services, présentation linéaire avec visuel latéral */
  .service-card{
    background:var(--papier); border:1px solid var(--trait); border-radius:18px; padding:28px;
    display:grid; grid-template-columns:200px 1fr; gap:28px;
    box-shadow:0 10px 26px rgba(67,50,67,.05);
  }
  .service-card + .service-card{margin-top:22px;}
  .service-card.flip{grid-template-columns:1fr 200px;}
  .service-card.flip .service-visual{order:2;}
  .service-visual{
    align-self:start; aspect-ratio:1/1; border-radius:16px; position:relative; overflow:hidden;
    background:linear-gradient(155deg, var(--rose-pale), var(--papier-2));
    display:flex; align-items:center; justify-content:center;
  }
  .service-visual svg{width:78px; height:78px; stroke:var(--rose-deep); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
  .service-visual .corner-deco{position:absolute; width:42px; bottom:8px; right:8px; opacity:.3;}
  .service-kicker{font-family:var(--titre); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--rose-deep); display:block; margin-bottom:6px;}
  .service-card h3{font-size:21px; margin-bottom:6px;}
  .service-sub{color:var(--grey); font-size:15px; margin-bottom:18px;}
  .service-card p, .service-card li{font-size:15px;}
  .service-list{margin:0 0 16px; padding-left:0; list-style:none; display:grid; gap:8px;}
  .service-list li{padding-left:22px; position:relative;}
  .service-list li::before{content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:var(--rose);}
  .callout-box{
    background:var(--papier-2); border-left:3px solid var(--rose); border-radius:0 12px 12px 0; padding:16px 20px; margin:18px 0;
    font-style:italic; font-size:14.5px; color:var(--anthracite);
  }
  .callout-box strong{font-style:normal;}
  .service-note{font-size:13.5px; color:var(--grey); margin-top:14px; padding-top:14px; border-top:1px dashed var(--trait);}
  .service-footnote{font-size:13.5px; color:var(--grey);}

  .service-details{margin-top:2px;}
  .service-details summary{
    list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
    font-family:var(--titre); font-weight:600; font-size:13.5px; color:var(--rose-deep); padding:6px 0;
  }
  .service-details summary::-webkit-details-marker{display:none;}
  .service-details summary .chev{width:14px; height:14px; flex-shrink:0; transition:transform .25s ease;}
  .service-details[open] summary .chev{transform:rotate(180deg);}
  .service-details-body{
    display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease;
  }
  .service-details[open] .service-details-body{grid-template-rows:1fr;}
  .service-details-body-inner{overflow:hidden; min-height:0; padding-top:10px;}
  .service-details-body-inner > *:first-child{margin-top:0;}
  .service-details-body-inner .service-note:first-child,
  .service-details-body-inner > p.service-note:first-child{border-top:0; padding-top:0; margin-top:0;}

  .training-group{margin-bottom:18px;}
  .training-group h4{font-family:var(--titre); font-weight:600; font-size:14.5px; color:var(--anthracite); margin-bottom:8px;}
  .training-group .who{color:var(--grey); font-weight:400; font-size:13px;}
  table.training-table{width:100%; border-collapse:collapse; font-size:14px; margin-bottom:6px;}
  table.training-table td{padding:8px 10px; border-bottom:1px solid var(--trait);}
  table.training-table td:last-child{text-align:right; color:var(--rose-deep); font-weight:500; white-space:nowrap;}
  .training-group--humain{background:var(--papier-2); border-radius:12px; padding:14px 18px 4px;}
  .training-group--humain table.training-table td:last-child{color:var(--grey); font-weight:400;}

  #piloter .service-card{background:var(--papier);}
  .service-card[id], .discret-card[id]{scroll-margin-top:110px;}
  .service-card:target, .discret-card:target{border-color:var(--rose); box-shadow:0 0 0 3px rgba(190,24,93,.15), 0 10px 26px rgba(67,50,67,.05);}

  /* bloc sobre */
  .discret{padding:60px 0 64px; background:var(--papier);}
  .discret .section-head{margin-bottom:28px;}
  .discret-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
  .discret-card{
    border:1px solid var(--trait); border-radius:16px; padding:26px 28px; background:var(--papier);
  }
  .discret-card h3{font-size:17px; margin-bottom:8px;}
  .discret-card p{font-size:14.5px; color:var(--grey);}
  .discret-card .btn{margin-top:8px;}
  @media (max-width:760px){ .discret-grid{grid-template-columns:1fr;} }

  .cta-band{background:var(--anthracite); color:var(--papier); padding:52px 0;}
  .cta-band .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .cta-band h2{color:var(--papier); font-size:24px; margin-bottom:6px;}
  .cta-band p{color:#DCCFDA; margin:0;}

  footer{padding:36px 0; border-top:1px solid #5a465a; background:var(--anthracite); color:var(--papier);}
  .footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
  .footer-inner .brand .tagline{color:#DCCFDA;}
  footer .legal{font-size:12px; color:#B9A9B8;}

  @media (max-width:860px){
    nav.main{display:none;}
    .menu-toggle{display:block;}
    .nav-inner .btn{white-space:nowrap; padding:9px 16px; font-size:13px;}
    .page-hero h1{font-size:28px;}
    .phase-title h2{font-size:26px;}
    .service-card{grid-template-columns:1fr; padding:22px;}
    .service-card.flip{grid-template-columns:1fr;}
    .service-card.flip .service-visual{order:0;}
    .service-visual{max-width:180px;}
  }
  /* Hero : même approche que l'accueil — photo pleine hauteur jusqu'au bord droit, texte sur fond clair */
  .page-hero.hero-split{padding:72px 0 80px; min-height:540px; display:flex; align-items:center;}
  .hero-split > .wrap{width:100%;}
  .hero-split .inner{position:relative; z-index:1; max-width:min(640px, calc(52vw - 40px));}
  .hero-split h1{font-size:42px; line-height:1.15; max-width:none;}
  .hero-split h1 .kw{color:var(--anthracite); font-weight:700;}
  .hero-split h1 .kw-evo{display:block; color:var(--rose); font-weight:700;}
  .hero-split .lead{color:var(--anthracite); max-width:54ch; margin-bottom:0;}
  .hero-split h1, .hero-split .lead{padding-left:14px;}
  .hero-split .hero-photo{position:absolute; top:0; right:0; bottom:0; width:44vw;}
  .hero-split .hero-photo img{width:100%; height:100%; object-fit:cover; object-position:66% 40%; display:block;}
  .hero-split .hero-photo::before{content:""; position:absolute; inset:0 auto 0 0; width:90px; background:linear-gradient(90deg, var(--papier), rgba(248,244,239,0)); z-index:1;}
  @media (min-width:1200px){
    .hero-split .hero-photo{width:40vw;}
    .hero-split h1 .l1{white-space:nowrap;}
  }
  @media (min-width:1200px) and (max-width:1439px){
    .hero-split h1{font-size:38px;}
  }
  .intro-section{padding:44px 0 8px; border-top:1px solid var(--trait);}
  .intro-section .intro-visual{margin-top:0;}
  @media (max-width:860px){
    .page-hero.hero-split{display:block; min-height:0; padding:36px 0 0;}
    .hero-split .inner{max-width:none;}
    .hero-split h1{font-size:31px;}
    .hero-split .hero-photo{position:relative; width:auto; height:280px; margin:32px 0 0;}
    .hero-split .hero-photo::before{inset:0 0 auto 0; width:auto; height:60px; background:linear-gradient(180deg, var(--papier), rgba(248,244,239,0));}
    .intro-section{padding-top:32px;}
  }
  /* 3 piliers dans le hero : compacts, sans encadré */
  .hero-steps{margin-top:30px; padding-left:14px;}
  .hero-steps .intro-steps{display:grid; grid-template-columns:1fr 22px 1fr 22px 1fr; align-items:start; gap:0 6px;}
  .hero-steps .intro-step{display:flex; flex-direction:column; align-items:flex-start; text-align:left; text-decoration:none; color:inherit; background:none; border:0; padding:0; box-shadow:none;}
  .hero-steps .intro-step .icon-badge{width:50px; height:50px; margin:0 0 10px; border-radius:50%; background:#FBEAF0; box-shadow:none; display:flex; align-items:center; justify-content:center; transition:background-color .2s ease;}
  .hero-steps .intro-step .icon-badge svg{width:32px; height:32px; stroke:var(--rose); stroke-width:2.2; transition:stroke .2s ease;}
  .hero-steps .intro-step h3{font-size:16px; font-weight:700; margin:0 0 2px; color:var(--anthracite);}
  .hero-steps .intro-step h3 .num{color:var(--rose);}
  .hero-steps .intro-step p{font-size:13px; font-weight:500; color:var(--rose-deep); margin:0; line-height:1.4;}
  .hero-steps .intro-arrow{display:flex; align-items:center; justify-content:center; height:50px; padding:0; color:var(--rose); transform:none;}
  .hero-steps .intro-arrow svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round;}
  .page-hero.hero-split{padding:48px 0 56px; align-items:flex-start;}
  @media (max-width:860px){ .page-hero.hero-split{padding:32px 0 0;} }
  @media (max-width:700px){
    .hero-steps .intro-steps{grid-template-columns:1fr; gap:14px;}
    .hero-steps .intro-arrow{display:none;}
    .hero-steps .intro-step{display:grid; grid-template-columns:50px 1fr; column-gap:14px; align-items:center;}
    .hero-steps .intro-step .icon-badge{grid-row:1 / span 2; margin:0;}
  }

  .phase-num{width:60px; height:60px; font-size:24px;}
  .service-visual{background:#FBEAF0;}
  .service-visual svg{width:84px; height:84px; stroke:var(--rose); stroke-width:1.6;}
  .service-details-body{display:block;}
  .service-details-body-inner{overflow:visible; padding-top:4px;}
  .service-card{scroll-margin-top:110px;}
  /* Colonnes pilier (1/3) / services (2/3), cartes blanches, icônes rondes, bulles de besoins */
  .phase-layout{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:44px; align-items:start;}
  .phase-intro{position:sticky; top:110px;}
  .phase-intro .section-head{margin:0;}
  .phase-intro .phase-title h2{font-size:30px;}
  .phase-services .service-card + .service-card{margin-top:18px;}
  .service-card{
    background:#fff; border:1px solid rgba(190,24,93,.12); border-radius:16px; padding:26px 28px;
    grid-template-columns:56px minmax(0,1fr); gap:20px;
    box-shadow:0 14px 30px -18px rgba(143,18,73,.22);
  }
  .service-visual{width:56px; height:56px; aspect-ratio:auto; border-radius:50%; background:#FBEAF0;}
  .service-visual svg{width:36px; height:36px; stroke:var(--rose); stroke-width:2;}
  .service-card h3{font-size:20px;}
  .service-sub{margin-bottom:12px;}
  .callout-box{background:#FBF6F2;}
  .discret-card{background:#fff; border:1px solid rgba(190,24,93,.12); box-shadow:0 14px 30px -18px rgba(143,18,73,.22);}
  .besoins-lies{display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin:0 0 18px;}
  .besoins-label{font-size:12px; font-weight:500; color:var(--grey); margin-right:2px;}
  .besoin-bulle{
    display:inline-flex; align-items:baseline; gap:6px; padding:5px 12px; border-radius:20px; white-space:nowrap;
    background:var(--rose-pale); color:var(--rose-deep); font-size:12.5px; font-weight:500; text-decoration:none;
    transition:background-color .2s ease, color .2s ease;
  }
  .besoin-bulle .bn{font-family:var(--titre); font-weight:700; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; opacity:.8;}
  .besoin-bulle:hover{background:var(--rose); color:#fff;}
  .besoin-bulle .bn{white-space:nowrap;}
  /* Bulles compactes, sous le libellé « Répond aux besoins » */
  .besoins-lies{gap:4px 6px; margin:0 0 16px;}
  .besoins-label{flex-basis:100%; font-size:11.5px; margin:0 0 1px;}
  .besoin-bulle{padding:3px 9px; gap:5px; font-size:11.5px; line-height:1.35;}
  .besoin-bulle .bn{font-size:9.5px; letter-spacing:.05em;}
  #piloter .service-card{background:#fff;}
  .discret-card .besoins-lies{margin:4px 0 14px;}
  .discret-card{display:grid; grid-template-columns:56px minmax(0,1fr); column-gap:20px; align-content:start;}
  .discret-card > *{grid-column:2;}
  .discret-card > .btn{justify-self:start;}
  .discret-card > .service-visual{grid-column:1; grid-row:1 / span 6; align-self:start;}
  @media (max-width:860px){
    .discret-card{grid-template-columns:1fr;}
    .discret-card > *, .discret-card > .service-visual{grid-column:1; grid-row:auto;}
    .discret-card > .service-visual{margin-bottom:14px;}
  }
  @media (max-width:960px){
    .phase-layout{grid-template-columns:1fr; gap:28px;}
    .phase-intro{position:static;}
  }
  @media (max-width:860px){
    .service-card{grid-template-columns:1fr; padding:22px; gap:14px;}
    .besoin-bulle{white-space:normal;}
  }
  /* Bas de page : marque, coordonnées, liens légaux et copyright */
  .footer-inner{align-items:flex-start; gap:28px 48px;}
  .footer-coord{font-style:normal; font-size:13px; line-height:1.7; color:#DCCFDA;}
  .footer-coord strong{font-weight:500; color:var(--papier);}
  .footer-coord a, .footer-liens a{color:#DCCFDA; text-decoration:none; border-bottom:1px solid rgba(220,207,218,.35); transition:color .2s ease, border-color .2s ease;}
  .footer-coord a:hover, .footer-liens a:hover{color:#fff; border-bottom-color:#fff;}
  .footer-fin{display:grid; gap:10px; justify-items:end; text-align:right;}
  .footer-liens{display:flex; flex-wrap:wrap; gap:6px 18px; justify-content:flex-end; font-size:13px;}
  footer .legal{margin:0;}
  @media (max-width:860px){
    .footer-inner{flex-direction:column; gap:22px;}
    .footer-fin{justify-items:start; text-align:left;}
    .footer-liens{justify-content:flex-start;}
  }

  /* ——— Services : une seule liste, piliers activés indiqués sur chaque carte ——— */
  .services-tous{padding:66px 0; background:var(--papier-2); border-bottom:1px solid var(--trait);}
  .services-tous .wrap{max-width:1040px;}
  .services-tous .section-head{margin-bottom:30px;}
  .services-tous .service-card{background:#fff;}
  .legende-piliers{font-size:14px; color:var(--grey); margin:0;}
  .piliers{list-style:none; margin:0 0 12px; padding:0; display:flex; flex-wrap:wrap; align-items:center;}
  .pilier{display:inline-flex; align-items:center; gap:7px; font-family:var(--titre); font-weight:600; font-size:13px; color:var(--anthracite);}
  .pilier-ico{width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:#FBEAF0; flex-shrink:0;}
  .pilier-ico svg{width:19px; height:19px; fill:none; stroke:var(--rose); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
  /* Piliers activés par service, en étiquettes */
  .piliers--B{gap:8px;}
  .piliers--B .pilier{background:#FBEAF0; border-radius:999px; padding:3px 13px 3px 3px; color:var(--rose-deep);}
  .piliers--B .pilier-ico{background:#fff; width:26px; height:26px;}
  .piliers--B .pilier-ico svg{width:17px; height:17px;}
  .discret-card .piliers{margin-bottom:10px;}
  /* Piliers sobres (seule l'icône en rose) et priorités en contour */
  .piliers--B{gap:4px 16px; margin-bottom:8px;}
  .piliers--B .pilier{background:none; padding:0; gap:6px; font-family:var(--corps); font-weight:500; font-size:11.5px; color:var(--anthracite);}
  .piliers--B .pilier-ico{width:22px; height:22px; background:#FBEAF0;}
  .piliers--B .pilier-ico svg{width:14px; height:14px; stroke-width:2.6;}
  .besoin-bulle{background:transparent; box-shadow:inset 0 0 0 1px #E7B9CE; color:var(--rose-deep);}
  .besoin-bulle:hover{background:var(--rose); box-shadow:none; color:#fff;}
  /* Titre en premier, piliers alignés à droite sur la même ligne */
  .service-tete{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 20px; margin-bottom:6px;}
  .service-tete h3{margin:0;}
  .service-tete .piliers{margin:0 0 0 auto;}
  @media (min-width:761px){
  }
  @media (max-width:760px){
    /* Mobile : titre et icône du service sur la même ligne, puis piliers, sous-titre, priorités, description et reste du texte */
    .service-card, .discret-card{position:relative;}
    .service-card > .service-visual, .discret-card > .service-visual{position:absolute; top:20px; right:20px; width:46px; height:46px; margin:0;}
    .service-card > .service-visual svg, .discret-card > .service-visual svg{width:28px; height:28px;}
    .service-tete{display:contents;}
    .service-tete h3{padding-right:58px; min-height:46px; display:flex; align-items:center; margin:0 0 4px;}
    .service-tete .piliers{margin:2px 0 12px;}
    .service-card > div:not(.service-visual){display:flex; flex-direction:column;}
    .service-card .service-details, .service-card .service-details-body, .service-card .service-details-body-inner{display:contents;}
    .service-card > div:not(.service-visual) > *, .service-card .service-details-body-inner > *{order:10;}
    .service-card > div:not(.service-visual) .service-tete h3{order:1;}
    .service-card > div:not(.service-visual) .service-sub{order:3; margin-bottom:12px;}
    .service-card > div:not(.service-visual) .service-details-body-inner > p:first-child{order:5;}
    .service-card > div:not(.service-visual) .service-tete .piliers{order:2;}
    .service-card > div:not(.service-visual) .besoins-lies{order:4;}
    .discret-card .service-tete h3{min-height:46px;}
  }
  .training-intro{margin:2px 0 8px;}
  /* M&A : boutons WhatsApp et appel, comme le point de départ 5 de l'accueil */
  .confid-ctas{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:4px;}
  .btn-ico{width:16px; height:16px; flex-shrink:0;}
  .discret-card .confid-ctas .btn{margin-top:0;}
  .niveau-note{font-size:12.5px; color:var(--grey); margin:10px 0 0; font-style:italic;}
  .discret-card p.niveau-note{font-size:12.5px;}
  /* (ancienne section Situations particulières, fusionnée avec les services) */
  .discret .wrap{max-width:1040px;}
  .discret-grid{grid-template-columns:1fr; gap:18px;}
  .discret-card{padding:28px;}
  .service-details-body-inner > .btn{margin-top:4px;}
  .service-card p.niveau-note{font-size:13px;}
  /* Section « Parlons de vos besoins » : fond clair, pour se détacher de la liste des services (beige) */
  .parlons{padding:64px 0; background:var(--papier); border-top:1px solid var(--trait);}
  .parlons .contact-info h2, .parlons .contact-info p{margin-left:14px;}
  .parlons h2{color:var(--anthracite); margin-bottom:10px;}
  .parlons .contact-info p{color:var(--grey); font-size:15px; max-width:560px; margin-bottom:22px;}
  @media (max-width:760px){
    .parlons{padding:48px 0;}
  }
  /* Filtre par pilier depuis les étapes du hero */
  .service-card{transition:opacity .25s ease, filter .25s ease;}
  .service-details-body-inner > .service-note + .btn, .service-details-body-inner > .callout-box + .btn{margin-top:14px;}
  .contact-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:start;}
  .field input, .field select, .field textarea{width:100%; min-width:0;}
  .contact-info p{color:var(--grey); font-size:15px;}
  .contact-info .addr{
    margin-top:28px; font-size:13px; color:var(--grey); line-height:1.7;
    padding-left:14px; border-left:2px solid var(--rose);
  }
  form.contact-form{
    display:grid; gap:16px; background:#fff; border-radius:20px; padding:30px;
    border:1px solid rgba(190,24,93,.12); box-shadow:0 24px 50px -18px rgba(143,18,73,.22);
  }
  .field{display:grid; gap:6px;}
  .field label{font-size:13px; font-weight:500; color:var(--anthracite);}
  .field input, .field select, .field textarea{
    background:var(--papier); border:1px solid #E4D9CE; border-radius:10px; padding:12px 14px; color:var(--anthracite);
    font-family:var(--corps); font-size:14px; font-weight:300; transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  }
  .field input:hover, .field select:hover, .field textarea:hover{border-color:#E7B9CE;}
  .field textarea{min-height:110px; resize:vertical;}
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; background:#fff; border-color:var(--rose); box-shadow:0 0 0 3px rgba(190,24,93,.15);}
  .form-msg{font-size:13px; margin:0; color:var(--rose-deep);}
  .form-msg:empty{display:none;}
  .contact-zone [hidden]{display:none !important;}
  .form-confid{font-size:12.5px; line-height:1.55; color:var(--grey); margin:0;}
  .form-confid a{color:var(--rose-deep); text-decoration:underline; text-underline-offset:2px;}
  .champ-piege{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  .field.est-erreur input, .field.est-erreur textarea{border-color:var(--rose); background:#fff;}
  .field-err{font-size:12.5px; color:var(--rose-deep); margin:0;}
  #formSubmit[aria-busy="true"]{opacity:.7; cursor:progress;}
  .form-merci{
    background:#fff; border-radius:20px; padding:36px 30px;
    border:1px solid rgba(190,24,93,.12); box-shadow:0 24px 50px -18px rgba(143,18,73,.22);
  }
  .form-merci:focus{outline:none;}
  .form-merci h3{font-size:21px; margin:16px 0 10px; color:var(--anthracite);}
  .form-merci p{font-size:15px; color:var(--grey); margin:0 0 10px;}
  .form-merci a{color:var(--rose-deep); font-weight:500; white-space:nowrap;}
  .form-merci .btn{margin-top:14px;}
  .merci-ico{display:inline-flex; width:48px; height:48px; border-radius:50%; background:#FBEAF0; align-items:center; justify-content:center;}
  .merci-ico svg{width:24px; height:24px; fill:none; stroke:var(--rose); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;}
  @media (max-width:860px){
    .contact-grid{grid-template-columns:minmax(0,1fr); gap:32px;}
    form.contact-form{padding:22px;}
  }
  /* Formulaire de la page Services, dans la section « Parlons de vos besoins » */
  .parlons .contact-grid{align-items:start;}
  .parlons .contact-info .eyebrow + h2{margin-top:0;}
  .contact-fleur{display:block; width:200px; height:auto; margin:40px 0 0 auto; opacity:.32;}
  @media (max-width:860px){ .contact-fleur{display:none;} }
  #contact{scroll-margin-top:90px;}


  /* Menu mobile : état ouvert (câblage absent de la livraison) */
  @media (max-width:860px){
    header.site.menu-ouvert nav.main{
      display:flex; flex-direction:column; align-items:flex-start; gap:2px;
      position:absolute; left:0; right:0; top:100%;
      background:var(--entete); border-bottom:1px solid rgba(248,244,239,.10);
      padding:8px 24px 18px;
    }
    header.site.menu-ouvert nav.main a{padding:10px 0; font-size:16px;}
  }
  /* Espace client (19/10) : bouton d'en-tête (desktop), entrée du burger (mobile).
     Le btn--outline est décliné pour l'en-tête sombre, comme la livraison décline
     ses liens de nav (header.site nav.main a). */
  .nav-espace{display:none;}
  header.site .btn-espace{border-color:rgba(248,244,239,.55); color:var(--papier); padding:8px 16px; font-size:13px;} /* = .btn--sm, absent de equipe.html */
  header.site .btn-espace:hover{background:var(--papier); color:var(--entete); border-color:var(--papier);}
  @media (max-width:860px){
    header.site .btn-espace{display:none;}
    header.site.menu-ouvert nav.main .nav-espace{display:block;}
  }


  /* 3 · logo du menu (b5, fleur seule) : collé à 32 px du bord, renvoie en haut de l'accueil */
  header.site{color:var(--papier); --accent-entete:#F4B8D0;}
  header.site .nav-inner{max-width:none; padding-left:32px; padding-right:32px;}
  header.site .brand{display:flex; border-radius:6px; transition:opacity .2s ease;}
  header.site .brand .logo-icon{display:block; width:calc(42px * 430 / 380); height:42px; background-color:currentColor;
    -webkit-mask:var(--masque-flower-papier) center / contain no-repeat; mask:var(--masque-flower-papier) center / contain no-repeat; transition:background-color .25s ease;}
  header.site .brand:hover .logo-icon{background-color:var(--accent-entete);}
  header.site .brand:focus-visible{outline:2px solid var(--accent-entete); outline-offset:5px;}
  header.site .brand:active{transform:scale(.98);}
  @media (max-width:480px){ header.site .nav-inner{padding-left:16px; padding-right:16px;} }
  /* mobile : la fleur seule libère la gauche, « Parlons-en » reste collé au burger comme avant */
  @media (max-width:860px){ header.site .nav-inner > .btn--primary{margin-left:auto;} }
  /* menu (bureau) : liens et boutons +2 px ; « Parlons-en » garde sa hauteur (47 px),
     donc le bandeau reste à --entete-h et tout reste centré verticalement */
  @media (min-width:861px){
    header.site nav.main a{font-size:16px; white-space:nowrap;}
    header.site .btn-espace{font-size:15px;}
    header.site .nav-inner > .btn--primary{font-size:16px; line-height:23px;}
  }
  /* 4 · logo du pied (b2) : ordre d'origine, fleur à ses vraies proportions */
  footer .brand{border-radius:6px; transition:opacity .2s ease;}
  footer .brand .logo-icon{width:auto; height:32px; transition:transform .3s ease;}
  footer .brand:hover .logo-icon{transform:translateY(-2px);}
  footer .brand:focus-visible{outline:2px solid #F4B8D0; outline-offset:5px;}
  footer .brand:active{transform:scale(.98);}

  :root{--defile:1; --entete-h:76px;}
  @media (max-width:860px){ :root{--entete-h:71px;} }
  header.site.transparent-en-haut{
    position:fixed; top:0; left:0; right:0; -webkit-backdrop-filter:none; backdrop-filter:none;
    background:rgba(67,50,67,var(--defile));
    border-bottom-color:rgba(248,244,239,calc(var(--defile) * .10));
    color:color-mix(in srgb, var(--papier) calc(var(--defile) * 100%), var(--anthracite));
    --accent-entete:color-mix(in srgb, #F4B8D0 calc(var(--defile) * 100%), var(--rose));
  }
  header.site.transparent-en-haut.menu-ouvert{--defile:1;}
  header.site.transparent-en-haut nav.main a{color:inherit; opacity:.82; text-underline-offset:6px; transition:opacity .2s ease;}
  header.site.transparent-en-haut nav.main a:hover{color:inherit; opacity:1; text-decoration:underline; text-decoration-thickness:1px;}
  header.site.transparent-en-haut nav.main a[aria-current="page"]{opacity:1; color:var(--accent-entete);}
  header.site.transparent-en-haut .btn-espace{position:relative; isolation:isolate; color:inherit; border-color:currentColor; transition:background-color .2s ease;}
  header.site.transparent-en-haut .btn-espace::before{content:""; position:absolute; inset:-1px; z-index:-1; border-radius:inherit; pointer-events:none;
    background:rgba(248,244,239,.74); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); opacity:calc(1 - var(--defile)); transition:background-color .2s ease;}
  header.site.transparent-en-haut .btn-espace:hover{color:inherit; border-color:currentColor; background-color:color-mix(in srgb, currentColor 14%, transparent);}
  header.site.transparent-en-haut .btn-espace:hover::before{background-color:rgba(248,244,239,.95);}
  header.site.transparent-en-haut .btn:active{transform:translateY(1px);}
  header.site.transparent-en-haut .btn:focus-visible, header.site.transparent-en-haut nav.main a:focus-visible{outline:2px solid var(--rose); outline-offset:3px;}
  header.site.transparent-en-haut .menu-toggle span{background:currentColor;}
  @media (min-width:861px){ .page-hero.hero-split{padding-top:calc(var(--entete-h) + 48px); min-height:100svh; align-items:center;} }
  @media (max-width:860px){ .page-hero.hero-split{padding-top:calc(var(--entete-h) + 32px);} }

  /* 6 · fleur des sections contact (20/10) : la même partout, grande, en fond,
     en bas, à gauche du milieu (retouches du 20/10 soir) */
  #contact, #parlons{position:relative; overflow:hidden; isolation:isolate;}
  .fleur-fond{position:absolute; left:calc(50% - 120px); bottom:-60px; width:600px; max-width:none; height:auto; margin:0;
    transform:translateX(-50%); opacity:.07; z-index:-1; pointer-events:none;}
  @media (max-width:860px){ .fleur-fond{width:420px; left:calc(50% - 70px); bottom:-45px;} }

  /* Besoins dépliables (20/10) : la bulle ouvre le besoin sous sa rangée, au style des citations de l'accueil */
  button.besoin-bulle{border:0; font-family:inherit; line-height:inherit; text-align:left; align-items:center; cursor:pointer;}
  .besoin-bulle .bb-chevron{width:10px; height:10px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6;
    stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease;}
  .besoin-bulle[aria-expanded="true"]{background:var(--rose); box-shadow:none; color:#fff;}
  .besoin-bulle[aria-expanded="true"] .bb-chevron{transform:rotate(180deg);}
  .besoin-bulle:focus-visible{outline:2px solid var(--rose); outline-offset:2px;}
  .besoin-detail{flex-basis:100%; margin:6px 0 2px; padding:2px 0 2px 14px; border-left:2px solid var(--rose);
    color:var(--anthracite); font-size:14.5px; line-height:1.5;}

  .hero-split .hero-photo img{object-position:44% 40%;}


/* Images utilisées en masque CSS (assets/flower_papier.png),
   intégrées ici pour que le logo s'affiche aussi en ouvrant la page d'un double-clic.
   Pour changer une de ces images : remplacer le fichier dans assets/ et le signaler. */
:root{
  --masque-flower-papier:url(../flower_papier.png);
}


  :root{--masque-logo-metamorphia-mot:url(../logo-metamorphia-mot.png);}
  /* Logo complet dans l'en-tête (mot + fleur + tagline), sur toutes les pages — ajout Cédric 22/10.
     Le logo prend la couleur du texte de l'en-tête (foncé sur fond clair, clair sur fond prune). */
  header.site .brand{flex-direction:column; align-items:flex-start; gap:6px;}
  header.site .brand .brand-row{display:flex; align-items:center; gap:8px;}
  header.site .brand .logo-mot{display:block; width:140px; aspect-ratio:1400 / 419; flex-shrink:0; background-color:currentColor;
    -webkit-mask:var(--masque-logo-metamorphia-mot) center / contain no-repeat; mask:var(--masque-logo-metamorphia-mot) center / contain no-repeat; transition:background-color .25s ease;}
  header.site .brand .logo-icon{width:auto; height:34px; aspect-ratio:430 / 380;}
  header.site .brand .tagline{display:block; padding-left:0; min-width:100%; width:0; white-space:nowrap; font-size:8.6px; letter-spacing:.1em; line-height:1;
    text-align:justify; text-align-last:justify; color:var(--accent-entete, #F4B8D0); transition:color .25s ease;}
  header.site .brand:hover .logo-mot{background-color:var(--accent-entete, #F4B8D0);}
  @media (max-width:860px){
    header.site .brand .logo-mot{width:108px;}
    header.site .brand .brand-row{gap:6px;}
    header.site .brand .logo-icon{height:27px;}
    header.site .brand .tagline{font-size:7.2px; letter-spacing:.05em;}
  }
  /* En-tête aligné sur la colonne de contenu (le fond reste sur toute la largeur) — ajout Cédric 22/10 */
  header.site .nav-inner{max-width:var(--max); margin:0 auto; padding-left:24px; padding-right:24px;}
  @media (max-width:860px){ header.site .nav-inner{padding-left:16px; padding-right:16px;} }
  /* En-tête foncé en permanence (comme les pages légales) : il n'est plus superposé au hero — ajout Cédric 22/10 */
  @media (min-width:861px){ .page-hero.hero-split{padding-top:48px; min-height:calc(100svh - var(--entete-h));} }
  @media (max-width:860px){ .page-hero.hero-split{padding-top:32px;} }
  /* Textes du hero alignés en haut, à la même hauteur sur l'accueil, les services et l'équipe — ajout Cédric 22/10 */
  @media (min-width:861px){ .page-hero.hero-split{align-items:flex-start; padding-top:110px;} }
  /* Hero à la hauteur de son contenu (plus de plein écran) : la section suivante apparaît en bas de l'écran — ajout Cédric 22/10 */
  @media (min-width:861px){ .page-hero.hero-split{min-height:0; padding-top:72px; padding-bottom:72px;} }
  /* Bouton « Contact » de l'en-tête : même hauteur et même taille de texte que les autres boutons du site — ajout Cédric 22/10 */
  header.site .nav-inner > .btn--primary{padding:11px 22px; font-size:14px; line-height:1.65;}
  /* Liste des services alignée sur le hero : bulle sur la bulle « Notre méthode », texte et cartes sur le texte du hero — ajout Cédric 22/10 */
  .services-tous .wrap{max-width:var(--max);}
  @media (min-width:861px){
    .services-tous .legende-piliers, .services-tous .service-card{margin-left:14px;}
  }
  /* Formations : deux parties (CEPOM et Feprabel / Autres formations), volets en dessous — ajout Cédric 03/11 */
  .training-part + .training-part{margin-top:26px;}
  .training-part-titre{display:flex; align-items:center; gap:12px; font-family:var(--titre); font-weight:600; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--rose-deep); margin:0 0 14px;}
  .training-part-titre::after{content:""; flex:1; height:1px; background:var(--trait);}
  .training-group h5{font-family:var(--titre); font-weight:600; font-size:14.5px; color:var(--anthracite); margin:0 0 8px;}
  /* Formations : les phrases d'explication s'arrêtent avant la colonne des points FSMA — ajout Cédric 03/11 */
  .training-group .service-footnote{padding-right:120px;}
  @media (max-width:760px){ .training-group .service-footnote{padding-right:100px;} }
  /* CAP MetamorphIA : mention de l'abonnement au-dessus de la liste — ajout Cédric 03/11 */
  .cap-abonnement{font-size:15px; margin:0 0 10px; color:var(--anthracite);}
  /* Fleur de fond du formulaire : en filigrane ton sur ton dans le sable, à gauche (plus derrière le formulaire), retirée sur mobile — ajout Cédric 03/11 */
  .fleur-fond{position:static; display:block; width:min(360px, 100%); height:auto; margin:40px 0 0; left:auto; bottom:auto; opacity:.2; transform:none;}
  #contact .contact-info p:last-of-type{margin-bottom:0;}
  @media (max-width:860px){ .fleur-fond{display:none;} }
  /* Smartphone : espacements resserrés après la photo du hero et avant le formulaire ; légende alignée sur le texte des cartes — ajout Cédric 04/11 */
  @media (max-width:860px){
    .services-tous{padding-top:32px;}
    .services-tous .legende-piliers{padding-left:23px;}
    .services-tous .section-head{margin-bottom:14px;}
    .parlons .contact-grid{gap:20px;}
    .parlons .contact-info p{margin-bottom:0;}
  }
  /* Smartphone : rythme vertical commun à toutes les pages — 32 px en haut et en bas de chaque section — ajout Cédric 04/11 */
  @media (max-width:860px){
    .hero, .page-hero.hero-split{padding-top:32px;}
    #niveaux, #equipe.section, #contact, .services-tous, .parlons, .legal-page{padding-top:32px; padding-bottom:32px;}
    .experts-section .experts{padding-top:32px; padding-bottom:32px;}
    .legal-page .wrap > :last-child{margin-bottom:0;}
  }
